GIS Mapping
The spatial intelligence layer underlying the entire platform. Geocoding uses a two-tier cache (Redis with 30-day TTL + PostgreSQL audit trail) backed by Google Maps API with USPS address normalization. Parcel identification runs point-in-polygon queries via PostGIS ST_Intersects with tax status validation. Layer detection finds wards, zoning districts, floodplains, and custom layers for any coordinate. Buffer zone compliance checks proximity to schools, churches, and parks using ST_DWithin (used by Licensing for cannabis and liquor distance requirements). Ward routing auto-assigns service requests. Parcel data can be bulk-imported from Regrid API by bounding box. Shapefile import normalizes geometry on upload. GeoJSON export feeds all map visualizations.
Key Capabilities
- Two-tier geocoding cache (Redis + PostgreSQL) with Google Maps API
- Point-in-polygon parcel identification via PostGIS ST_Intersects
- Buffer zone compliance (schools, churches, parks) for liquor/cannabis licensing
- Ward-based auto-routing for service requests via ward layer lookup
- Regrid API integration for national parcel data bulk import
- Shapefile import with automatic geometry normalization
Why this matters
Most municipal software either ignores geography or treats it as an expensive separate product. The problem is that nearly every municipal decision is spatial: which ward approves a service request, which zoning district a permit falls in, whether a proposed cannabis dispensary is within 1,000 feet of a school, whether a parcel is in the floodplain, who owns the abandoned building next door. MuniNow's GIS module is built on PostGIS — the same open-source spatial engine that powers national mapping infrastructure — and it's a first-class platform capability, not an add-on. Every other module can call it: a permit validates the parcel before the application is accepted, a service request routes to the correct ward by point-in-polygon lookup, a liquor license checks distance to the nearest school via ST_DWithin before the application reaches the clerk's desk, a code enforcement case pins a complaint to a parcel with an address auto-geocoded from the citizen's submission. Parcel data can be bulk-loaded from Regrid by bounding box, shapefiles import with geometry normalization, and every map view in the app reads from the same spatial data.
Related Modules in Analytics & Intelligence
Reporting & Analytics
Full CAFR generation, auditor portal, state reports, and peer benchmarks
Data Warehouse
ETL pipelines and cross-module data aggregation for analytics
AI Review Hub
Gemini-powered document analysis with semantic search and PII detection
ETL Import
Data migration with field mapping, validation, and rollback
See GIS Mapping in action
Get a personalized demo tailored to your municipality's needs.