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
Represent Boundaries is one of many Poplus Components: independent pieces of software developed to solve a range of common problems encountered when building civic and democratic websites. Check out the other components.
Represent Boundaries should work in a Django 1.4 project. However, Django 1.4 has poor encoding support for shapefiles.
createdb travis_ci_test
psql travis_ci_test -c 'CREATE EXTENSION postgis;'
django-admin.py syncdb --settings settings --noinput
python runtests.py
Represent Boundaries is based on the Chicago Tribune's django-boundaryservice.
This project's main repository is on GitHub: http://github.com/opennorth/represent-boundaries, where your contributions, forks, bug reports, feature requests, and feedback are greatly welcomed.
Released under the MIT license