feat: map the complete municipality of Mol
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-14 05:35:15 +02:00
parent f757a527cf
commit 490325e0cd
20 changed files with 1027 additions and 62 deletions
+38
View File
@@ -7395,3 +7395,41 @@ Open:
## Next pass
- Harden detection QA coverage and matching diagnostics before making a retraining decision; keep that work separate from this presentation-only sprint.
# Sprint 181 - Complete Mol municipality workspace
## Implementation
- Added an explicit operator provisioner for the official VRBG `Refgem`
municipality geometry for Mol (NIS `13025`) and the complete paged GRB `GBG`
building collection clipped to that exact boundary.
- Added deterministic persistent source artefacts and a manifest containing
source URLs, checksums, page/feature counts, boundary bounds and area, and an
explicit truncation flag. Pagination and identity checks fail closed.
- Kept the provider boundary honest: provisioning is an operator action and
imports through canonical Project, Area and Dataset HTTP routes. It does not
enable the dormant live GRB provider or write directly to `vector_features`.
- Optimized the existing vector persistence path by replacing one ORM refresh
per feature with a single flush and commit. Persistence shape and API
behavior remain unchanged.
- Made `Mol Municipality Workbench` the preferred fresh-session context once
its official boundary is ready. The boundary opens first; the much larger
building layer remains explicitly selectable from the Map database-layer
control.
- Replaced spread-based map extent calculations with a streaming, memoized
GeoJSON bounds helper and added municipality/building layer styling. This
avoids large coordinate arrays while keeping the existing MapLibre path.
## Initial validation
- Exact clipping, pagination/truncation, persistence-scaling and frontend
wiring regression coverage passed locally.
- No API route, ORM model, migration, QA metric, detection result or model
configuration changed.
## Next pass
- Deploy and execute the explicit provisioner on Tower, verify full PostGIS
feature counts and exact Mol bounds, then audit the complete municipality in
MapLibre before acquiring raster imagery for a deliberately selected Mol
analysis zone.
+16
View File
@@ -13,6 +13,22 @@ Dit document verzamelt concrete databronnen voor GeoIntel Kempen.
- Prioriteit: V1
- Opmerking: belangrijkste officiële referentiebron voor QA/QC.
### Volledige gemeente Mol
De operationele Mol-workspace gebruikt twee expliciete Digitaal Vlaanderen
OGC API-bronnen:
- `VRBG/Refgem`, gefilterd op `NAAM='Mol'` en gecontroleerd op NIS-code
`13025`, als officiële gemeentegrens.
- `GRB/GBG`, volledig gepagineerd en exact tegen die grens gesneden, als
gemeentebrede gebouwreferentie.
Deze bronnen worden uitsluitend via het expliciete operatorcommando
`scripts/provision_mol_municipality_workspace.py` opgehaald. De applicatie
start geen verborgen providerfetch. De resulterende GeoJSON-artefacten,
checksums en bron-URL's worden onder persistent operator storage bewaard en
via de bestaande DatasetService/vectorfeature-flow geïmporteerd.
## OSM
- Naam: OpenStreetMap
+12
View File
@@ -513,6 +513,18 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Train and reject `geointel-building-yolov8s-aoi1024cleanpx12vis035e50-pt` through the positive/background promotion gate.
- [x] Keep every local YOLO candidate inactive until positive-AOI and hard-negative promotion reports recommend default activation.
# Sprint 181 - Complete Mol municipality workspace
- [x] Persist the official VRBG municipality boundary for Mol (NIS `13025`).
- [x] Page, deduplicate and boundary-clip the complete GRB GBG building layer.
- [x] Import municipality layers through the existing DatasetService and
VectorFeatureService path, with no direct provider-to-database write.
- [x] Prefer the complete municipality workspace on a fresh session while
keeping the lightweight boundary as the initially rendered layer.
- [x] Make GeoJSON bounds calculation safe for municipality-scale layers.
- [ ] Acquire and tile a georeferenced raster only for an explicitly selected
Mol analysis zone before running the next configured-YOLO validation.
# Sprint 171 - Positive AOI expansion and small-building recovery
- [x] Reject cross-model false-negative comparisons when reference populations differ.