Request a Demo
Platform Infrastructure

Geospatial Engine

The spatial data management, mapping, and location intelligence layer for the entire Civic platform — every module that needs maps, geocoding, or spatial queries plugs into Geospatial Engine.

<2s

Map Load

<200ms

Geocode Latency

500K+

Parcel Fabric

99.95%

Uptime SLA

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

How It Works

The identity journey, step by step

From first registration to golden record resolution — how a resident's identity evolves across the platform.

01

Address Lookup & Property Info

A resident searches for their property on the public map to view zoning and assessment details.

How it works

The resident opens the public map viewer, types their address into the autocomplete search bar, and the map zooms to their property. They click the parcel to see a popup with roll number, zoning designation, official plan designation, assessment value, and property class. Links in the popup navigate to property tax and planning portals.

Step 1 of 5

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

14

Delegated to

3

IoT sensor data collection

iot-sensor

Asset business logic

consuming modules

Document/photo storage

document-records

These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.

Core Capabilities

What it does

5 capability groups comprising 11 discrete capabilities — each with API surface, business rules, and data ownership.

Pan, zoom, identify, measure, print — embedded in any module screen with base map switching and layer control.

Interactive Map

Pan, zoom, identify, measure, print — embedded in any module screen.

Base Maps

Municipal aerial imagery (current + historical), OpenStreetMap, satellite, topographic, dark/light themes.

Layer Control

Toggle layers on/off; adjust opacity; reorder; filter by attribute.

Popups

Click features to see attribute popup with links to source records.

Bookmarks

Save and share map extent + layer configuration as named bookmarks.

Clustering, heatmaps, choropleth, time slider, and split/swipe comparison for rich data visualization on maps.

Clustering

Auto-cluster dense point features at lower zoom levels.

Heatmaps

Density heatmap visualization for point data (e.g., service request hotspots).

Choropleth

Thematic maps by ward, neighbourhood, census tract, postal code.

Time Slider

Animate temporal data (e.g., construction progress, snow plow routes over time).

Split/Swipe

Compare two time periods side-by-side (e.g., before/after aerial imagery).

Draw point, line, polygon for markup, measurement, or area selection directly on the map.

Drawing Tools

Draw point, line, polygon for markup, measurement, or area selection.

Print/Export

Print map layouts as PDF with scale bar, legend, north arrow.

CRS Transforms

Coordinate reference system transformations between NAD83, WGS84, UTM Zone 17N.

Real-World Scenarios

Who uses this, and how

3 persona-driven scenarios showing how Geospatial Engine works in practice — from resident registration to privacy compliance.

Bylaw Manager

Complaint Hotspot Analysis

The bylaw manager wants to identify noise complaint hotspots to optimize officer patrol territories for the summer season.

Steps

  1. 1The bylaw manager opens the GIS viewer and enables the 'Bylaw Cases' layer filtered to noise complaints for the past 12 months
  2. 2They switch the visualization to heatmap mode to see complaint density
  3. 3High-density clusters appear in three neighbourhoods near construction zones and entertainment districts
  4. 4They draw polygon boundaries for proposed patrol territories around each hotspot
  5. 5A spatial query returns officer count and historic case volume for each proposed zone
  6. 6They export the analysis as a PDF map report for the bylaw committee meeting

Outcome

Data-driven patrol territory redesign based on actual complaint patterns. Officer deployment optimized for high-volume areas, reducing average response time by an estimated 15%.

View scenario

Planning Technician

Development Application Review

A developer submits a site plan application and the planning technician needs to assess zoning compliance and identify circulation notice recipients.

Steps

  1. 1The technician opens the parcel in the map viewer and overlays the zoning layer to verify the proposed use is permitted
  2. 2They upload the developer's site plan DWG file as a temporary overlay
  3. 3They run a 120m buffer query to identify all properties requiring circulation notice
  4. 4The system returns 47 parcels with owner names and mailing addresses
  5. 5They check the official plan designation and confirm conformity
  6. 6They generate a shadow analysis for the 6-storey building to assess impact on adjacent properties

Outcome

Complete development review with zoning check, notice list generation, and shadow impact analysis — all from a single map interface without switching between systems.

View scenario

Emergency Management Coordinator

Flood Evacuation Zone Mapping

