A powerful tool that combines census tract data with demographic information and legislative districts to create rich, insightful geospatial visualizations.
Census Map Maker helps you create detailed visualizations by merging:
- Census tract boundaries
- Demographic data from the American Community Survey (ACS)
- Legislative district boundaries (senate, house, etc.)
This allows for powerful analysis of population distribution, demographic patterns, and how they relate to electoral districts.
- Add support for multiple demographic files at once
- Add more configuration options
Download from the U.S. Census Bureau:
- URL: https://www.census.gov/cgi-bin/geo/shapefiles/index.php
- Select the year of data you need
- Choose "Census Tracts" as the layer type
- Select your state of interest
- Save as
CENSUS_TRACTS.zipin thedata/preparefolder
Download from the Census Bureau's data portal:
- URL: https://data.census.gov/table/ACSDP5Y2022.DP05?q=Age+and+Sex
- Important: Use the same year as your Census Tract data
- Must use a 5-year ACS (American Community Survey) dataset
- Configuration steps:
- Under "Geos" select: Census Tracts → [YOUR STATE] → "All Census Tracts within [STATE]"
- Click "More Tools" → "ZIP"
- Find the "ACS 5-Year Estimates Data Profiles" row
- Select the column matching your year
- Save as
DEMOGRAPHICS.csvin thedata/preparefolder
- Source varies by state (typically from state redistricting commission or secretary of state)
- Example for Florida: https://www.flsenate.gov/Session/Redistricting/MapsAndStats
- Save as
DISTRICTS.jsonin thedata/startfolder
data/
├── prepare/ # Place input files here
│ ├── CENSUS_TRACTS.zip
│ └── DEMOGRAPHICS.csv
├── start/ # District data and processed files
│ └── DISTRICTS.json
└── examples/ # Reference data samples
Run the data preparation script:
pnpm prepareThis will:
- Extract and process census tract boundaries
- Merge demographic data with census tracts
- Generate
POPULATED_CENSUS_TRACTS.json
Note: The script may report that 1-2 records couldn't be joined. This is normal and usually refers to CSV headers that can be safely ignored.
Run the main processing script:
pnpm startThis script will:
- Merge the populated census tracts with district boundaries
- Generate the final GeoJSON output file
Note: This process may take some time depending on the amount of polygon coordinates in your data.
The repository includes example data in the /data/examples folder to help you understand the expected format and structure of input and output files.
Once processing is complete, you can visualize the resulting GeoJSON using Mapshaper.org
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.