feat: complete Wallonia land cover and terrain sources
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-22 06:28:46 +02:00
parent d45d34186d
commit cee6cd05ae
46 changed files with 2542 additions and 276 deletions
+35 -5
View File
@@ -484,7 +484,7 @@ the existing MapLibre image-overlay path.
### GET `/api/v1/projects/{project_id}/datasets/walous/products`
Returns the fixed official WALOUS 2020/2023 registry. Each product reports its
Returns the fixed official WALOUS 2018/2020/2023 registry. Each product reports its
observation year, EPSG:3812 source contract, 1 m source semantics, configured
state, attribution, licence and documented edition accuracy. `configured`
becomes true only when the checksum-validated source GeoTIFF exists below
@@ -497,9 +497,14 @@ applies nearest-neighbour resampling to the configured analysis resolution,
masks `bbox intersect Area`, validates the official non-contiguous class-code
set `1, 2, 3, 4, 5, 6, 7, 8, 9, 80, 90` and persists a normal raster Dataset
through `DatasetService`. URLs, paths, classes and resolutions are not
caller-controlled. Equal spatial requests for 2020 and 2023 share one temporal
caller-controlled. The 2018 source retains official stacked two-digit values;
GeoIntel applies the published `Classe vue` mapping and explicitly groups the
2018-only greenhouse class `62` with artificial constructions. Source value
`0` is treated only as implicit background/nodata. Equal spatial
requests for 2018, 2020 and 2023 share one temporal
series key. The exact official observation ranges are retained as
2020-04-01/2020-04-24 and 2023-05-27/2023-06-25.
2018-01-01/2018-12-31, 2020-04-01/2020-04-24 and
2023-05-27/2023-06-25.
### POST `/api/v1/projects/{project_id}/datasets/{dataset_id}/raster/walous/select`
@@ -517,8 +522,26 @@ the persisted Dataset geometry. It never proxies the source archive.
The Map workbench acquires every configured comparable WALOUS observation for
the same Walloon selection when current land cover is first requested. The
latest edition drives the current result; the ordinary temporal comparison API
then compares 2020 and 2023 semantic area metrics. Raster evolution does not
claim individual object additions or removals.
then compares 2018, 2020 and 2023 semantic area metrics. The response retains
the earlier 2018 methodology and crosswalk limitation; raster evolution does
not claim individual object additions or removals.
### GET `/api/v1/projects/{project_id}/datasets/spw-terrain/products`
Returns the governed official SPW 1 m MNT 2021-2022 product and its actual
runtime provisioning state. The source is EPSG:3812; its vertical reference is
DNG / EPSG:5710. `configured` becomes true only after the checksum-validated
GeoTIFF exists below `SPW_TERRAIN_SOURCE_DIR`.
### POST `/api/v1/projects/{project_id}/datasets/spw-terrain/acquire`
Reads only `bbox intersect Area` from the operator-provisioned official MNT,
validates the one-band EPSG:3812/1 m source contract and plausible terrain
values, bilinearly resamples the bounded derivative to 1-10 m and persists it
through `DatasetService`. The request cannot choose a URL or file path. Source,
archive and derived checksums, acquisition range, CRS, DNG datum, exact bounds,
resolution and interpolation limitations remain provenance. The ordinary
persisted terrain selection and PNG endpoints then analyze/render this Dataset.
### GET `/api/v1/projects/{project_id}/datasets`
@@ -1209,6 +1232,13 @@ The strict `POST /api/v1/detection/run` contract still requires `tile_manifest_p
Returns object-detection model capability descriptors.
Each descriptor exposes machine-readable `training_scope`, `validation_scope`,
`validated_regions`, `nationally_validated` and `operator_review_required`
fields. The configured local YOLO capability remains
`nationally_validated=false`: the runtime binds only the existing Mol/Kempen
operator evidence and cannot be promoted to a Belgian national claim by a UI
label or model filename.
```json
{
"models": [
+24 -4
View File
@@ -3654,6 +3654,25 @@ Validation:
## Post-V1 national coverage completion: Wallonia (2026-07-22)
- Located and live-validated the stable official WALOUS 2018 GeoTIFF
distribution. The retained raster SHA-256 is
`a788cf4619363664d1e80def79b32176b4703317d123c8cd703f2eb10e8d56b2`;
the full source is EPSG:3812 at 1 m and the merged live provisioning report
now covers 2018, 2020 and 2023.
- Added the official 2018 stacked-class to view-class crosswalk. Greenhouse
code `62` enters the construction class and unmarked source value `0` is
normalized to internal nodata `255`; both behaviors have regression tests
so background pixels cannot inflate hectare metrics.
- Selected the official SPW MNT 2021-2022 1 m GeoTIFF as the governed Walloon
terrain source after a live storage audit showed sufficient capacity. Added
fail-closed operator provisioning, bounded `bbox intersect Area`
persistence, raster validation and terrain analysis with explicit
DNG/EPSG:5710 vertical-reference provenance.
- Replaced the frontend-only AI geography warning with a machine-readable
runtime contract. Detection capabilities now expose training/validation
scope, validated regions, national status and the review requirement; the
configured local weights remain bound to Mol/Kempen evidence and fail closed
as not nationally validated.
- Live Tower provisioning exposed an incorrect assumption that 11 WALOUS
classes implied numeric codes 1 through 11. The official SPW legend and the
downloaded 2020 raster confirm codes `1,2,3,4,5,6,7,8,9,80,90`. Corrected
@@ -3673,10 +3692,11 @@ Validation:
- Wired both integrations through Compose, the all-in-one Unraid runner,
editable DockerMan template and readiness gate. Added canonical API,
persistence, rendering, temporal and runtime-parity regression tests.
- Revalidated the official Walloon DTM distribution. The whole-region files
are too large for implicit startup or per-selection mirroring (about 41 GB
at 1 m and 213 GB at 0.5 m), so elevation remains a documented capacity-plan
prerequisite instead of a fake operational source.
- Revalidated both official Walloon DTM distributions. The 1 m archive is
operator-provisioned once on persistent storage and selections read bounded
windows from it; the approximately 213 GB 0.5 m distribution remains
deliberately unprovisioned because it is not required for the V1 analysis
contract.
- Reprobed the documented MDK WCS endpoints. Strict TLS still fails hostname
validation; acquisition remains disabled and no insecure fallback was added.
- A live Tower deploy exposed PostGIS crash recovery exceeding the former
+7 -14
View File
@@ -26,7 +26,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; legal SPW flood-hazard polygons; bounded WALOUS 2020/2023 land-cover analysis from provisioned official rasters; governed SPW bed-elevation/bathymetry products | Comparable WALOUS land-cover area metrics for 2020-2023; no general cross-theme regional history yet |
| Wallonia | Bounded PICC buildings, roads and hydrography; legal SPW flood-hazard polygons; bounded WALOUS 2018/2020/2023 land-cover analysis; bounded SPW MNT 2021-2022 terrain analysis in DNG; governed SPW bed-elevation/bathymetry products | Governed WALOUS land-cover area metrics for 2018-2023 with the 2018 crosswalk/methodology limitation; 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 |
@@ -37,25 +37,18 @@ applicable bounded official source or reports the theme as unsupported.
## Priority coverage gaps
1. Add the official WALOUS 2018 edition only after SPW restores a stable direct
artifact or another checksum-verifiable acquisition contract. WALOUS 2020
and 2023 are operational and comparable; COSW 2005/2007 remains a different
methodology and is not silently merged.
2. Add a common Belgium-wide topographic baseline with normalized theme
1. Add a common Belgium-wide topographic baseline with normalized theme
semantics across NGI, Flanders, Wallonia and Brussels.
3. Govern comparable Walloon and Brussels historical editions before exposing
2. Govern comparable Walloon and Brussels historical editions before exposing
evolution for buildings, roads, land cover, soil, elevation or flood risk.
4. Add nationally comparable land-cover history with explicit class crosswalks
3. Add nationally comparable land-cover history with explicit class crosswalks
and uncertainty; never compare incompatible legends silently.
5. Add multi-epoch marine bathymetry and survey-footprint metadata before
4. Add multi-epoch marine bathymetry and survey-footprint metadata before
presenting seabed evolution.
6. Add Walloon DTM only through an operator capacity plan: the official 1 m
national artifact is about 41 GB and the 0.5 m artifact about 213 GB, so it
is not safe as an implicit per-selection dependency.
7. Expand persisted raster partition manifests beyond the regression regions
5. Expand persisted raster partition manifests beyond the regression regions
only where repeated use justifies caching; bounded acquisition remains the
default for one-off selections.
8. Add source freshness probes only for publishers with stable official edition
6. 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
+26 -5
View File
@@ -792,12 +792,20 @@ metric semantics.
## Wallonia WALOUS land cover
The official SPW `WAL_OCS_IA__2020` and `WAL_OCS_IA__2023` GeoTIFF archives
provide comparable Walloon land-cover observations at native 1 m resolution in
EPSG:3812. Runtime analysis reads only bounded windows from operator-
The official SPW `WALOUS_OCS__2018`, `WAL_OCS_IA__2020` and
`WAL_OCS_IA__2023` GeoTIFF archives provide a governed Walloon land-cover time
series at native 1 m resolution in EPSG:3812. Runtime analysis reads only
bounded windows from operator-
provisioned, checksum-recorded source files and uses nearest-neighbour
resampling for the governed 10 m analysis derivative.
The 2018 source retains stacked two-digit codes. GeoIntel uses the official
`Classe vue` mapping and records the full crosswalk with every derived Dataset;
the 2018-only greenhouse class `62` is explicitly grouped with artificial
constructions. The 2018 production method included manual consolidation and
therefore remains a documented methodological break, not a silently identical
annual observation.
The 11 semantic classes use the non-contiguous source codes `1, 2, 3, 4, 5, 6,
7, 8, 9, 80, 90`. In order these mean artificial ground, above-ground
construction, railway, bare soil, surface water, rotating herbaceous cover,
@@ -805,12 +813,25 @@ continuous herbaceous cover, conifer trees above 3 m, deciduous trees above 3
m, conifer woody cover up to 3 m and deciduous woody cover up to 3 m. Codes 80
and 90 must never be normalized to invented classes 10 and 11.
The official temporal extents are 2020-04-01 through 2020-04-24 and 2023-05-27
through 2023-06-25. Metrics are estimated hectares from classified cells. They
The official temporal extents are calendar year 2018, 2020-04-01 through
2020-04-24 and 2023-05-27 through 2023-06-25. Metrics are estimated hectares
from classified cells. They
are not legal land use, ownership, individual tree counts, timber volume or
water volume. The official catalogue reports overall accuracy per edition and
also warns that accuracy varies by class and place.
## Wallonia terrain elevation
The official SPW `RELIEF_WALLONIE_MNT_1M_2021_2022` source is operator-
provisioned once from the fixed Geoportail artifact. GeoIntel validates and
checksums the full EPSG:3812, one-band, 1 m GeoTIFF, but reads and persists only
bounded analysis windows. The default derivative is 5 m with bilinear
resampling and exact Area masking. Heights remain metres in the Deuxieme
Nivellement General vertical reference (EPSG:5710); they are never relabelled
as TAW. SPW documents small interpolated gaps and about 0.12 m absolute
altimetric accuracy. Terrain analysis returns height, relief and slope while
keeping drainage, water depth and water volume unsupported.
## Bathymetry, inland profiles and maritime scope
The official VHA Digital Atlas profile-point layer is the first operational
+13
View File
@@ -317,6 +317,19 @@ Area metrics group forest/tree cover as `{8,9,80,90}`, water as `{5}`,
artificial cover as `{1,2,3}`, rotating herbaceous cover as `{6}`, continuous
herbaceous cover as `{7}` and bare soil as `{4}`.
The 2018 WALOUS edition additionally retains the original stacked source codes
and the complete official `Classe vue` crosswalk in provenance. Code `62`
(greenhouses) is normalized to canonical construction class `2`; this and the
2018 production-method difference must be displayed as a temporal comparison
limitation. Source value `0` is explicit implicit-background/nodata and is
never counted as a land-cover class.
The Wallonia MNT source retains EPSG:3812, native 1 m resolution, Float terrain
values, source checksum, acquisition period 2021-02-19/2022-03-05 and vertical
reference EPSG:5710 (DNG). Bounded derivatives use Float32, nodata `-9999`,
bilinear resampling and the selected Area as an exact mask. DNG and TAW are not
interchanged.
### Hydrological station observations
Waterinfo observations are persisted as EPSG:4326 Point features, one station
+3 -1
View File
@@ -47,7 +47,9 @@ runtime source of truth.
- The configured local YOLO model is opt-in, building-focused and bounded by
its documented operator evidence. It is not claimed to be an optimally
trained general model for all Belgian objects or themes.
trained general model for all Belgian objects or themes. The capability API
exposes this as `nationally_validated=false`, `validated_regions` and an
explicit validation scope; operator review remains required.
- PyTorch and Ultralytics are present only in the AI image. No model weights
auto-download. A missing local model reports unavailable.
- Local YOLO-seg and SAM segmentation are implemented through the ultralytics
+10 -4
View File
@@ -63,10 +63,16 @@ geen open productroadmap meer.
- [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.
- [x] Implementeer begrensde WALOUS 2020/2023 rasteracquisitie in EPSG:3812
met officiële klassen, vergelijkbaarheidscontract, pixelbudget, automatische
tijdreeksmaterialisatie en evolutiemetrics. WALOUS 2018 blijft bewust open
tot SPW opnieuw een stabiel checksum-verifieerbaar direct artifact aanbiedt.
- [x] Implementeer begrensde WALOUS 2018/2020/2023 rasteracquisitie in EPSG:3812
met officiële klassen, een expliciete 2018-klassecrosswalk, vergelijkbaarheidscontract,
pixelbudget, automatische tijdreeksmaterialisatie en evolutiemetrics. De vaste
officiële 2018-GeoTIFF-distributie is live checksum-gevalideerd; bronwaarde `0`
wordt expliciet als achtergrond/nodata behandeld.
- [ ] Rond de lopende live provisioning van het officiële SPW MNT 2021-2022
op 1 m in de operatorcache af en
bied begrensde terreinacquisitie/analyse in DNG aan. De 0,5 m-distributie blijft
buiten V1 omdat zij geen noodzakelijke analysecapaciteit toevoegt tegenover de
gevalideerde 1 m-bron en circa 213 GB bronopslag vraagt.
- [x] Implementeer de actuele Waalse overstromingsgevaarkaart als afzonderlijk
scenario-/juridisch contract; gebruik WMS alleen als context tenzij
analytische pixels of vectorgeometrie officieel beschikbaar zijn.