Skip to content

Diff: services/pointsav-gis-engine.es

From 1c02ec1 to 1c02ec1

+0 / −0 lines
BeforeAfter
--- ---
schema: foundry-doc-v1 schema: foundry-doc-v1
title: "PointSav GIS engine" title: "PointSav GIS engine"
slug: pointsav-gis-engine slug: pointsav-gis-engine
category: services category: services
type: topic type: topic
content_type: topic content_type: topic
quality: complete quality: complete
status: active status: active
audience: public audience: public
bcsc_class: public-disclosure-safe bcsc_class: public-disclosure-safe
language_protocol: PROSE-TOPIC language_protocol: PROSE-TOPIC
last_edited: 2026-05-08 last_edited: 2026-05-08
editor: pointsav-engineering editor: pointsav-engineering
short_description: "The PointSav GIS Engine is a customer-owned location intelligence platform built in Rust for offline-first, flat-file operation — a structural departure from geographic information systems that rely on centralised database instances and continuous network connectivity." short_description: "The PointSav GIS Engine is a customer-owned location intelligence platform built in Rust for offline-first, flat-file operation — a structural departure from geographic information systems that rely on centralised database instances and continuous network connectivity."
paired_with: pointsav-gis-engine.es.md paired_with: pointsav-gis-engine.es.md
cites: cites:
- maplibre-gl-js - maplibre-gl-js
- pmtiles-spec - pmtiles-spec
- tippecanoe-tool - tippecanoe-tool
--- ---
A location-intelligence platform that depends on a central database and a live network is a platform a customer rents, not owns — outages, per-seat cloud cost, and air-gap ineligibility follow. The PointSav GIS Engine runs offline-first from flat files: it reads from a static PMTiles archive on the customer's own [[service-fs-data-lake|filesystem]], renders interactively through MapLibre GL JS in the browser, and serves every query without an external dependency. For a regulated buyer, the spatial record is auditable, portable, and never leaves the building. A location-intelligence platform that depends on a central database and a live network is a platform a customer rents, not owns — outages, per-seat cloud cost, and air-gap ineligibility follow. The PointSav GIS Engine runs offline-first from flat files: it reads from a static PMTiles archive on the customer's own [[service-fs-data-lake|filesystem]], renders interactively through MapLibre GL JS in the browser, and serves every query without an external dependency. For a regulated buyer, the spatial record is auditable, portable, and never leaves the building.
## Architectural Principles ## Architectural Principles
The engine operates as a stateless application surface, decoupling the data layer from the runtime so either can be updated or replaced independently. The engine operates as a stateless application surface, decoupling the data layer from the runtime so either can be updated or replaced independently.
### Flat-File Substrate ### Flat-File Substrate
Unlike centralised GIS stacks that require persistent database management, the PointSav engine uses a flat-file substrate. It consumes geographic data directly from `JSONL`, `GeoParquet`, and `YAML` formats versioned within a Totebox Archive. This architecture ensures the data layer remains entirely decoupled from the application logic, eliminating database maintenance overhead and preventing vendor lock-in. Unlike centralised GIS stacks that require persistent database management, the PointSav engine uses a flat-file substrate. It consumes geographic data directly from `JSONL`, `GeoParquet`, and `YAML` formats versioned within a Totebox Archive. This architecture ensures the data layer remains entirely decoupled from the application logic, eliminating database maintenance overhead and preventing vendor lock-in.
### Sovereign Rendering Stack ### Sovereign Rendering Stack
The platform avoids commercial SaaS mapping dependencies by using an open-source rendering stack: The platform avoids commercial SaaS mapping dependencies by using an open-source rendering stack:
- **PMTiles:** A single-file archive format for tiled data that enables maps to be served directly from standard web servers (Nginx) or blob storage without a dedicated tile server. [pmtiles-spec] - **PMTiles:** A single-file archive format for tiled data that enables maps to be served directly from standard web servers (Nginx) or blob storage without a dedicated tile server. [pmtiles-spec]
- **MapLibre GL JS:** A WebGL-based library for rendering interactive vector maps in the browser. [maplibre-gl-js] - **MapLibre GL JS:** A WebGL-based library for rendering interactive vector maps in the browser. [maplibre-gl-js]
- **Tippecanoe:** A tool used to compile massive flat-file datasets into optimized vector tiles, ensuring rapid delivery of complex co-location clusters. [tippecanoe-tool] - **Tippecanoe:** A tool used to compile massive flat-file datasets into optimized vector tiles, ensuring rapid delivery of complex co-location clusters. [tippecanoe-tool]
## Spatial Processing and Orchestration ## Spatial Processing and Orchestration
The engine's core logic resides in the [[app-orchestration-gis]] service. This component executes the [[co-location-methodology|Woodfine co-location methodology]] deterministically: The engine's core logic resides in the [[app-orchestration-gis]] service. This component executes the [[co-location-methodology|Woodfine co-location methodology]] deterministically:
1. **Ingestion:** Reads retail and civic infrastructure records from the [[totebox-os|Totebox]] Archive via [[service-business-clustering]] and [[service-places-filtering]]. 1. **Ingestion:** Reads retail and civic infrastructure records from the [[totebox-os|Totebox]] Archive via [[service-business-clustering]] and [[service-places-filtering]].
2. **Analysis:** Executes spatial joins and proximity queries to identify co-location clusters across 1.0 km, 3.0 km, and 5.0 km radii. 2. **Analysis:** Executes spatial joins and proximity queries to identify co-location clusters across 1.0 km, 3.0 km, and 5.0 km radii.
3. **Ranking:** Applies the 12-rank named-anchor matrix to generate site quality tiers. 3. **Ranking:** Applies the 12-rank named-anchor matrix to generate site quality tiers.
4. **Serialization:** Outputs the processed results as tiled data for the visual interface at [gis.woodfinegroup.com](https://gis.woodfinegroup.com). 4. **Serialization:** Outputs the processed results as tiled data for the visual interface at [gis.woodfinegroup.com](https://gis.woodfinegroup.com).
This stateless approach ensures that the entire GIS environment can be re-provisioned instantly from the immutable data layer, providing maximum service resilience and auditability. This stateless approach ensures that the entire GIS environment can be re-provisioned instantly from the immutable data layer, providing maximum service resilience and auditability.
## See also ## See also
- [[co-location-methodology]] — the ranking methodology that drives tier assignment in the GIS engine - [[co-location-methodology]] — the ranking methodology that drives tier assignment in the GIS engine
- [[app-orchestration-gis]] — the orchestration layer that runs the spatial analysis pipeline - [[app-orchestration-gis]] — the orchestration layer that runs the spatial analysis pipeline
- [[service-business-clustering]] — retail clustering service feeding the GIS tier computation - [[service-business-clustering]] — retail clustering service feeding the GIS tier computation
- [[service-places-filtering]] — civic infrastructure filtering service feeding the GIS tier computation - [[service-places-filtering]] — civic infrastructure filtering service feeding the GIS tier computation
- [[service-fs-data-lake]] — the flat-file data lake that backs all GIS source data - [[service-fs-data-lake]] — the flat-file data lake that backs all GIS source data
- [[gis-as-bim-substrate|GIS as BIM Substrate]] — how the GIS engine functions as a BIM data layer - [[gis-as-bim-substrate|GIS as BIM Substrate]] — how the GIS engine functions as a BIM data layer
- [[build-a-colocation-map]] — step-by-step guide: run a co-location cluster analysis and render the results on a map - [[build-a-colocation-map]] — step-by-step guide: run a co-location cluster analysis and render the results on a map
## References ## References
- [Geographic information system](https://en.wikipedia.org/wiki/Geographic_information_system) — Wikipedia, accessed 2026-06-14 - [Geographic information system](https://en.wikipedia.org/wiki/Geographic_information_system) — Wikipedia, accessed 2026-06-14