GIS Tenancy & Spatial
A multi-tenant GIS platform — organisations and tenants each own their GIS layers and spatial features, share them selectively across tenant boundaries, and let a spatial engine detect relationships (overlaps, containment, proximity) between features that raise events, disclosures and reconciliations.
Its central question:
Across tenants that each hold their own geospatial data, which features spatially interact, which of those interactions breach a rule, and how is that surfaced, disclosed to the right party and reconciled — without any tenant seeing more of another's data than they're entitled to?
The headline flow is spatial evaluation → relationship → rule → event → disclosure, all scoped by tenancy and controlled by layer sharing and disclosure profiles.
🗺️ Interactive map view
Beyond the CRUD screens, an interactive Leaflet map renders the spatial features live at:
/spatialfeature/map
It plots every SpatialFeature geometry (coloured by layer, click for details) on an
OpenStreetMap base map — so the demo's mining-lease-over-protected-area overlap is visible,
not just a set of coordinates. Features come from this app (/spatialfeature/map/features.json,
a GeoJSON FeatureCollection); only the base tiles are external. The tile provider is a one-line
config at the top of apps/spatial/templates/map/map.html (OpenStreetMap by default; swap for a
self-hosted/keyed provider, or run features-only with no basemap).
The spatial spine
Tenant → GIS Layer → Spatial Feature → (Evaluation Run) → Spatial Relationship → Spatial Rule → Spatial Event → Event Delivery / Disclosure → Data Transfer → Audit → Reconciliation
The documents
| Page | What's in it |
|---|---|
| 00 — Overview | What the app is, the domain, the 21 models by area, the demo scenario |
| 01 — Quick Reference | Menu map, every model, key status vocabularies, the demo data set |
| 02 — System Diagram | The GIS-tenancy data model as a diagram (+ interactive viewer) |
| 03 — Phase 2 Scope | The runtime not yet built: the spatial engine, rules/triggers/events, disclosure & reconciliation |
Status
Phase 1 (built): all 21 models render as an AI-Safe CRUD register with a dashboard, seeded with a coherent cross-tenant scenario — a mining lease overlapping a protected area (32 rows).
Phase 2 (scoped, not built): the spatial engine (geometry/relationship evaluation), the rule/trigger/event pipeline, disclosure enforcement, data-transfer delivery and reconciliation — see page 03.
Prototype system; draft. All organisations, tenants, users, geometries and events in the demo data are fictional.