Population Distribution Workflow using Census API in Jupyter Notebook: Dynamic Map of Census Tracts in Boone County, KY, 2000

Resource Type
Dataset : aggregate data, census/enumeration data, geographic information system (GIS) data, images: photographs, drawings, graphical representations, program source code
  • Goodman, Cooper (Texas A&M University)
  • Rosenheim, Nathanael (Texas A&M University)
  • Day, Wayne (Texas A&M University)
  • Gu, Donghwan (Texas A&M University)
  • Korukonda, Jayasaree (Texas A&M University)
Publication Date
Funding Reference
  • National Institute for Standards and Technology
    • Award Number: 70NANB15H044
  • National Institute for Standards and Technology
    • Award Number: 70NANB20H008
  • Texas A&M University Department of Landscape Architecture and Urban Planning
  • Hazard Reduction and Recovery Center at Texas A&M University
Free Keywords
census data; API; google colaboratory; google colab; population density; population distribution; jupyter notebook; US Census API; CensusAPI; Census API
  • Abstract

    This archive reproduces a figure titled "Figure 3.2 Boone County population distribution" from Wang and vom Hofe (2007, p.60). The archive provides a Jupyter Notebook that uses Python and can be run in Google Colaboratory. The workflow uses the Census API to retrieve data, reproduce the figure, and ensure reproducibility for anyone accessing this archive.

    The Python code was developed in Google Colaboratory, or Google Colab for short, which is an Integrated Development Environment (IDE) of JupyterLab and streamlines package installation, code collaboration, and management. The Census API is used to obtain population counts from the 2000 Decennial Census (Summary File 1, 100% data). Shapefiles are downloaded from the TIGER/Line FTP Server. All downloaded data are maintained in the notebook's temporary working directory while in use. The data and shapefiles are stored separately with this archive. The final map is also stored as an HTML file.

    The notebook features extensive explanations, comments, code snippets, and code output. The notebook can be viewed in a PDF format or downloaded and opened in Google Colab. References to external resources are also provided for the various functional components.

    The notebook features code that performs the following functions:

    • install/import necessary Python packages
    • download the Census Tract shapefile from the TIGER/Line FTP Server
    • download Census data via CensusAPI
    • manipulate Census tabular data
    • merge Census data with TIGER/Line shapefile
    • apply a coordinate reference system
    • calculate land area and population density
    • map and export the map to HTML
    • export the map to ESRI shapefile
    • export the table to CSV

    The notebook can be modified to perform the same operations for any county in the United States by changing the State and County FIPS code parameters for the TIGER/Line shapefile and Census API downloads. The notebook can be adapted for use in other environments (i.e., Jupyter Notebook) as well as reading and writing files to a local or shared drive, or cloud drive (i.e., Google Drive).
Temporal Coverage
  • 2000-01-01 / 2000-12-31
    Time Period: Sat Jan 01 00:00:00 EST 2000--Sun Dec 31 00:00:00 EST 2000
Geographic Coverage
  • Census Tracts in Boone County, Kentucky
Sampled Universe
For Population: All Persons. Smallest Geographic Unit: Census Tract
Collection Mode
  • Python Environment Information

    Python Version 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0]
    requests version: 2.23.0
    pandas version: 1.0.5
    geopandas version: 0.8.1
    folium version: 0.8.3

This study is freely available to the general public via web download.
  • Is version of
    DOI: 10.3886/E120382
  • Goodman, Cooper, Nathanael Rosenheim, Wayne Day, Donghwan Gu, and Jayasaree Korukonda. “CensusAPI_PopulationDistributionMap_2020-07-30.Ipynb,” July 30, 2020. https://github.com/c-goodman/PlanningMethods/blob/master/CensusAPI_PopulationDistributionMap_2020_07_31.ipynb.
    • ID: https://github.com/c-goodman/PlanningMethods/blob/master/CensusAPI_PopulationDistributionMap_2020_07_31.ipynb (URL)
  • Wang, Xinhao, and Rainer vom Hofe. Research Methods in Urban and Regional Planning. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007. https://doi.org/10.1007/978-3-540-49658-8.
    • ID: 10.1007/978-3-540-49658-8 (DOI)

Update Metadata: 2020-08-01 | Issue Number: 1 | Registration Date: 2020-08-01