Represent Boundaries is a web API to geographic areas, like electoral districts. It allows you to easily find the areas that cover your users' locations to display location-based information, like profiles of electoral candidates.
It's a Django app that's easy to integrate into an existing project or to deploy on its own. It uses a simple file format to control how data is loaded into the API, and it provides a command-line tool to easily manage data.
Notable uses include:
- Represent helps people find the elected officials and electoral districts for any Canadian address or postal code, at any level of government.
- OpenStates.org allows anyone to discover more about lawmaking in their state and uses Represent Boundaries to help them find their state legislators.
- GovTrack.us helps track the activities of the United States Congress and uses Represent Boundaries to help people find their members of Congress.
- ANCFinder.org helps Washington, DC residents discover and participate in their Advisory Neighborhood Commissions.
Public instances include:
- represent.opennorth.ca for Canada: source code and data files
- gis.govtrack.us for the US: source code
createdb represent_boundaries_test psql represent_boundaries_test -c 'CREATE EXTENSION postgis;' env DJANGO_SETTINGS_MODULE=settings django-admin migrate --noinput python runtests.py
- Run env PYTHONPATH=. DJANGO_SETTINGS_MODULE=settings django-admin makemigrations
- Run env PYTHONPATH=. DJANGO_SETTINGS_MODULE=settings django-admin makemessages -l en && django-admin compilemessages
- Update the version number in setup.py and loadshapefiles.py
- Update the release date in CHANGELOG.md
- Tag the release: git tag -a x.x.x -m 'x.x.x release.'
- Push the tag: git push --follow-tags
Represent Boundaries is based on the Chicago Tribune's django-boundaryservice.
Released under the MIT license