feat: provision regional Kempen context layers
This commit is contained in:
@@ -1,3 +1,19 @@
|
||||
## Sprint 191 Regional Kempen GRB context foundation (2026-07-14)
|
||||
|
||||
Changed:
|
||||
- Added `scripts/provision_regional_grb_context.py` for bounded, independently resumable `roads`, `water` and `parcels` source snapshots across the approved 28-municipality scope.
|
||||
- Reused geographic-scope artifacts and the existing DatasetService/VectorFeatureService partition import boundary; no direct SQL, migration, API contract or interactive provider fetch was introduced.
|
||||
- Preserved line and polygon source dimensions and collection-qualified identities, with length-based or area-based deterministic ownership for boundary-crossing features.
|
||||
- Added Docker packaging, readiness compilation, focused source-geometry/service tests and operator/source documentation.
|
||||
|
||||
Tested before deployment:
|
||||
- `python -m py_compile scripts/provision_regional_grb_context.py`.
|
||||
- `python -m pytest backend/tests/test_sprint191_regional_grb_context.py backend/tests/test_sprint190_regional_grb_buildings.py backend/tests/test_sprint106_map_bbox_extract.py -q` (`19 passed`).
|
||||
- `bash scripts/run_readiness_check.sh` (`552 passed`; one Alembic head; frontend typecheck/build and script syntax gates passed).
|
||||
|
||||
Next:
|
||||
- Pass the complete release gate, deploy the operator and provision all three live regional snapshots before claiming runtime readiness.
|
||||
|
||||
## Sprint 169 Filtered YOLO candidate gate and operator hardening (2026-07-12)
|
||||
|
||||
Changed:
|
||||
|
||||
@@ -124,6 +124,28 @@ reference dataset uses `source_name=grb`, `reference_layer_name=buildings`,
|
||||
selection aggregation. Existing viewport and bbox selection APIs remain the
|
||||
only interactive delivery path.
|
||||
|
||||
### Regional GRB context partition policy
|
||||
|
||||
Roads, water and parcels reuse the building operator's 28 resumable source
|
||||
partitions and one-dataset-per-theme persistence model. Polygon collections
|
||||
use maximum intersection area for cross-boundary ownership; line collections
|
||||
use maximum intersection length. Exact ties use the lower NIS code. Source
|
||||
identities are collection-qualified because the water theme combines `WTZ`,
|
||||
`WLAS` and `WGR`.
|
||||
|
||||
The user-facing datasets use `source_name=grb`, `dataset_role=reference`,
|
||||
`coverage_scope=kempen-transport-region` and respectively
|
||||
`reference_layer_name=roads`, `water` or `parcels`. They are current source
|
||||
snapshots with immutable observation dates, not temporal series inferred from
|
||||
successive operator runs. Feature counts retain source-object semantics and
|
||||
must not be relabelled as road length, water area or legal parcel counts.
|
||||
|
||||
Only `scripts/provision_regional_grb_context.py` may fetch these bounded
|
||||
artifacts. Application startup, map requests and the public provider registry
|
||||
remain fetch-free. All combined artifacts enter PostGIS through the existing
|
||||
DatasetService/VectorFeatureService boundary and existing bbox/Area selection
|
||||
contracts.
|
||||
|
||||
## User-uploaded raster strategy
|
||||
V1 must support controlled local datasets because public raster access and model compatibility can be difficult.
|
||||
|
||||
|
||||
@@ -67,6 +67,27 @@ referentiedataset via DatasetService en VectorFeatureService. De publieke GRB
|
||||
provider blijft `not_configured`: dit is een bewuste operatorrun en geen live
|
||||
download vanuit een browseractie of applicatiestart.
|
||||
|
||||
De overige actuele GRB-contextlagen volgen dezelfde begrensde aanpak via
|
||||
`scripts/provision_regional_grb_context.py`:
|
||||
|
||||
- `roads`: collectie `Wegsegment` (lijngeometrie). Dit zijn wegsegmenten uit
|
||||
de basiskaart, geen verkeersmetingen en geen routeringsnetwerk.
|
||||
- `water`: collecties `WTZ` (vlakken), `WLAS` en `WGR` (lijnen). De gemengde
|
||||
objecttelling is geen maat voor wateroppervlakte, debiet of volume.
|
||||
- `parcels`: collectie `ADP` (vlakken). Dit is de grafische ligging van het
|
||||
vermoedelijke kadastrale perceel en geen juridisch landmeetkundig bewijs.
|
||||
|
||||
Lijnobjecten worden bij gemeentegrenzen toegewezen op basis van de grootste
|
||||
intersectielengte, vlakobjecten op basis van de grootste intersectieoppervlakte
|
||||
en exacte ties op de laagste NIS-code. De brongeometrie wordt alleen tegen de
|
||||
volledige regiogrens gesneden. Bron-ID's worden met hun collectienaam
|
||||
gekwalificeerd zodat de drie watercollecties nooit stilzwijgend botsen.
|
||||
|
||||
Collectiecatalogus en contract:
|
||||
|
||||
- https://geo.api.vlaanderen.be/GRB/ogc/features/v1/collections?f=text%2Fhtml
|
||||
- https://geo.api.vlaanderen.be/GRB/ogc/features/v1/openapi?f=text%2Fhtml
|
||||
|
||||
### Mol population history
|
||||
|
||||
`scripts/provision_mol_population_history.py` imports official Statbel
|
||||
|
||||
Reference in New Issue
Block a user