A resuable app with the boilerplate necessary for getting TIGER/LINE data into a GeoDjango project.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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

run `python manage.py migrate` which will run the migrations and make sure database tables are created.

If you want to import all three:
run `python manage.py load_tigerline --path=~/Path/to/shapefiles`

Or there are individual management commands if you only need one set:
run `python manage.py load_counties --path=~/Path/to/shapefiles`
run `python manage.py load_states --path=~/Path/to/shapefiles`
run `python manage.py load_zipcodes --path=~/Path/to/shapefiles`