Web-based spatial analysis tool for Metropolitan Planning Organization (MPO) project applications.
Applicants draw proposed projects on an interactive map. The tool analyzes those projects against configured regional planning datasets and generates a PDF report.
This is the reusable, configurable version of a tool originally developed for Memphis MPO's RTP 2055 project applications. It includes sample data and can be adapted to another region through configuration files.
Read the case study for the application workflow, results, and choices behind the tool.
Open the live demo — runs in your browser, with no account or installation required. Use a desktop browser.
Or run it locally:
- Download or clone this repository.
- Open a terminal in the project folder.
- Run
python -m http.server 5000. - Open
http://localhost:5000. - Draw a line or point on the map.
- Review the automatic analysis results.
- Click
Download PDF Report.
The demo uses Memphis MPO sample data.
| Goal | Use This |
|---|---|
| See what the tool does | Follow Try the Demo above |
| Adapt it for your MPO | Read GUIDE.md |
| Choose an analysis method | Read ANALYSIS_METHODS.md |
| Understand code/test expectations | Read CLAUDE.md and docs/developer/testing.md |
| Review release history | Read CHANGELOG.md |
- Applicant draws a project alignment or location.
- Configured datasets load in the browser.
- Spatial analysis runs automatically.
- A PDF report is generated with the map, analysis results, and data tables.
- The applicant attaches the PDF to the project application.
No GIS expertise is required for applicants. GIS and configuration work happens during setup.
- Client-side only: no backend server, database, or API required.
- Configuration-driven: add datasets through
datasets.yaml, not code changes. - Ten analysis methods: proximity, intersection, counting, measurement, and nearest-feature queries.
- PDF export: report output with map capture and result tables.
- Custom branding: logo, organization name, colors, map bounds, and datasets.
- Static hosting: works on organization web servers or GitHub Pages.
The repository includes Memphis MPO sample datasets that demonstrate common patterns:
| Dataset | Geometry | Method | Example Use |
|---|---|---|---|
| High Injury Corridors | LineString | projectCoverage |
Percent of project in a priority network |
| Transit Routes | LineString | listParallelFeatures |
Routes running along the project corridor |
| Crash Locations | Point | countByCategory |
Crashes by severity within a buffer |
| Opportunity Zones | Polygon | listIntersectingFeatures |
Policy areas touched by the project |
| Travel Time Reliability | LineString | averageParallelValue |
Length-weighted average pavement condition |
Use these as templates when adding your own data in datasets.yaml.
- Desktop browser: Chrome, Firefox, Safari, or Edge.
- Python 3 for local testing with
python -m http.server. - Text editor for
config.yamlanddatasets.yaml. - GIS data in GeoJSON format using WGS84 / EPSG:4326 coordinates.
The app is desktop-oriented and expects a screen width of at least 1024px.
GUIDE.md- single setup, data, testing, and deployment workflow.ANALYSIS_METHODS.md- reference for all analysis methods and configuration patterns.docs/developer/testing.md- developer testing notes.CLAUDE.md- agent/developer context for maintaining the project.CHANGELOG.md- version history.
Most production deployments should use an organization web server so IT can manage access and data visibility. GitHub Pages is useful for demos and public-data projects, but the repository and data files are public.
See GUIDE.md for the deployment checklist and hosting details.
Version 3.0 is the initial public release. The tool was originally developed for Memphis MPO's RTP 2055 application process and is open source under the MIT license.
Version 3.1 adds a GitHub Pages deployment workflow and switches the default basemap to OpenStreetMap after CARTO began requiring an API key.
- Start with
GUIDE.md. - Use
ANALYSIS_METHODS.mdwhen configuring dataset behavior. - Open a GitHub issue for bugs or questions, including the relevant console error and sanitized configuration.
MIT License. See LICENSE.
- Developed by Mavrick Fitzgerald for Memphis MPO.
- Funded by Memphis Metropolitan Planning Organization.
- Sample data provided by Memphis MPO.
- Built with Leaflet, Turf.js, jsPDF, js-yaml, html2canvas, and related open source libraries.
