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.