Spring flooding threatens a low-lying neighbourhood and the coordinator needs to define evacuation zones and count affected residents.

Steps

  1. 1The coordinator opens the flood risk layer and overlays real-time water level data from IoT sensors
  2. 2They draw a polygon around the at-risk flood zone based on topographic contours
  3. 3A spatial query returns all civic addresses and parcels within the zone (342 residential properties, 12 commercial)
  4. 4They generate drive-time isochrones from the two nearest emergency shelters
  5. 5The coordinator exports the address list to the notification engine for emergency alerts
  6. 6A PDF map showing the evacuation zone, shelter locations, and major evacuation routes is distributed to first responders

Outcome

Real-time flood zone delineation with precise resident counts and shelter routing. Emergency alerts sent to 342 households within minutes of zone designation.

View scenario

Internal Architecture

How it's built

3 architectural layers comprising 18 components — from API gateway to data quality engine.

3 layers · 18 total components

Geospatial Engine

Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.

Krutik Parikh

Creator of Civic

Data Model

Entity Architecture

4 entities with 4 relationships — the authoritative schema for this bounded context.

Entities

Select an entity to explore its fields and relationships

API Surface

Integration Endpoints

17 RESTful endpoints across 5 resource groups — plus 4 domain events for async integration.

|
GET

/api/v1/geo/layers

List available map layers

GET

/api/v1/geo/layers/{code}/features

Get features from layer (with spatial/attribute filter)

GET

/api/v1/geo/layers/{code}/tile/{z}/{x}/{y}

Vector tile endpoint

Ecosystem

Products that depend on this module

25 Civic products consume Geospatial Engine — making it one of the most critical platform services in the ecosystem.

GIS

This IS the GIS spec — full geospatial platform

View product →

Property Tax

Parcel map, assessment boundaries, tax map, ownership

View product →

Planning & Development

Zoning map, official plan, circulation notice zone (buffer), site plan overlay

View product →

Building Inspection

Locate permit by address, inspection route planning

View product →

Bylaw Enforcement

Complaint location mapping, officer territory zones

View product →

CRM / 311

Map service requests, hotspot analysis, ward routing

View product →

Work Orders / 311

Work order location, crew routing, asset location

View product →

Asset Management

Asset inventory map (roads, bridges, water mains, facilities)

View product →

Fire Services

Station coverage areas, hydrant locations, response time isochrones

View product →

Emergency Management

Hazard mapping, evacuation zones, resource deployment

View product →

Transit

Route mapping, stop locations, service area coverage

View product →

Utility Billing

Meter locations, service area mapping, infrastructure networks

View product →

Stormwater

Drainage areas, catchment mapping, flooding risk zones

View product →

Forestry

Tree inventory map, canopy coverage, planting zones

View product →

Cemetery

Plot/section mapping, available plot search

View product →

Parking

Parking zone mapping, meter locations, enforcement zones

View product →

Smart City / IoT

Sensor location mapping, environmental monitoring stations

View product →

Climate & ESG

GHG emission hotspots, flood risk, urban heat island mapping

View product →

Land Registry

Survey plans, easement mapping, boundary overlay

View product →

Recreation

Facility locations, trail mapping, park boundaries

View product →

Waste & Recycling

Collection route mapping, depot locations, contamination mapping

View product →

Road & Pavement

Road network, pavement condition mapping, construction zones

View product →

Economic Development

Available land/buildings, industrial parks, commercial corridors

View product →

Tourism & Events

Points of interest, event locations, walking tours

View product →

Open Data

GeoJSON/WFS datasets for open data portal

View product →

Technical Specifications

Performance, Compliance & Configuration

Availability

Target99.95%

Map Load

Target< 2 seconds for initial map render; < 500ms per tile

Geocoding

Target< 200ms per single geocode; < 5 seconds for 1000-record batch

Spatial Query

Target< 1 second for standard queries (within, buffer, nearest)

Feature Count

TargetRender up to 100,000 features with clustering; full parcel fabric (500K+ parcels)

Coordinate Systems

TargetNAD83 / EPSG:4326 (WGS84), UTM Zone 17N (EPSG:26917), Ontario MTO projections

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Geospatial Engine

Request an architecture brief, integration guide, or live demo environment for your team.