A resuable app with the boilerplate necessary for getting TIGER/LINE data into a GeoDjango project.
This app is intended to make it easier to add TIGER/Line data to a GeoDjango project and save people from writing this same code over and over (collectively).
It is not (yet) exhaustive, it’s just what I had and have needed in the past. If you have models / load scripts for other data in the set, please fork/add and send me a pull request if you add other shapefiles. If you come up with useful manager methods, I’d love to see those too.
- NOTE: If you need cities, the best source for that is the US National Atlas. I have an app for those at https://github.com/adamfast/usgsdata-citiesx020
It’s been tested and used with Django 1.10 and PostGIS + PostgreSQL.
Download the 2016 Tigerline files for all zipcodes, all states, and all counties
- States (and Territories) - ftp://ftp2.census.gov/geo/tiger/TIGER2016/STATE/tl_2016_us_state.zip
- Counties (for all States / Territories - ftp://ftp2.census.gov/geo/tiger/TIGER2016/COUNTY/tl_2016_us_county.zip
- Zipcode Tabulation Areas (for all States / Territories, these are NOT actual zip codes which describe specific mail routes) - ftp://ftp2.census.gov/geo/tiger/TIGER2016/ZCTA5/tl_2016_us_zcta510.zip
Unzip the files
Configure django.contrib.gis as described in the django docs.
Add “django.contrib.gis” and “tigerline” to INSTALLED_APPS
python manage.py migrate which will run the migrations and make sure database tables are created.
If you want to import all three:
python manage.py load_tigerline --path=~/Path/to/shapefiles
Or there are individual management commands if you only need one set:
python manage.py load_counties --path=~/Path/to/shapefiles
python manage.py load_states --path=~/Path/to/shapefiles
python manage.py load_zipcodes --path=~/Path/to/shapefiles