Project
References
Your requirements identification for the project will be largely driven by the overall goals, along with the reading of some background papers. See below for an annotated list of the reading.
General
- All About Redistricting. Contains a state-by-state listing of party in control and approach to redistricting.
- US Supreme Court Blog for Louisiana v. Callais. Contains links to many documents of interest in the project.
Data Formats
- Shapefile - https://en.wikipedia.org/wiki/Shapefile - geospatial vector data format developed and regulated by ESRI
- GeoJSON - https://en.wikipedia.org/wiki/GeoJSON
- Coordinate systems -
You can search for information on specific coordinate systems in epsg.io.
Sources of Data
- MGGG (Metric Geometry and Gerrymandering Group) - Contains lots of relevant data.
- DATA-USA contains government data, including political data.
- The Open Elections Project
- US Census Bureau
- IPUMS - A source for worldwide census data that includes US Census data.
- Voting Districts - US Census description of US voting districts
- Data.gov is a US Government resource that provides access to lots of useful data, including boundary data for Congressional districts.
- The National Historical GIS (NHGIS)
contains summary statistics and GIS files for
U.S. censuses and other nationwide surveys from 1790 through the present.
It also contains state boundary data.
UML
- Alan Holub's UML Quick Reference.
- An excellent collaborative tool for UML modeling is Lucidchart.
- UML editor - Visual Paradigm (Community Edition). Visual Paradigm is available as a free download. You can also download a PDF of the VPUML documentation.
- UML diagram examples - class and sequence diagrams.
Coding Support
- Google JavaScript Style Guide
Analysis/Libraries/Tools
- You might consider developing your Web GUI using a tool such as Bootstrap.
- QGIS - Free and Open Source Geographic Information System
- Fiona - Python library for reading and writing geographic files.
- Shapely - Python library for geometric calculations
- GeoPandas - an open source project to make working with geospatial data in Python easier
- PYSAL - Python
Spatial Analysis Library
- PROJ - a generic coordinate transformation software that transforms geospatial coordinates from one coordinate reference system to another.
The Python interface to PROJ is pyproj.
- JTS Topology Suite - an excellent Java library that can be used for geographic calculations and manipulations.
- Leaflet mapping library
- You may find the 21 day free trial to ArcGIS Pro useful.
- Mapshaper - video describing a useful tool for correcting data in geometric files (e.g., non-adjacent boundary data).
Algorithms
- When Boundaries Collide: Constructing a National Database of Demographic and Voting Statistics, Brian Amos, Michael McDonald, and Russell Watkins, Public Opinion Quarterly, Vol. 81, Special Issue, 2017, pp. 385-400. The paper provides a clear description of the issues involved in mapping census data to precincts.