feat: add cross-domain Mol data profile
This commit is contained in:
@@ -322,6 +322,53 @@ Returns a constrained transparent PNG for a persisted governed VMM flood-depth
|
||||
Dataset. It never accepts an arbitrary path or coverage id and is used by the
|
||||
existing MapLibre image-overlay path.
|
||||
|
||||
### GET `/api/v1/projects/{project_id}/datasets/thematic-raster/products`
|
||||
|
||||
Returns the fixed MercatorNet registry for `space_occupation_2025`,
|
||||
`open_space_2022`, `population_density_2019`, `node_value_2022` and
|
||||
`service_level_2022`. Every item includes the governed WCS coverage id, native
|
||||
resolution, source unit, observation year, legend, attribution and limitation.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/thematic-raster/acquire`
|
||||
|
||||
Acquires one allowlisted official coverage behind the synchronous Job
|
||||
abstraction. The request accepts only an EPSG:4326 bbox, optional project Area,
|
||||
one registry product key and an explicit refresh flag:
|
||||
|
||||
```json
|
||||
{
|
||||
"bbox": {"min_x": 5.03, "min_y": 51.15, "max_x": 5.25, "max_y": 51.33, "crs": "EPSG:4326"},
|
||||
"area_id": "optional-project-area-uuid",
|
||||
"product_key": "population_density_2019",
|
||||
"force_refresh": false
|
||||
}
|
||||
```
|
||||
|
||||
The backend uses native 10 m or 100 m resolution, splits requests into bounded
|
||||
WCS 1.0 tiles, validates EPSG:31370 and documented source values, masks the
|
||||
exact Area and persists an ordinary raster Dataset and DatasetVersion. It does
|
||||
not accept arbitrary URLs, coverage ids, resolutions or expressions.
|
||||
|
||||
### POST `/api/v1/projects/{project_id}/datasets/{dataset_id}/raster/thematic/select`
|
||||
|
||||
Returns source-correct metrics for a bbox and optional exact Area mask:
|
||||
|
||||
- occupied/open hectares, share and valid raster area for binary products;
|
||||
- estimated inhabitants plus mean/P90 inhabitants per hectare for the 2019
|
||||
population raster;
|
||||
- mean, P10, median and P90 source score for node value and service level.
|
||||
|
||||
The response names estimate status, aggregation method, source unit,
|
||||
observation year, attribution, unsupported metrics and product limitation.
|
||||
Current register population, live public-transport availability and causal
|
||||
interpretations are not produced.
|
||||
|
||||
### GET `/api/v1/projects/{project_id}/datasets/{dataset_id}/raster/thematic/image`
|
||||
|
||||
Returns a constrained transparent PNG generated from the persisted governed
|
||||
raster. It accepts neither an arbitrary file path nor a provider URL and feeds
|
||||
the existing MapLibre image-overlay path.
|
||||
|
||||
### GET `/api/v1/projects/{project_id}/datasets`
|
||||
|
||||
List datasets.
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
## Sprint 213-214 Cross-domain thematic rasters and DOV soil map (2026-07-16)
|
||||
|
||||
Changed:
|
||||
- Added a governed five-product MercatorNet thematic-raster registry covering
|
||||
space, people, accessibility and services with fixed coverage ids, native
|
||||
resolutions, units, years, legends and limitations.
|
||||
- Added safe WCS tiling, exact Area masking, canonical raster persistence,
|
||||
MapLibre rendering, selection metrics and persisted-metric Ollama context.
|
||||
- Added an explicit DOV soil-map operator for Mol with deterministic WFS 2.0
|
||||
pagination, exact EPSG:31370 clipping, raw checksums and canonical vector
|
||||
upload. No source writes directly to PostGIS.
|
||||
- Added end-user themes for space occupation, open space, population,
|
||||
accessibility, services and soil. Current-only official states no longer
|
||||
make Evolution appear available without at least two observations.
|
||||
|
||||
Validated during implementation:
|
||||
- Focused thematic and soil suites passed with 14 tests.
|
||||
- Frontend TypeScript typecheck passed after map and API integration.
|
||||
- Live source contracts were checked against MercatorNet WCS and the DOV
|
||||
production WFS; live runtime provisioning follows after deployment.
|
||||
|
||||
Next:
|
||||
- Run the complete readiness gate, deploy Tower, provision all six Mol layers,
|
||||
verify live PostGIS metrics and inspect the map at desktop, widescreen and
|
||||
mobile widths before starting regional rollout.
|
||||
|
||||
## Sprint 195 Guided raster-to-detection workflow (2026-07-14)
|
||||
|
||||
Changed:
|
||||
|
||||
@@ -28,8 +28,10 @@ CRS/unit validation, persisted provenance and selection-metric tests pass.
|
||||
- Historical context: official 1778, 1873 and 1969 mapped land-use classes and
|
||||
modern land-use editions where persisted.
|
||||
|
||||
This is a strong base, but population/services, soil classes and modeled
|
||||
accessibility are still genuine coverage gaps.
|
||||
The cross-domain Wave 1 implementation now adds population/services, modeled
|
||||
accessibility, space occupation, open space and the DOV soil classes to Mol.
|
||||
Regional completeness beyond Mol remains a controlled operator rollout rather
|
||||
than an automatic startup fetch.
|
||||
|
||||
## Domain A - Space, Buildings And Economy
|
||||
|
||||
@@ -142,6 +144,13 @@ DatasetService/VectorFeatureService path. This immediately gives every drawn
|
||||
rectangle a balanced profile across space, soil, people, services and
|
||||
accessibility.
|
||||
|
||||
Implementation status on 2026-07-16: complete for Mol. The five raster
|
||||
products use one fixed MercatorNet registry and the soil map uses the official
|
||||
`bodemkaart:bodemtypes` DOV WFS. All outputs are persisted through existing
|
||||
Dataset services, carry source year/period and limitations, and are selectable
|
||||
on the map. Regional raster provisioning is supported per persisted
|
||||
municipality; regional soil partitioning remains the next scale-out step.
|
||||
|
||||
### Wave 2 - Economic and mobility objects
|
||||
|
||||
Add governed vector operators for business parks, Hoppinpoints and cycle
|
||||
|
||||
@@ -26,6 +26,43 @@ aanvraag. GeoIntel verzint geen historische pixelopnamedatum. Bronnen:
|
||||
|
||||
Dit document verzamelt concrete databronnen voor GeoIntel Kempen.
|
||||
|
||||
## Cross-domain official area profile
|
||||
|
||||
GeoIntel uses one governed MercatorNet WCS registry for five non-water policy
|
||||
rasters. The operator is explicit and bounded; no source fetch occurs during
|
||||
startup or directly from the browser.
|
||||
|
||||
| Product | Coverage | Resolution | Selection output |
|
||||
| --- | --- | ---: | --- |
|
||||
| Ruimtebeslag 2025 | `lu:lu_ruibes_vlaa_2025_v3` | 10 m | occupied hectares and share |
|
||||
| Open ruimte 2022 | `lu:lu_openruimte_vlaa_2022_v3` | 10 m | open-space hectares and share |
|
||||
| Inwonersdichtheid 2019 | `ni:ni_inw_ha_vlaa_2019` | 100 m | estimated inhabitants and inhabitants/ha |
|
||||
| Knooppuntwaarde 2022 | `lu:lu_knptw_ha_2022_v3` | 100 m | source-score distribution |
|
||||
| Voorzieningenniveau 2022 | `lu:lu_totvznv_ha_2022_v3` | 100 m | normalized source-score distribution |
|
||||
|
||||
All coverages are stored in EPSG:31370 with their native cells, exact Area
|
||||
mask, request/checksum provenance and reference year. Space occupation is not
|
||||
the same as buildings or paving. Open space is not automatically nature or
|
||||
publicly accessible land. Population is a 2019 raster estimate, not a current
|
||||
register count. Accessibility and service scores are not live travel times or
|
||||
object counts.
|
||||
|
||||
## DOV digital soil map
|
||||
|
||||
- Service: `https://www.dov.vlaanderen.be/geoserver/wfs`
|
||||
- Layer: `bodemkaart:bodemtypes`
|
||||
- Source CRS and metric clipping: EPSG:31370
|
||||
- Persisted geometry: EPSG:4326 through DatasetService/VectorFeatureService
|
||||
- Scale: 1:20,000
|
||||
- Survey evidence: field data collected between 1949 and 1971
|
||||
|
||||
The Mol operator follows all WFS pages, keeps checksummed raw responses and
|
||||
persists soil type, series, generalized legend, texture, drainage, profile and
|
||||
substrate fields. Selection output reports intersected mapped hectares and
|
||||
fixed sand/anthropogenic context classes. The drainage field remains historical
|
||||
baseline evidence; GeoIntel does not claim it describes current parcel
|
||||
drainage or replace a site investigation.
|
||||
|
||||
## GRB — Basiskaart Vlaanderen
|
||||
|
||||
- Naam: Basiskaart Vlaanderen / GRB
|
||||
|
||||
@@ -205,6 +205,29 @@ The smoke never passes `--apply`. It fails if the cleanup summary is not a
|
||||
dry-run, if any export/file deletion is reported, or if the dry-run candidate
|
||||
fields are missing.
|
||||
|
||||
## Governed cross-domain raster and soil evidence
|
||||
|
||||
MercatorNet thematic products use the ordinary raster Dataset and immutable
|
||||
DatasetVersion paths under `STORAGE_ROOT`. `source_metadata` records product,
|
||||
coverage, native resolution/unit, render range, reference year and request
|
||||
bounds. `provenance_metadata` records every tiled WCS URL, transfer checksum,
|
||||
normalized checksum, exact Area id and validation result. No new storage table
|
||||
or provider-side path is introduced.
|
||||
|
||||
The DOV Mol soil operator retains evidence under:
|
||||
|
||||
```text
|
||||
storage/operator-evidence/dov-soil-map/mol/
|
||||
raw/dov_soil_map_page_*.json
|
||||
dov_soil_map_mol.geojson
|
||||
dov_soil_map_mol.manifest.json
|
||||
```
|
||||
|
||||
Only the normalized, exactly clipped GeoJSON enters DatasetService and
|
||||
`vector_features`. The manifest binds the persisted artifact, Mol boundary,
|
||||
source page URLs/checksums, feature completeness, class-area summaries and
|
||||
historical limitations. Raw source responses remain operator evidence.
|
||||
|
||||
## Model storage
|
||||
|
||||
Model artifacts live under:
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
- [x] Add annual agricultural-use parcels through an explicit provider/operator contract.
|
||||
- [x] Extend the official 1778/1873/1969 historical buildings, water and roads series from Mol to the approved regional scope with partitioned source audits.
|
||||
- [x] Connect a drawn rectangle to bounded official orthophoto acquisition, local configured-YOLO detection and persisted GRB QA.
|
||||
- [x] Add governed official space-occupation, open-space, population-density, accessibility and service-level rasters with semantic map metrics.
|
||||
- [x] Add the DOV digital soil map for Mol with exact clipping, source attributes and historical survey limitations.
|
||||
- [ ] Execute the governed thematic-raster operator for every persisted Kempen municipality after the Mol live gate passes.
|
||||
- [ ] Generalize the DOV soil-map operator to all 28 approved Kempen municipality partitions with one regional snapshot manifest.
|
||||
|
||||
## Governed source expansion backlog
|
||||
|
||||
|
||||
Reference in New Issue
Block a user