feat(scope): make Belgium and North Sea operational default
This commit is contained in:
+35
-16
@@ -123,7 +123,7 @@ a canonical operational workspace without depending on its position among
|
||||
newer operator or benchmark projects:
|
||||
|
||||
```text
|
||||
GET /api/v1/projects?name=Kempen%20Regional%20Workbench&limit=1
|
||||
GET /api/v1/projects?name=Belgium%20and%20North%20Sea%20Workbench&limit=1
|
||||
GET /api/v1/projects?status=archived&limit=50
|
||||
```
|
||||
|
||||
@@ -135,7 +135,7 @@ Request:
|
||||
{
|
||||
"name": "Geel building detection demo",
|
||||
"description": "Detect buildings and validate against GRB",
|
||||
"region": "Kempen"
|
||||
"region": "Belgium and Belgian North Sea"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1202,13 +1202,15 @@ Returns object-detection model capability descriptors.
|
||||
|
||||
### GET `/api/v1/detection/model-assets`
|
||||
|
||||
Returns local runtime model files discovered in the configured model directory.
|
||||
This is a read-only catalog. GeoIntel never downloads, creates, mutates or
|
||||
deletes model weights from this endpoint.
|
||||
Returns governed local runtime model files. This is a read-only catalog.
|
||||
GeoIntel never downloads, creates, mutates or deletes model weights from this
|
||||
endpoint.
|
||||
|
||||
The backend scans `YOLO_MODELS_DIR` (default `/app/models`) and reports
|
||||
supported local model files such as `.pt`, `.onnx` and `.engine`. The active
|
||||
model is the file matching `YOLO_MODEL_PATH`.
|
||||
The backend scans `YOLO_MODELS_DIR` (default `/app/models`). When
|
||||
`YOLO_MODEL_PATH` resolves to an existing file, production catalog output is
|
||||
restricted to that explicitly approved active model. When no active model is
|
||||
configured, supported `.pt`, `.onnx` and `.engine` files remain visible for
|
||||
development/operator discovery but cannot make the configured detector ready.
|
||||
|
||||
Response data:
|
||||
|
||||
@@ -1226,8 +1228,8 @@ Response data:
|
||||
"size_bytes": 123456,
|
||||
"sha256": "sha256hex",
|
||||
"active": true,
|
||||
"status": "available",
|
||||
"limitation_message": "Local runtime model asset. GeoIntel will not download or mutate model weights.",
|
||||
"status": "approved",
|
||||
"limitation_message": "Approved local runtime model asset. GeoIntel will not download or mutate model weights.",
|
||||
"will_download_models": false
|
||||
}
|
||||
],
|
||||
@@ -2217,9 +2219,11 @@ sets an explicit Ollama context window and returns
|
||||
|
||||
Returns the governed bathymetry source registry in the canonical envelope.
|
||||
VHA inland profiles are `operational`. MDK Belgian Continental Shelf is
|
||||
`probe_only`. The pinned SPW Walloon bathymetry archive is `operational`
|
||||
through a bounded, explicit operator import. There is no browser-side source
|
||||
fetch and no arbitrary source URL.
|
||||
`not_configured` by default and becomes `operational` only after the operator
|
||||
explicitly enables bounded acquisition and pins a coverage identifier. The
|
||||
pinned SPW Walloon bathymetry archive is `operational` through a bounded,
|
||||
explicit operator import. There is no browser-side source fetch and no
|
||||
arbitrary source URL.
|
||||
|
||||
### GET `/api/v1/projects/{project_id}/datasets/bathymetry/sources/mdk_bcp_bathymetry/readiness`
|
||||
|
||||
@@ -2227,9 +2231,24 @@ Runs one bounded, read-only WCS 1.0.0 `GetCapabilities` request with mandatory
|
||||
system TLS verification and a configured response-size limit. Status is one
|
||||
of `disabled`, `invalid_configuration`, `tls_error`,
|
||||
`endpoint_unavailable`, `invalid_capabilities` or `reachable`. A reachable
|
||||
response lists coverage identifiers, advertised formats and CRS values, but
|
||||
always returns `acquisition_supported=false`. There is no insecure TLS
|
||||
fallback and no `GetCoverage` request.
|
||||
response lists coverage identifiers, advertised formats and CRS values. There
|
||||
is no insecure TLS fallback and this readiness endpoint never performs a
|
||||
`GetCoverage` request.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/bathymetry/mdk/acquire`
|
||||
|
||||
Runs one explicit, bounded WCS 1.0.0 `GetCoverage` acquisition as a synchronous
|
||||
Job. The request contains an EPSG:4326 `bbox`, optional persisted `area_id` and
|
||||
`force_refresh`. Acquisition is fail-closed unless
|
||||
`MDK_BATHYMETRY_ACQUISITION_ENABLED=true`, a coverage identifier is explicitly
|
||||
configured, the strict-TLS readiness probe is reachable and that identifier is
|
||||
advertised by the live capabilities document.
|
||||
|
||||
The configured bbox-area, response-size, timeout and pixel-dimension limits are
|
||||
always enforced. A successful GeoTIFF is validated and imported through the
|
||||
existing Dataset raster flow with request hash, response hash, acquisition
|
||||
time, MDK attribution and the `LAT` vertical reference in provenance. No depth
|
||||
values are synthesized and no water volume is inferred.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/bathymetry/profiles/acquire`
|
||||
|
||||
|
||||
@@ -11011,3 +11011,31 @@ Validation:
|
||||
passed (12 tests);
|
||||
- live redeployment and a repeated Belgium-scale rectangle follow on the
|
||||
immutable patch revision.
|
||||
## 2026-07-22 - National scope and governed Brussels land cover
|
||||
|
||||
Implemented:
|
||||
|
||||
- made the persisted Belgium/North Sea project the unconditional startup
|
||||
workspace and changed the initial basemap extent and form defaults from Mol
|
||||
to Belgium plus its legally labelled maritime scope;
|
||||
- retained Mol/Kempen provisioning and tests strictly as golden regression
|
||||
evidence instead of product routing;
|
||||
- live-validated the UrbIS WFS `Blocks` contract and added bounded land-cover,
|
||||
FO/GB forest/park and WB permanent-water products with clipped PostGIS area
|
||||
metrics and source-class provenance;
|
||||
- restricted the production model picker to the explicit active model asset
|
||||
and surfaced that the current building model is locally, not nationally,
|
||||
validated.
|
||||
|
||||
Validated during implementation:
|
||||
|
||||
- backend compile and frontend typecheck passed;
|
||||
- 31 frontend unit tests passed;
|
||||
- focused national coverage, model catalog, project lifecycle and Mol golden
|
||||
regression tests passed;
|
||||
- live resolver checks covered Brussels, Wallonia and all three Belgian
|
||||
maritime legal zones. WALOUS, Walloon flood analytics and multi-epoch marine
|
||||
bathymetry remain real open source-integration work and were not simulated.
|
||||
- the final repository readiness gate passed with 1,084 backend tests, 31
|
||||
frontend unit tests, compile, typecheck, production build, Alembic head
|
||||
`202607160001` and all script syntax/contract checks.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# GeoIntel data coverage status
|
||||
|
||||
Status date: 2026-07-21
|
||||
Status date: 2026-07-22
|
||||
|
||||
This document is the operational interpretation of the source registry. It
|
||||
does not replace the legal/source provenance stored with each Dataset.
|
||||
@@ -27,7 +27,7 @@ coverage or historical dates.
|
||||
| Belgium | NGI administrative boundaries; Statbel population/statistical sectors | Statbel population 2021-2025 |
|
||||
| Flanders | GRB buildings, roads, water and parcels; DHMV terrain/surface; VMM flood scenarios; BWK/Natura 2000; DOV soil; policy rasters for space, open space, accessibility and services; agriculture and orthophoto where governed | Population 2021-2025; land-use/land-cover series where retained; agriculture editions; historical maps/orthophotos where the selected product has a real observation date |
|
||||
| Wallonia | Bounded PICC buildings, roads and hydrography; governed SPW bed-elevation/bathymetry products | No general cross-theme regional history yet |
|
||||
| Brussels | Bounded UrbIS buildings, street axes and cadastral parcels | No general cross-theme regional history yet |
|
||||
| Brussels | Bounded UrbIS buildings, street axes, cadastral parcels and Land Cover blocks; official FO/GB blocks provide forest/park area and WB blocks provide permanent water area | No general cross-theme regional history yet; the live WFS has no per-feature observation date |
|
||||
| Belgian North Sea | RBINS reporting units; Marine Spatial Plan 2026-2034; governed MDK bathymetry only when runtime acquisition is explicitly configured | No multi-epoch bathymetry or marine-plan trend yet |
|
||||
|
||||
Mol and the Kempen are golden regression areas. Their persisted partitions are
|
||||
@@ -46,22 +46,18 @@ applicable bounded official source or reports the theme as unsupported.
|
||||
retain their model scenario semantics separately from observed floods.
|
||||
Official record:
|
||||
`https://geoportail.wallonie.be/catalogue/14084108-2c7b-4091-b62d-ff0fc235213a.html`.
|
||||
3. Add the public UrbIS Land Cover product (regional situation 2024) for
|
||||
Brussels through its official WFS/download contract. Keep it separate from
|
||||
cadastral parcels and buildings. Product specification:
|
||||
`https://urbisdownload.datastore.brussels/UrbIS/TechSpec/LandCover_TechSpec_FR20240401.pdf`.
|
||||
4. Add a common Belgium-wide topographic baseline with normalized theme
|
||||
3. Add a common Belgium-wide topographic baseline with normalized theme
|
||||
semantics across NGI, Flanders, Wallonia and Brussels.
|
||||
5. Govern comparable Walloon and Brussels historical editions before exposing
|
||||
4. Govern comparable Walloon and Brussels historical editions before exposing
|
||||
evolution for buildings, roads, land cover, soil, elevation or flood risk.
|
||||
6. Add nationally comparable land-cover history with explicit class crosswalks
|
||||
5. Add nationally comparable land-cover history with explicit class crosswalks
|
||||
and uncertainty; never compare incompatible legends silently.
|
||||
7. Add multi-epoch marine bathymetry and survey-footprint metadata before
|
||||
6. Add multi-epoch marine bathymetry and survey-footprint metadata before
|
||||
presenting seabed evolution.
|
||||
8. Expand persisted raster partition manifests beyond the regression regions
|
||||
7. Expand persisted raster partition manifests beyond the regression regions
|
||||
only where repeated use justifies caching; bounded acquisition remains the
|
||||
default for one-off selections.
|
||||
9. Add source freshness probes only for publishers with stable official edition
|
||||
8. Add source freshness probes only for publishers with stable official edition
|
||||
contracts. Do not infer a new observation from an import or HTTP date.
|
||||
|
||||
## Acceptance rules for a new source
|
||||
|
||||
@@ -15,9 +15,12 @@ runtime source of truth.
|
||||
- Buildings, population, terrain, imagery, nature, agriculture, soil and flood
|
||||
themes may report `partial`, `not_configured` or `unsupported` outside the
|
||||
materialized source partitions. The UI and exports retain that state.
|
||||
- Belgian North Sea planning/reporting boundaries are materialized. Continuous
|
||||
authoritative bathymetry acquisition remains `not_configured`; VHA profile
|
||||
observations are not presented as a seabed model or water volume.
|
||||
- Belgian North Sea planning/reporting boundaries are materialized. Bounded
|
||||
strict-TLS MDK WCS acquisition is implemented but stays disabled until the
|
||||
operator enables `MDK_BATHYMETRY_ACQUISITION_ENABLED` with a coverage id that
|
||||
the live readiness probe advertises. Until then the theme reports
|
||||
`not_configured`; VHA profile observations are not presented as a seabed
|
||||
model or water volume.
|
||||
- Official endpoints can be temporarily unavailable. Bounded acquisition fails
|
||||
closed and never substitutes fixture or fabricated production data.
|
||||
|
||||
@@ -47,8 +50,11 @@ runtime source of truth.
|
||||
trained general model for all Belgian objects or themes.
|
||||
- PyTorch and Ultralytics are present only in the AI image. No model weights
|
||||
auto-download. A missing local model reports unavailable.
|
||||
- Real segmentation models remain placeholders; fixture segmentation is
|
||||
explicit-only. No SAM or YOLO-seg dependency is installed.
|
||||
- Local YOLO-seg and SAM segmentation are implemented through the ultralytics
|
||||
interface but stay `not_configured` until the operator points
|
||||
`YOLO_SEG_MODEL_PATH`/`SAM_MODEL_PATH` to existing local weights and enables
|
||||
them explicitly. GeoIntel never downloads segmentation weights automatically;
|
||||
fixture segmentation remains explicit-only.
|
||||
|
||||
## Operations
|
||||
|
||||
|
||||
+29
-3
@@ -57,9 +57,20 @@ Dit is het enige actuele afwerkingsbord. De lange sprint- en
|
||||
voorbereidingslijsten verderop blijven bewaard als historisch bewijs, maar zijn
|
||||
geen open productroadmap meer.
|
||||
|
||||
- [x] Open automatisch de volledige Kempen-werkruimte met Mol als snel
|
||||
selecteerbaar werkgebied; een technische project- of regioselectie is niet
|
||||
vereist.
|
||||
- [x] Open onvoorwaardelijk de nationale `Belgium and North Sea Workbench`
|
||||
wanneer die bestaat en start de kaart op Belgische schaal. Mol en de Kempen
|
||||
blijven alleen snel selecteerbare regressiegebieden.
|
||||
- [x] Maak UrbIS Land Cover begrensd operationeel voor Brussel: alle Blocks als
|
||||
landbedekking, FO/GB als bos en park en WB als permanent water, met echte
|
||||
PostGIS-oppervlaktemetrics en broncodes.
|
||||
- [ ] Implementeer begrensde WALOUS 2018/2020/2023 rasteracquisitie in
|
||||
EPSG:3812 met officiële klassen, vergelijkbaarheidscontract en pixelbudget.
|
||||
- [ ] Implementeer de actuele Waalse overstromingsgevaarkaart als afzonderlijk
|
||||
scenario-/juridisch contract; gebruik WMS alleen als context tenzij
|
||||
analytische pixels of vectorgeometrie officieel beschikbaar zijn.
|
||||
- [ ] Bouw een Belgische AI-validatiematrix met gelabelde golden AOIs in elk
|
||||
gewest en aan de kust. Tot die matrix slaagt blijft de huidige YOLO-status
|
||||
expliciet lokaal gevalideerd en controleplichtig.
|
||||
- [x] Kies een begrijpbaar datathema, teken een rechthoek of gebruik het
|
||||
volledige werkgebied en analyseer alle relevante thema's uit PostGIS.
|
||||
Een getekende selectie mag ontbrekende operationele bronproducten begrensd
|
||||
@@ -109,6 +120,21 @@ geen open productroadmap meer.
|
||||
Workbench met een compacte navigatierail, vaste contextbalk, taakgerichte
|
||||
schermen en gevalideerde desktop-, ultrawide- en mobiele layouts.
|
||||
|
||||
Post-V1 afwerkingspass (2026-07-19):
|
||||
|
||||
- [x] Lokale YOLO-seg- en SAM-segmentatie via de ultralytics-interface: echte
|
||||
adapters, dynamisch modelregister, tegelmanifest-inferentie, georeferentie
|
||||
van maskpolygonen, dedupe, geodetische oppervlakte en persistentie. Blijft
|
||||
fail-closed zonder lokale modelgewichten (`YOLO_SEG_*`/`SAM_*` env).
|
||||
- [x] Begrensde MDK-bathymetrie-acquisitie (WCS GetCoverage) achter de
|
||||
bestaande strict-TLS readiness-probe: expliciete opt-in, geadverteerd
|
||||
coverage-id verplicht, bbox-limiet, GeoTIFF-validatie, LAT-provenance.
|
||||
Endpoint: `POST /datasets/bathymetry/mdk/acquire`.
|
||||
- [x] UrbIS-wegassen (`urbisvector:StreetAxes`, live gevalideerd tegen de
|
||||
UrbIS WFS-capabilities) als begrensd Brussels roads-product met
|
||||
lengte-metrics; de WFS adverteert geen hydrografielaag, dus Brussels
|
||||
oppervlaktewater blijft eerlijk `not_configured`.
|
||||
|
||||
Bewuste, niet-blokkerende grenzen:
|
||||
|
||||
- De begrensde SPW-rasterflow maakt Waalse waterbodemhoogte in mDNG
|
||||
|
||||
Reference in New Issue
Block a user