Overview#
Geospatial context transforms raw intelligence data into operationally actionable information. A person-of-interest appearing repeatedly in a region, a vessel deviating from its declared route, a cluster of incidents forming a corridor — none of these patterns are obvious in a tabular view, but all of them become immediately apparent on a properly constructed map. The challenge is building geospatial capability without locking the platform into a single proprietary GIS vendor's data formats, service protocols, and licensing constraints.
Argus implements geospatial intelligence using OGC (Open Geospatial Consortium) open standards throughout: entity positions and feature data are served as OGC WFS (Web Feature Service, ISO 19142) and GeoJSON (IETF RFC 7946); sensor observations are structured according to the OGC SensorThings API (OGC 18-088); and geometry storage and spatial queries use PostGIS, the open-source PostgreSQL geospatial extension. Map rendering on the client uses CesiumJS (Apache License 2.0) for 3D globe views and MapLibre GL JS (BSD-3-Clause) for 2D vector tile views. No proprietary Esri GIS protocols or geometry processing APIs are used.
Diagram
graph LR
A[Entity Positions\nIncidents\nSensor Readings] --> B[PostGIS\nPostgreSQL Extension\nGPL v2+]
B --> C[OGC WFS\nISO 19142\nGetFeature Response]
C --> D[GeoJSON\nIETF RFC 7946\nFeatureCollection]
D --> E{Map Renderer}
E --> F[CesiumJS\n3D Globe\nApache 2.0]
E --> G[MapLibre GL JS\n2D Vector Tiles\nBSD-3-Clause]
F & G --> H[Operator\nMap Display]Last Reviewed: 2026-04-14 Last Updated: 2026-04-14
Key Features#
-
OGC WFS GetCapabilities (ISO 19142): The platform exposes a standards-compliant WFS capabilities document that any OGC-compatible client can interrogate to discover available feature types, supported operations, and coordinate reference systems. This allows third-party GIS tools — QGIS, OpenLayers, Leaflet — to connect directly to Argus feature data without vendor-specific connectors.
-
GeoJSON FeatureCollection (RFC 7946): All geospatial feature responses are structured as RFC 7946 GeoJSON FeatureCollection objects. Features carry Argus-specific properties (feature type, organisation ID) alongside standard geometry representations (Point, LineString, Polygon, MultiPolygon). The RFC 7946 format is directly consumable by CesiumJS, MapLibre GL JS, and any modern web mapping client.
-
PostGIS Spatial Queries: Entity positions, geofence polygons, sensor footprints, and incident locations are stored as PostGIS geometry columns in PostgreSQL. Spatial operations — intersection, containment, nearest-neighbour, buffer, convex hull — are executed as standard PostGIS SQL queries. All PostGIS queries include
organization_idin their WHERE clause (data sovereignty requirement). -
OGC SensorThings API (OGC 18-088): Sensor observations from field devices — acoustic sensors, camera feeds, environmental monitors — are structured according to the OGC SensorThings API standard. Each observation links a
Datastream(sensor channel),FeatureOfInterest(geographic position), and result value. This enables interoperability with FROST Server and other OGC SensorThings-compatible sensor management platforms. -
CesiumJS 3D Globe Rendering (Apache 2.0): Entity positions, track histories, and operational graphics are rendered on a 3D globe using CesiumJS. The 3D view integrates with the 3D Terrain Visualization module to drape intelligence overlays onto realistic terrain surfaces, providing spatial context that flat maps cannot convey.
-
MapLibre GL JS 2D Rendering (BSD-3-Clause): The 2D map view uses MapLibre GL JS with vector tile layers for high-performance rendering of large entity datasets. Vector tiles are served from GeoServer (LGPL) and cached at the Cloudflare edge for offline-capable pre-cached area operations.
-
Tenant-Scoped Feature Service: All OGC WFS GetFeature requests are validated against the requesting user's organisation ID before any PostGIS query is issued. Features from other organisations are architecturally inaccessible — the data sovereignty check occurs at the service layer, not at the database layer alone.
Use Cases#
- Entity Position Mapping: Intelligence entities with known or last-observed positions are rendered as map features, enabling analysts to identify geographic clusters, corridors, and proximity relationships.
- Incident Geospatial Pattern Analysis: Incidents are rendered as OGC features allowing spatial queries — "show all incidents within 5km of this location in the past 30 days" — using standard PostGIS ST_DWithin operations.
- Geofence Alert Monitoring: Polygon geofences are stored as PostGIS geometry and evaluated against incoming entity position updates using PostGIS ST_Contains. Alert triggers fire when an entity enters or exits a geofence.
- Sensor Network Visualisation: Sensor observation footprints and detection events from the Acoustic Sensor Network and other field sensors are rendered on the map as OGC SensorThings observations, giving operators a live view of sensor coverage.
- Third-Party GIS Integration: External GIS tools can connect to the Argus WFS endpoint using the OGC GetCapabilities response to discover and consume intelligence features in standard formats without vendor-specific connectors.
Integration#
- 3D Terrain Visualization: CesiumJS renders entity positions and operational graphics on the 3D terrain surface provided by the terrain module.
- Acoustic Sensor Network: Sensor detections and coverage zones are exposed as OGC SensorThings observations.
- Geofencing: Geofence polygons are managed as PostGIS geometry and evaluated by the alert platform.
- Common Operational Picture: Entity tracks, incident locations, and mission graphics are rendered on both 2D and 3D map views.
- Offline Maps: Vector tile caches pre-loaded for an area of operations support disconnected field use.
Open Standards#
| Standard | Description |
|---|---|
| OGC WFS — ISO 19142:2010 | Web Feature Service standard for geospatial feature exchange. https://www.ogc.org/standard/wfs/ |
| GeoJSON — IETF RFC 7946 | JSON encoding for geospatial features. https://datatracker.ietf.org/doc/html/rfc7946 |
| OGC SensorThings API — OGC 18-088r2 | Standard for IoT sensor observation exchange. https://www.ogc.org/standard/sensorthings/ |
| OGC WMS — ISO 19128:2005 | Web Map Service standard for raster tile layers. https://www.ogc.org/standard/wms/ |
| PostGIS (GPL v2+) | Open-source PostgreSQL geospatial extension. https://postgis.net/ |
| CesiumJS (Apache 2.0) | Open-source 3D globe and map rendering engine. https://cesium.com/platform/cesiumjs/ |
| GeoServer (LGPL) | Open-source OGC feature and tile server. https://geoserver.org/ |
| MapLibre GL JS (BSD-3-Clause) | Open-source 2D vector tile map renderer. https://maplibre.org/ |
All geospatial operations use OGC open standards and Apache/LGPL/GPL licensed open-source components.