Initial public release
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
This commit is contained in:
@@ -0,0 +1,927 @@
|
||||
# Data Sources
|
||||
|
||||
## Orthofotomozaiek Vlaanderen - meest recent
|
||||
|
||||
- Naam: Orthofotomozaiek middenschalig, winteropnamen, kleur, meest recent
|
||||
- Beheerder: Digitaal Vlaanderen
|
||||
- Type: RGB-raster via WMS
|
||||
- Operationele laag: `OMWRGBMRVL` / `Ortho`
|
||||
- CRS bij opslag: `EPSG:31370`
|
||||
- Gebruik: expliciet begrensde luchtbeeldanalyse en lokale gebouwdetectie
|
||||
- Autoriteit: officiele beeldbron; AI-detecties zelf zijn niet-autoritatief
|
||||
|
||||
De hoofdkaart kan na een getekende rechthoek een expliciete, begrensde WMS
|
||||
GetMap-aanvraag uitvoeren. De backend aanvaardt alleen rechthoeken van 128 tot
|
||||
1.024 meter per zijde, samplet standaard op 1 m/pixel voor het actieve lokale
|
||||
modelprofiel en bewaart het gegeorefereerde GeoTIFF via DatasetService met
|
||||
aanvraag, checksum, bron, attributie en beperking. Een identieke selectie mag
|
||||
24 uur worden hergebruikt. Er is geen startupfetch en de browser bevraagt de
|
||||
externe WMS nooit rechtstreeks.
|
||||
|
||||
De bron is de meest recente samengestelde wintermozaiek op het moment van de
|
||||
aanvraag. GeoIntel verzint geen historische pixelopnamedatum. Bronnen:
|
||||
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/orthofotomozaiek-middenschalig-winteropnamen-kleur-meest-recent-vlaanderen
|
||||
- https://www.vlaanderen.be/digitaal-vlaanderen/onze-diensten-en-platformen/luchtopnamen/gebruik-orthofotomozaieken
|
||||
|
||||
Voor een rolling-releasebeslissing gebruikt
|
||||
`scripts/orthophoto_release_preflight.py` uitsluitend metadata. Het bindt de
|
||||
lokale `most_recent`-productvariant aan de officiële ISO-editie en exacte WMS-
|
||||
capabilitieshash, controleert het EPSG:31370/15 cm/driebanden-rasterdomein via
|
||||
WCS `DescribeCoverage` en bemonstert de querybare `Vliegdagcontour` op een
|
||||
deterministisch raster met maximaal 128 m afstand. Er worden geen `GetMap`-,
|
||||
`GetCoverage`- of uploadrequests uitgevoerd.
|
||||
|
||||
De WCS-domeincontrole bewijst dat de volledige begrensde selectie binnen het
|
||||
officiële rasterdomein valt. De WMS publiceert geen vliegdagpolygonen als WFS;
|
||||
het vluchtjaar blijft daarom expliciet puntbewijs en geen verzonnen polygon-
|
||||
union. Een selectie met ontbrekende contourpunten, meerdere/afwijkende
|
||||
vluchtjaren, gewijzigde service-identiteit of een niet-vergelijkbare lokale
|
||||
`most_recent_at_*` marker is niet stagebaar.
|
||||
|
||||
`scripts/manage_orthophoto_release.py` voert daarna uitsluitend op expliciet
|
||||
operatorverzoek `plan`, `stage`, `review` en `apply` uit. Stage haalt exact een
|
||||
begrensde `Ortho`-GetMap op, bewaart bronresponse, genormaliseerde RGB-GeoTIFF
|
||||
en review-PNG met checksums, maar schrijft geen Dataset. Review koppelt een
|
||||
benoemde goedkeuring aan exact die bytes. Apply valideert preflight, plan,
|
||||
review en lokale bronstaat opnieuw en gebruikt vervolgens de bestaande
|
||||
Dataset-uploadroute. De nieuwe Dataset krijgt de officiële `YYYY.NN`-editie;
|
||||
oude `most_recent_at_*` rasters blijven onveranderd bewaard. De eerste overgang
|
||||
vereist een aparte baselinevlag plus de exacte oude marker. Er is geen
|
||||
scheduler, browserfetch of automatische vervanging.
|
||||
|
||||
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.
|
||||
|
||||
In `Flanders Regional Workbench` these five products are shown as
|
||||
`Op aanvraag` until a user chooses a municipality or draws a bounded
|
||||
rectangle. One selection acquires, persists and analyses the five products
|
||||
through the canonical backend. Repeating the exact same product, bounds and
|
||||
Area reuses the retained source evidence. GeoIntel does not preload 1,425
|
||||
municipality/product combinations and does not permit one unbounded
|
||||
whole-Flanders WCS transfer.
|
||||
|
||||
## 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 and regional operators follow all WFS pages, keep checksummed raw
|
||||
responses and persist soil type, series, generalized legend, texture, drainage,
|
||||
profile and substrate fields. The regional snapshot is assembled from 28 exact
|
||||
municipality partitions with unique NIS-suffixed source ids. 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
|
||||
- Beheerder: Digitaal Vlaanderen
|
||||
- Type: vector
|
||||
- Gebruik: referentiegebouwen, wegen, terreinobjecten, QA/QC
|
||||
- Toegang: WFS of download
|
||||
- Cache: PostGIS per analysegebied
|
||||
- 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.
|
||||
|
||||
### Operationele regio Kempen
|
||||
|
||||
Voor regionale analyse gebruikt GeoIntel de officiële `Vervoerregio Kempen`
|
||||
van de Vlaamse overheid. Deze beleidsregio bestaat uit 28 gemeenten. Ze is
|
||||
expliciet gekozen omdat ze actueel, reproduceerbaar en bestuurlijk
|
||||
gedocumenteerd is. GeoIntel beweert niet dat deze grens samenvalt met de
|
||||
ruimere culturele, landschappelijke of historische Kempen.
|
||||
|
||||
`scripts/geographic_scopes.py` registreert de 28 actuele namen en NIS-codes.
|
||||
`scripts/provision_geographic_scope.py` controleert die tegen `VRBG/Refgem`,
|
||||
maakt de regionale union en bewaart zowel de union als alle afzonderlijke
|
||||
gemeentegrenzen met bron-URL, checksum, autoriteit en beperking. De gemeten
|
||||
operationele grens omvat circa `1.399,25 km²`.
|
||||
|
||||
Bronnen:
|
||||
|
||||
- https://www.vlaanderen.be/mobiliteitsprofessionals/personenvervoer/basisbereikbaarheid/mobiliteitsuitdagingen-regionaal-aanpakken/vervoerregios/over-de-vervoerregio-kempen
|
||||
- https://geo.api.vlaanderen.be/VRBG/ogc/features/v1/collections/Refgem/items
|
||||
|
||||
De scope-operator haalt geen thematische gegevens op. GRB, bevolking en
|
||||
landgebruik volgen als afzonderlijke begrensde imports; ontbrekende regionale
|
||||
thema's blijven zichtbaar onbeschikbaar.
|
||||
|
||||
De actuele regionale gebouwlaag wordt afzonderlijk opgehaald door
|
||||
`scripts/provision_regional_grb_buildings.py`. De operator bevraagt
|
||||
`GRB/GBG` per officiële gemeentegrens, volgt alle pagina's en weigert elk
|
||||
veiligheidslimiet als truncatie te verbergen. Grensoverschrijdende objecten
|
||||
worden aan één gemeentepartitie toegewezen op basis van de grootste overlap;
|
||||
de uiteindelijke geometrie wordt uitsluitend tegen de volledige regiogrens
|
||||
gesneden. Daardoor bevat het regionale dataset elke GRB-bronidentiteit exact
|
||||
één keer.
|
||||
|
||||
De 28 bronpartities, paginabronnen, aantallen en checksums blijven als
|
||||
operatorbewijs bewaard. GeoIntel indexeert ze batchgewijs als één regionaal
|
||||
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
|
||||
|
||||
### Beheerde GRB-edities en objectevolutie
|
||||
|
||||
Elke regionale GRB-import blijft een onveranderlijke Dataset in dezelfde
|
||||
`temporal_series_key`. De operators bewaren uitsluitend de officiële OGC
|
||||
feature-ID als `source_feature_id`; een ontbrekende ID wordt niet vervangen
|
||||
door een geometriehash. Nieuwe snapshots declareren
|
||||
`identity_scheme=grb_ogc_feature_id` en de toegelaten collectieprefixen.
|
||||
|
||||
De tijdelijke vergelijkingsservice toont toegevoegde, verwijderde en gewijzigde
|
||||
objecten alleen wanneer beide snapshots hetzelfde gecontroleerde
|
||||
identiteitscontract hebben en alle geselecteerde ID's aanwezig en uniek zijn.
|
||||
Oudere, reeds beheerde snapshots worden alleen onder hun volledige
|
||||
authoritatieve operatorprovenance aanvaard. Dagelijkse editieverschillen zijn
|
||||
wijzigingen in de officiële registratie; de fysieke wijziging kan eerder zijn
|
||||
gebeurd.
|
||||
|
||||
### Refreshgereedheid van officiële bronnen
|
||||
|
||||
| bronfamilie | huidige behandeling | volgende veilige stap |
|
||||
| --- | --- | --- |
|
||||
| GRB gebouwen/wegen/water/percelen | operationele, expliciete plan-stage-apply refresh met onveranderlijke snapshots | alleen een nieuw officieel gedateerd cataloguseditie na operatorbevestiging ophalen |
|
||||
| Statbel bevolking | jaarlijkse, expliciete edities in één tijdreeks; officiële DCAT-releaseprobe | een nieuwe publicatie alleen na schema-, sectorgeometrie- en totalencontrole toevoegen |
|
||||
| ALZ landbouwgebruikspercelen | definitieve jaarlijkse edities 2008-2025; expliciete publicatieprobe en plan-stage-review-apply promotie; metricvergelijking zonder objectlineage | alleen een nieuwere definitieve v3-editie na gestagede schema-/codelijst-/scopecontrole en benoemde review toevoegen |
|
||||
| orthofoto | vaste lokale analyseopnamen plus operationele preflight en benoemde plan-stage-review-apply-promotie voor een officiële `YYYY.NN`-editie | alleen een nieuwere officiële editie als afzonderlijke immutable Dataset promoveren na verse evidence en review |
|
||||
| landgebruik, thematische rasters, DHMV en VMM-scenario's | vaste product-/scenario-edities, geen rolling snapshot | alleen een nieuwe gedocumenteerde producteditie als afzonderlijke Dataset verwerven |
|
||||
| bodemkaart en historische kaarten | historische referentie-editie | niet als verouderde actuele bron labelen; alleen vervangen bij een officiële inhoudelijke heruitgave |
|
||||
| BWK/Natura 2000 en gebouwen-/adressenregister | expliciete actuele snapshot met eigen methodologische betekenis | eerst een stabiele officiële editieprobe en bron-specifieke reconciliatiecontrole toevoegen |
|
||||
|
||||
Geen van deze regels activeert een browserfetch, scheduler of automatische
|
||||
vervanging. Een bron wordt pas `refreshable` wanneer versie, dekking, schema,
|
||||
provenance en een begrensde acquisitieroute afzonderlijk verifieerbaar zijn.
|
||||
|
||||
De ALZ-publicatiepagina levert drie campagnesnapshots: v1 en v2 zijn
|
||||
voorlopig, v3 is de definitieve historische editie. GeoIntel vergelijkt daarom
|
||||
de lokale `2025-definitive` uitsluitend met de officiële `2025-v3`, terwijl de
|
||||
actuele `2026-v1` zichtbaar maar niet updategerechtigd blijft. De probe leest
|
||||
alleen de allowlisted HTML-pagina en linkidentiteiten; ZIP-archieven worden pas
|
||||
door de afzonderlijke operator opgehaald na menselijke editiebevestiging.
|
||||
|
||||
`scripts/manage_alz_agriculture_release.py` beheert zo'n toekomstige
|
||||
definitieve editie in vier afzonderlijke operatorstappen. `plan` vergelijkt
|
||||
read-only de nieuwste v3 met de lokale `*-definitive` Dataset. `stage` vereist
|
||||
de exacte `YYYY-v3`, leidt de archief-URL af uit de gecontroleerde campagne en
|
||||
publicatiedatum en voert de bestaande provisioner uitsluitend met
|
||||
`--force --fetch-only` uit. Het staged plan bindt bronarchief, GeoPackage-
|
||||
schema/CRS, genormaliseerde GeoJSON, gewascodelijst, scope-aantallen en de
|
||||
verschillen met de vorige definitieve editie aan SHA-256.
|
||||
|
||||
`review` vereist een benoemde menselijke goedkeuring van exact dat plan.
|
||||
`apply` vereist de plan- en reviewhash, controleert catalogus en alle bestanden
|
||||
opnieuw en maakt via de bestaande uploadservice hoogstens een nieuwe immutable
|
||||
Dataset. Een v1/v2-snapshot, huidige of oudere editie, cataloguswijziging,
|
||||
gewijzigde bronbyte of evidence buiten de beheerde opslagroot blokkeert de
|
||||
flow. Er is geen scheduler, browserdownload of automatische vervanging.
|
||||
|
||||
De Statbel-probe leest uitsluitend de officiële DCAT Turtle-catalogus en
|
||||
selecteert de nieuwste unieke Nederlandstalige publicatie `Bevolking per
|
||||
statistische sector`. Voor 2025 vereist GeoIntel de nieuwe REDEGEO-indeling;
|
||||
de meegeleverde oude indeling is alleen overgangsevidentie. De cataloguslinks
|
||||
naar TXT/ZIP en XLSX worden op host, pad, jaar en variant gevalideerd maar niet
|
||||
opgehaald. De afzonderlijke statistische-sectorgeometrie 2026 betekent niet
|
||||
dat er al bevolkingscijfers per sector voor 2026 zijn gepubliceerd.
|
||||
|
||||
Een afzonderlijke import-preflight in
|
||||
`scripts/statbel_population_preflight.py` controleert lokaal gestagede
|
||||
officiele ZIP-archieven voordat de bevolkingsoperator een nieuwe afgeleide
|
||||
snapshot mag aanbieden aan DatasetService. De controle is fail-closed voor
|
||||
bron-URL en editie, ZIP-veiligheid, verplichte kolommen, REDEGEO-layout,
|
||||
EPSG:31370, situatiedatum, geometrie/sectorjoin, gemeentetoewijzing, nationale
|
||||
en scopespecifieke totalen en een begrensde vergelijking met de vorige
|
||||
snapshot. Herstelbare bron-topologiefouten worden uitsluitend met
|
||||
`make_valid` genormaliseerd wanneer geometriesoort en oppervlakte behouden
|
||||
blijven; elk herstel staat in het manifest.
|
||||
|
||||
Vanaf de editie 2025 mag de eerste vijf tekens van `CD_SECTOR` niet als actuele
|
||||
gemeentecode worden gebruikt. Gemeentefusies kunnen een historische
|
||||
sectorcode onder een nieuwe `CD_REFNIS` plaatsen. GeoIntel valideert daarom de
|
||||
expliciete gemeentevelden uit de bevolkings- en geometriebron tegen elkaar.
|
||||
Bevolkingsregels met suffix `ZZZZ` zijn officiele niet-lokaliseerbare totalen:
|
||||
ze tellen mee in de reconciliatie en het manifest, maar niet in kaartselecties
|
||||
of ruimtelijke schattingen.
|
||||
|
||||
Een geslaagde preflight maakt een controlespoor met SHA-256 voor beide
|
||||
bronarchieven en de afgeleide GeoJSON. Zij geeft alleen technische
|
||||
importgeschiktheid aan; zij vervangt of importeert nooit automatisch een
|
||||
bestaande Dataset.
|
||||
|
||||
`scripts/manage_statbel_population_release.py` beheert een toekomstige editie
|
||||
in vier afzonderlijke operatorstappen. `plan` vergelijkt de nieuwste
|
||||
allowlisted DCAT-editie read-only met de lokale bronversie. `stage` vereist
|
||||
expliciete bevestiging van jaar en REDEGEO-layout, haalt de exact uit het
|
||||
cataloguscontract afgeleide Statbel-URL's begrensd op en voert alleen de
|
||||
preflight/artefactstaging uit. `review` schrijft pas na een benoemde menselijke
|
||||
goedkeuring SHA-256-gebonden reviewevidence. `apply` vereist zowel plan- als
|
||||
reviewhash, controleert catalogusidentiteit en alle bestanden opnieuw en maakt
|
||||
via de bestaande uploadservice hoogstens een nieuwe immutable Dataset.
|
||||
|
||||
De coordinator accepteert geen vrije provider-URL, start geen achtergrondtaak
|
||||
en kan een actuele of oudere remote editie niet stagen. Een ontbrekende
|
||||
bijbehorende sectorgeometrie, gewijzigde catalogus, gewijzigde bronbyte,
|
||||
onverklaarde totalensprong of onvolledige review blokkeert de flow. Bestaande
|
||||
snapshots blijven beschikbaar voor historische vergelijking.
|
||||
|
||||
### Mol population history
|
||||
|
||||
`scripts/provision_mol_population_history.py` imports official Statbel
|
||||
population-by-statistical-sector tables and matching sector geometries for
|
||||
2021 through 2025. It keeps the published sector total as
|
||||
`population_total`, clips the official geometry to Mol NIS `13025` and uploads
|
||||
each year as a separate dataset in
|
||||
`statbel:population-statistical-sector:mol`.
|
||||
|
||||
Nieuwe of met `--force` herbouwde edities doorlopen verplicht de
|
||||
import-preflight. Bestaande historische caches zonder preflightmanifest mogen
|
||||
alleen worden hergebruikt wanneer de overeenkomende Dataset al bestaat; een
|
||||
nieuwe import uit zo'n cache wordt geweigerd totdat de officiele bron opnieuw
|
||||
wordt gestaged en gevalideerd.
|
||||
|
||||
Complete sectors use their published population total. A rectangle that cuts
|
||||
through a sector uses an explicitly labelled area-weighted estimate; the
|
||||
source does not justify a more precise intra-sector distribution.
|
||||
|
||||
Statistical-sector codes and boundaries can change between editions. GeoIntel
|
||||
therefore compares population metrics but does not present sector additions,
|
||||
removals or boundary changes as population-object lineage.
|
||||
|
||||
### Historical land use for Mol and the approved region
|
||||
|
||||
`scripts/provision_mol_historical_landuse.py` uses the official Digitaal
|
||||
Vlaanderen Historical Land Use WFS for the 1778, 1873 and 1969 collections.
|
||||
Buildings, forest, water and roads are filtered server-side, clipped to the
|
||||
official Mol boundary and uploaded through the existing dataset service.
|
||||
Source classes, request URLs, observation year, simplification tolerance and
|
||||
methodological limitations remain in provenance.
|
||||
|
||||
These historical map editions support exploratory area evolution, not
|
||||
cadastral object lineage. Their feature identities are declared unstable and
|
||||
GeoIntel does not fabricate added/removed object counts.
|
||||
|
||||
The operator uses standards-compliant WFS 2.0 XML POST requests. This keeps
|
||||
the spatial/class filters server-side without exposing a long XML filter in a
|
||||
GET query, which the public gateway rejects.
|
||||
|
||||
`scripts/provision_regional_historical_landuse.py` extends the building,
|
||||
water and road series to the approved 28-municipality transport-region scope.
|
||||
Broad regional WFS counts are capped at 10,000 by the public service, so the
|
||||
operator uses the retained official VRBG municipality boundaries as 28
|
||||
explicit source partitions. Each exact WFS JSON response is retained as a
|
||||
deterministically compressed artifact with response and artifact SHA256,
|
||||
then clipped to its municipality before one regional snapshot is assembled.
|
||||
Partition-suffixed feature ids prevent cross-boundary source polygons from
|
||||
colliding. Those ids remain processing evidence and are not historical object
|
||||
lineage.
|
||||
|
||||
### Mol modern land use
|
||||
|
||||
`scripts/provision_official_landuse_timeseries.py` uses the public Departement
|
||||
Omgeving/MercatorNet WCS to retrieve the harmonized version 3 land-use maps for
|
||||
2013, 2016, 2019, 2022 and 2025. The source is a categorical 10 m GeoTIFF in
|
||||
Belgian Lambert 72 (`EPSG:31370`) with 19 documented classes. GeoIntel derives
|
||||
four explicitly labelled, methodologically comparable surfaces from one
|
||||
retained source raster per year:
|
||||
|
||||
- `forest`: class 12, bosoppervlakte;
|
||||
- `water`: class 17, wateroppervlakte (not water volume);
|
||||
- `built`: classes 1-4 and 6-8, surface used by built functions, not GRB
|
||||
building footprints;
|
||||
- `transport`: class 5, transport-infrastructure surface, not GRB road length.
|
||||
|
||||
Every source raster is clipped against the explicit official boundary,
|
||||
validated for integer classes, CRS and resolution, checksummed and retained in
|
||||
persistent operator storage. Forest cells are polygonized and clipped in
|
||||
`EPSG:31370`, then transformed to canonical `EPSG:4326` and uploaded through
|
||||
DatasetService/VectorFeatureService. The raw raster remains the provenance
|
||||
artifact; the persisted polygons provide rectangle selection, PostGIS area
|
||||
aggregation and temporal comparison without a parallel query path.
|
||||
All cells touching the requested boundary are considered before the exact
|
||||
metric geometry clip; NoData cells are excluded and counted in the manifest.
|
||||
|
||||
The modern series key is
|
||||
`department-omgeving:land-use:forest:mol`. It remains separate from
|
||||
`digitaal-vlaanderen:historical-landuse:forest:mol`: the 1778-1969
|
||||
cartographic editions and the harmonized 2013-2025 10 m land-use maps are not
|
||||
presented as one continuous measurement method. Raster-derived polygon
|
||||
identities are unstable, so GeoIntel compares hectares and never invents
|
||||
added/removed forest objects.
|
||||
|
||||
### Regional official time series
|
||||
|
||||
`scripts/provision_regional_timeseries.py` applies the population, modern
|
||||
land-use and partitioned historical land-use operators to the approved 28-municipality
|
||||
`kempen-transport-region` scope. It resolves the checksummed VRBG union
|
||||
boundary and writes to `Kempen Regional Workbench` through the normal dataset
|
||||
API. Regional keys are
|
||||
`statbel:population-statistical-sector:kempen-transport-region` and
|
||||
`department-omgeving:land-use:{theme}:kempen-transport-region`, so Mol datasets
|
||||
remain independent observations rather than aliases.
|
||||
Historical buildings, water and roads use
|
||||
`digitaal-vlaanderen:historical-landuse:{theme}:kempen-transport-region` and
|
||||
remain separate from both current GRB geometry and the harmonized 2013-2025
|
||||
land-use rasters.
|
||||
|
||||
The command is explicit and operator-triggered. No source fetch happens during
|
||||
startup or map interaction. Partial statistical sectors remain area-weighted
|
||||
population estimates; forest hectares remain measurements in the harmonized
|
||||
10 m source representation and are not cadastral forest boundaries.
|
||||
The WCS source limits large responses, so regional forest retrieval is
|
||||
partitioned by the same 28 official municipality boundaries. GeoIntel retains
|
||||
those source rasters, merges them on their native 10 m grid and applies the
|
||||
exact regional union clip before polygon persistence.
|
||||
|
||||
Official catalogues:
|
||||
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/wfs-historisch-landgebruik
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/digitalisatie-historisch-landgebruik-en-landgebruiksveranderingen-in-vlaanderen-1778-2022
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2013
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2016
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2019
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2022
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2025
|
||||
- https://www.vlaanderen.be/statistiek-vlaanderen/ruimtegebruik/landgebruik/metadata-landgebruik
|
||||
|
||||
## Audited official follow-up sources
|
||||
|
||||
These sources are available from their public authorities but are not silently
|
||||
treated as loaded GeoIntel data. The Source inventory labels them separately
|
||||
until a governed operator import, provenance record and validation pass exist.
|
||||
|
||||
- Biologische Waarderingskaart / Natura 2000 (INBO), state 2025: suitable for
|
||||
habitat, biotope and ecological-value analysis, not a continuous annual
|
||||
series.
|
||||
- Buildings and Addresses Register (Digitaal Vlaanderen): continuously updated
|
||||
building status, life cycle and address linkage; complementary to GRB
|
||||
geometry and not yet imported.
|
||||
- DHMV II DTM/DSM (Digitaal Vlaanderen): governed bounded WCS acquisition is
|
||||
implemented below. The official 1 m source and 5 m analysis copy are suitable
|
||||
for measured elevation, relief and slope. Drainage remains an interpretation;
|
||||
the products do not provide water depth.
|
||||
|
||||
## Governed BWK and Natura 2000 state 2025
|
||||
|
||||
`scripts/provision_mol_bwk_natura2000.py` uses the official production WFS
|
||||
`https://geo.api.vlaanderen.be/BWK/wfs`, feature type `BWK:Bwkhab`. It follows
|
||||
server `next` links and uses WFS `startIndex` only when a full page omits that
|
||||
link. A short final page is required for completeness. Raw response pages,
|
||||
request URLs and SHA256 checksums are retained.
|
||||
|
||||
The source bbox is reduced to the exact persisted Mol Area in Belgian Lambert
|
||||
72. Only valid polygonal intersections are emitted, transformed back to
|
||||
EPSG:4326 and imported through DatasetService with `source_name` equal to
|
||||
`inbo_bwk_natura2000` and `reference_layer_name` equal to `nature_value`.
|
||||
Required attribution is `Bron: INBO`.
|
||||
|
||||
`EVAL` classes are reported separately. Natura 2000 and regionally important
|
||||
biotope hectares use official `PHAB` shares; uncertain `ohab` polygons remain
|
||||
knowledge gaps. The official report warns that parts of the 2025 edition,
|
||||
especially outside Habitats Directive areas, can still be based on older
|
||||
mapping. GeoIntel therefore preserves origin fields and never presents this
|
||||
single edition as a historical trend.
|
||||
|
||||
## Governed annual agricultural-use parcels
|
||||
|
||||
`scripts/provision_agricultural_parcel_history.py` uses the official annual
|
||||
download archives published by Agentschap Landbouw en Zeevisserij. Only the
|
||||
definitive editions 2008-2025 are allowed. The provisional current-campaign
|
||||
snapshot is deliberately excluded, and the retiring Digitaal Vlaanderen
|
||||
`Landbgebrperc` WFS is not used as the long-term source path.
|
||||
|
||||
Each official ZIP, SHA256 checksum, full-edition crop code list and manifest is
|
||||
retained. The temporary GeoPackage is validated as EPSG:31370 with the stable
|
||||
annual field set, read through the GIS optional dependencies and deleted after
|
||||
the normalized GeoJSON has been built. Geometry is clipped exactly against the
|
||||
persisted scope Area in Lambert 72 and imported only through DatasetService.
|
||||
|
||||
Future definitive editions are accepted only as one explicit release per
|
||||
operator run with an exact official
|
||||
`agpa_<campaign>_<publication-date>_public.zip` identity. Reaching that URL is
|
||||
not sufficient for persistence: the separate release manager must first stage
|
||||
and bind all evidence, receive named approval and revalidate it during apply.
|
||||
|
||||
The regional default creates the series
|
||||
`alz:agricultural-use-parcels:kempen-transport-region`; `--scope mol` creates an
|
||||
independent Mol series. Selection and evolution expose exact intersected
|
||||
hectares for total declared use and official main-crop groups. Individual
|
||||
parcel additions/removals are unavailable because parcel identity is not
|
||||
stable across campaign years.
|
||||
|
||||
Official catalogues:
|
||||
|
||||
- https://landbouwcijfers.vlaanderen.be/open-geodata-landbouwgebruikspercelen
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/open-geodata-landbouwgebruikspercelen
|
||||
|
||||
## Governed Waterinfo station history
|
||||
|
||||
`scripts/provision_waterinfo_station_history.py` uses the public Waterinfo
|
||||
KiWIS query service only after an explicit operator command. It discovers the
|
||||
documented annual water-level (`192784`) and discharge (`192895`) groups,
|
||||
filters station points against the exact persisted Area and retains the raw
|
||||
station/value JSON plus SHA256 manifests.
|
||||
|
||||
Each station and year becomes one immutable reference Dataset through the
|
||||
normal upload API. Series keys include the station identity; different stations
|
||||
are never averaged into one municipal value. Selection aggregation is a numeric
|
||||
mean over the selected station records and remains labelled as a point
|
||||
measurement. Water level or discharge does not establish area-wide water
|
||||
volume without compatible depth, profile and coverage data.
|
||||
|
||||
## Governed historical orthophotos
|
||||
|
||||
The bounded map acquisition registry includes the official annual winter
|
||||
mosaics for 2012-2025, period products for 2000-2003, 2005-2007 and 2008-2011,
|
||||
the RGB 1979-1990 summer mosaic and the panchromatic 1971 mosaic. Requests stay
|
||||
within the configured 128-1,024 m safety envelope and are persisted as
|
||||
EPSG:31370 raster Datasets with explicit product, layer, observation period,
|
||||
attribution and request hashes.
|
||||
|
||||
Historical mosaics are for visual comparison only in this phase. Current YOLO
|
||||
building detection and current GRB QA remain restricted to `most_recent`, since
|
||||
validating an old image against today's building state would produce dishonest
|
||||
quality metrics.
|
||||
|
||||
## OSM
|
||||
|
||||
- Naam: OpenStreetMap
|
||||
- Type: vector
|
||||
- Gebruik: fallback referentie, wegen, POI's, landuse
|
||||
- Toegang: Overpass API of lokale extracten
|
||||
- Cache: PostGIS per analysegebied
|
||||
- Prioriteit: V1 fallback
|
||||
|
||||
## Sentinel-2
|
||||
|
||||
- Naam: Copernicus Sentinel-2
|
||||
- Type: multispectraal raster
|
||||
- Gebruik: NDVI, NDWI, NDBI, remote sensing change detection
|
||||
- Toegang: Copernicus/STAC later te bepalen
|
||||
- Cache: raster storage + metadata in PostGIS
|
||||
- Prioriteit: V2
|
||||
|
||||
## DHMV
|
||||
|
||||
- Naam: Digitaal Hoogtemodel Vlaanderen
|
||||
- Type: raster/hoogte
|
||||
- Gebruik: DTM/DSM hoogte, reliëf, helling en laagste punten
|
||||
- Toegang: productie-WCS `https://geo.api.vlaanderen.be/DHMV/wcs`
|
||||
- Coverages: `DHMVII_DTM_1m`, `DHMVII_DSM_1m`
|
||||
- Native raster: 1 m Float32, EPSG:31370, nodata `-9999`, hoogte in TAW
|
||||
- Opnameperiode: 2013-2015; geen uniforme recente peildatum
|
||||
- Cache: canonical raster Dataset plus WCS request/response/output checksums
|
||||
- Operators: `scripts/provision_mol_dhmv.py`,
|
||||
`scripts/provision_regional_dhmv.py`
|
||||
- Prioriteit: P4 uitgevoerd voor alle 28 Kempen-gemeenten
|
||||
|
||||
The operator requests a bounded 5 m analysis copy by default so a complete
|
||||
municipality remains operationally manageable while retaining the official
|
||||
1 m native resolution in source metadata. The response is clipped to the exact
|
||||
persisted Area before `DatasetService` stores it. DTM is bare-earth terrain;
|
||||
DSM includes buildings and vegetation. Neither is exposed as water depth,
|
||||
water volume or a directly measured building-height product. A drainage model
|
||||
would require a separately governed hydrological processing pass.
|
||||
|
||||
De regionale operator gebruikt exact de 28 persistente gemeente-Areas van de
|
||||
goedgekeurde Kempen-scope en plant twee outputs per gemeente. Die 56
|
||||
gemeentepartities vermijden een onnodig monolithisch hoogtebestand, blijven
|
||||
binnen WCS/pixelgrenzen en sluiten aan op de gebiedsgebonden datasetselectie in
|
||||
de kaart. De live matrix bevat 56 geverifieerde Datasets en DatasetVersions.
|
||||
De regionale kaart combineert alleen de partities die een getekende selectie
|
||||
raken; globale statistieken worden uit de samengevoegde cellen berekend.
|
||||
Herhaalruns gebruiken de bestaande checksummed requestcache.
|
||||
|
||||
## VMM overstromingsgevaarkaarten
|
||||
|
||||
- Naam: Overstromingsgevaarkaart Waterdiepte
|
||||
- Uitgever: Vlaamse Milieumaatschappij
|
||||
- Type: raster/modelscenario
|
||||
- Toegang: publieke OGRK WCS 1.1 `https://geoservice.waterinfo.be/OGRK/wcs`
|
||||
- Coverages: fluviaal/pluviaal, huidig klimaat/klimaatprojectie 2050,
|
||||
T10/T100/T1000
|
||||
- Native raster: 2 m Float32, EPSG:31370, waterdiepte in centimeter
|
||||
- Publicatie: 2019/2021 afhankelijk van product; scenario-identiteit is
|
||||
leidend en wordt niet als observatiedatum opgeslagen
|
||||
- Cache: canonical raster Dataset plus request/response/output checksums
|
||||
- Operators: `scripts/provision_mol_flood_hazards.py`,
|
||||
`scripts/provision_regional_flood_hazards.py`
|
||||
- Prioriteit: P5 scenariofundament uitgevoerd voor alle 28 Kempen-gemeenten
|
||||
|
||||
VMM beschrijft deze lagen als maximale lokale waterdiepte tussen wateroppervlak
|
||||
en maaiveld voor een gekozen kans- en klimaatscenario. GeoIntel converteert
|
||||
positieve waarden naar meter en kan een diepte-oppervlakte-integraal berekenen.
|
||||
Omdat lokale maxima niet noodzakelijk op hetzelfde tijdstip optreden, is dat
|
||||
geen gelijktijdig overstromingsvolume. De bron bevat evenmin bodemprofielen van
|
||||
meren, kanalen of waterlopen en kan dus geen permanente waterinhoud leveren.
|
||||
|
||||
De officiële audit vond geen publieke, gebiedsdekkende inland-bathymetrie voor
|
||||
Mol. Kust- en Noordzeeproducten vallen buiten de ruimtelijke scope. Waterinfo
|
||||
stations blijven puntmetingen en GRB-watergeometrie blijft tweedimensionaal.
|
||||
|
||||
## Regionale VMM overstromingsscenario's
|
||||
|
||||
`scripts/provision_regional_flood_hazards.py` breidt de beheerde
|
||||
VMM-overstromingsflow uit naar de goedgekeurde `kempen-transport-region`
|
||||
scope. De operator gebruikt de 28 persistente gemeente-Areas die door
|
||||
`provision_geographic_scope.py` zijn aangemaakt en roept per gemeente en per
|
||||
scenario uitsluitend de bestaande canonical API aan:
|
||||
|
||||
- `POST /api/v1/projects/{project_id}/datasets/flood-hazard/acquire`
|
||||
- `POST /api/v1/projects/{project_id}/datasets/{dataset_id}/raster/flood-hazard/select`
|
||||
|
||||
Deze gemeentepartities zijn bewust. Een volledig regionaal raster in een
|
||||
aanvraag zou de publieke WCS- en pixelgrenzen onnodig belasten. In de UI blijft
|
||||
een gemeente gekoppeld aan haar eigen bestand. Op het volledige Kempen-gebied
|
||||
worden de 28 partities als één logische scenario-laag getoond. Een getekende
|
||||
rechthoek opent alleen de rakende partities en berekent globale statistieken
|
||||
uit de werkelijk samengevoegde cellen.
|
||||
|
||||
De regionale operator ondersteunt `--dry-run`, `--members` en `--products`.
|
||||
De uitgevoerde volledige scope bevat 336 gecontroleerde Datasets en 336
|
||||
DatasetVersions zonder ontbrekende gemeente/scenario-combinaties. Herhaalruns
|
||||
gebruiken bestaande checksummed Datasets via de backend-cache zolang de
|
||||
requestidentiteit niet verandert.
|
||||
|
||||
Ook regionaal blijft de semantiek onveranderd: VMM-waterdiepte is een
|
||||
gemodelleerde maximale lokale diepte per kans- en klimaatscenario. GeoIntel kan
|
||||
oppervlakte, gemiddelde/P90/maximale diepte en de diepte-oppervlakte-integraal
|
||||
berekenen. Dat is geen gelijktijdig waterbergingsvolume, geen actuele
|
||||
waterstand en geen bathymetrie.
|
||||
|
||||
## Gebouwenregister
|
||||
|
||||
The governed operator `scripts/provision_buildings_addresses_register.py`
|
||||
reads the official Digitaal Vlaanderen OGC API Features collections
|
||||
`Gebouw`, `Gebouweenheid` and `Adres`. The source is continuously updated;
|
||||
GeoIntel therefore creates a dated snapshot rather than claiming an annual
|
||||
historical series. Raw response pages, request URLs and SHA256 checksums are
|
||||
retained as operator evidence.
|
||||
The operator follows advertised `next` links and, when a full page omits that
|
||||
link, continues with an explicit `startIndex`. This is required because the
|
||||
production address collection currently stops advertising `next` at a
|
||||
service-side result window even though later offsets remain available. A short
|
||||
final page is required before the snapshot is considered complete.
|
||||
|
||||
Building polygons are clipped against the exact persisted Area in
|
||||
EPSG:31370, transformed to EPSG:4326 and persisted through the normal Dataset
|
||||
upload route with `source_name=digitaal_vlaanderen_buildings_addresses_register`
|
||||
and `reference_layer_name=building_registry`. Register lifecycle state remains
|
||||
separate from GRB geometry. Each register building receives an explicit
|
||||
`matched`, `review`, `ambiguous` or `unmatched` GRB reconciliation result; a
|
||||
low-confidence or duplicate match is never silently promoted.
|
||||
|
||||
Building units use the official `GebouwObjectId` relation. The public address
|
||||
collection does not expose that relation directly, so addresses are linked
|
||||
only through an exact, unambiguous unit position or unambiguous polygon
|
||||
containment. Ambiguous and unmatched rows are counted in the manifest and are
|
||||
never forced to the nearest building.
|
||||
|
||||
The queryable layer contains building polygons, lifecycle status and aggregate
|
||||
unit/address counts only. Street names, full addresses, house numbers and box
|
||||
numbers are excluded. Address counts are not households, dwellings, residents
|
||||
or population. Raw source pages remain restricted operator evidence and are
|
||||
not exposed by the API or map.
|
||||
|
||||
Official endpoints and catalogues:
|
||||
|
||||
- https://geo.api.vlaanderen.be/Gebouwenregister/ogc/features/v1/collections/Gebouw/items
|
||||
- https://geo.api.vlaanderen.be/Gebouwenregister/ogc/features/v1/collections/Gebouweenheid/items
|
||||
- https://geo.api.vlaanderen.be/Adressenregister/ogc/features/v1/collections/Adres/items
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/gebouwen-en-adressenregister
|
||||
- https://www.vlaanderen.be/datavindplaats/catalogus/gebouwenregister
|
||||
|
||||
Digitaal Vlaanderen is transitioning the download products in summer 2026.
|
||||
This operator uses the current production OGC API and does not depend on the
|
||||
retiring `/v2/extract` path.
|
||||
|
||||
## Lokale demo datasets
|
||||
|
||||
De repo moet ruimte voorzien voor kleine samplebestanden in `tests/fixtures/` of `datasets/raw/demo/`. Grote datasets mogen niet standaard in git.
|
||||
|
||||
## Sprint 7B provider registry
|
||||
|
||||
Sprint 7B exposes provider metadata only. It does not perform GRB WFS calls, OSM Overpass calls, downloads, or fake data generation.
|
||||
|
||||
| provider | authority_level | configured | layers | dataset mapping |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `grb` | authoritative | false | buildings, roads, parcels | `dataset_role=reference`, `source_name=grb` |
|
||||
| `osm` | contextual | false | buildings, roads, water, landuse | default `dataset_role=source`, explicit reference `dataset_role=reference`, `source_name=osm` |
|
||||
| `manual` | manual | true | uploaded user layers | `dataset_role=reference`, `source_name=manual` |
|
||||
| `fixture` | fixture | true | demo/test fixture layers | `dataset_role=reference`, `source_name=fixture` |
|
||||
|
||||
Future provider output must flow through `DatasetService` and `VectorFeatureService`; providers must not write directly to `vector_features`.
|
||||
|
||||
## Regional BWK/Natura 2000 state 2025
|
||||
|
||||
`scripts/provision_regional_bwk_natura2000.py` expands the governed Mol
|
||||
operator to the approved 28-municipality Kempen transport-region scope. It
|
||||
queries the same official INBO `BWK:Bwkhab` WFS collection separately for each
|
||||
official VRBG municipality boundary. Every response is retained as a
|
||||
deterministic gzip artifact with both compressed-artifact and original-response
|
||||
SHA256 checksums.
|
||||
|
||||
Geometry is intersected with each municipality in EPSG:31370 before it is
|
||||
transformed to EPSG:4326. Source polygons crossing a municipality boundary are
|
||||
therefore split into auditable pieces and receive a NIS suffix; those pieces
|
||||
must not be interpreted as independent source observations. The 28 validated
|
||||
partitions are assembled into one regional snapshot and persisted through the
|
||||
ordinary Dataset upload API with `source_name=inbo_bwk_natura2000`,
|
||||
`reference_layer_name=nature_value` and
|
||||
`temporal_series_key=inbo-bwk-natura2000:kempen-transport-region`.
|
||||
|
||||
The state remains a single 2025 map edition, not an annual time series. BWK
|
||||
valuation, Natura 2000 shares, regional biotopes and uncertain habitat remain
|
||||
separate fields and metrics. PHAB-derived hectares remain explicitly estimated.
|
||||
|
||||
## Platform-wide audited source portfolio
|
||||
|
||||
The complete follow-up portfolio is maintained in
|
||||
`docs/DATAVINDPLAATS_SOURCE_ROADMAP.md` and represented in the frontend by
|
||||
`frontend/src/lib/sourcePortfolio.ts`. It covers six equal product domains:
|
||||
space/buildings, nature/agriculture, soil/relief, mobility/accessibility,
|
||||
population/services and climate/living environment.
|
||||
|
||||
An official catalogue record means only that a candidate source has been
|
||||
audited. It does not make the source operational. The Sources workspace may
|
||||
report `operational` only when a matching Dataset has `status=ready`. Future
|
||||
provider output continues to use DatasetService and, for vectors,
|
||||
VectorFeatureService. Arbitrary service URLs, browser-side fetches and startup
|
||||
downloads remain forbidden.
|
||||
|
||||
The fixed allowlist of public Mercator thematic rasters for space occupation,
|
||||
open space, population density, node value and service level is operational
|
||||
for bounded Mol, Kempen and Flanders selections. The digital soil map follows
|
||||
the canonical vector persistence path for Mol and Kempen. Additional Flemish
|
||||
vector themes still require governed regional operators; a catalogue record
|
||||
alone never makes them operational.
|
||||
|
||||
## Belgium and Belgian North Sea scope foundation
|
||||
|
||||
The release-candidate workbench uses two distinct registries:
|
||||
|
||||
- the fixed Sprint 7 import-provider registry for `grb`, `osm`, `manual` and
|
||||
`fixture`;
|
||||
- the national coverage registry for audited source authority and actual
|
||||
project materialization by theme and zone.
|
||||
|
||||
The explicit operator
|
||||
`scripts/provision_belgium_north_sea_scope.py` downloads the official NGI
|
||||
AdminVector EPSG:4326 GeoPackage archive, verifies size and archive safety,
|
||||
requires the territory, maritime zone, region, province and municipality
|
||||
layers, and retains archive/GeoPackage/artifact checksums. NGI output is
|
||||
licensed CC BY 4.0 and persists as reference Datasets through
|
||||
`DatasetService`.
|
||||
|
||||
The same operator obtains the RBINS/BMDC
|
||||
`od_nature:marine_reporting_units_2024` WFS layer. The territorial sea is the
|
||||
union of official 0-1 nm coastal waters and 1-12 nm territorial waters. The
|
||||
official offshore-beyond-12-nm geometry is persisted twice only to preserve
|
||||
the distinct legal semantics of the EEZ water column and continental-shelf
|
||||
seabed/subsoil. This is explicit provenance-preserving derivation, not
|
||||
invented geometry.
|
||||
|
||||
The legally current Belgian Marine Spatial Plan 2026-2034 is fetched from the
|
||||
fixed `imsp26` WFS allowlist and retained as one versioned reference Dataset.
|
||||
No live vessel activity, depth, water volume or other unsupported metric is
|
||||
inferred from these plan zones.
|
||||
|
||||
The coverage resolver reports a theme `operational` only when a matching
|
||||
`ready` Dataset exists in the selected project. Implemented acquisition
|
||||
without project materialization is `partial`. Statbel is an operator-managed
|
||||
national source. SPW/PICC and UrbIS are bounded API sources for their explicit
|
||||
themes and zones. MDK remains `not_configured` while its strict-TLS readiness
|
||||
probe fails.
|
||||
|
||||
The governed Statbel operator supports `belgium` as a first-class scope. It
|
||||
uses the retained NGI Belgium boundary, retains every statistical-sector row
|
||||
and requires the existing plan -> stage -> named review -> checksum-confirmed
|
||||
apply process. Flanders, Wallonia, Brussels and bounded municipality
|
||||
population queries therefore derive from one reviewed national edition rather
|
||||
than mutually incompatible regional imports. No edition is downloaded or
|
||||
promoted during application startup.
|
||||
|
||||
The live national workspace contains one consistent Statbel population series
|
||||
for 2021-2025. The 2021-2024 geometry archives use the official
|
||||
`YYYY/MM/DD` situation-date notation and archive member names without a
|
||||
repeated CRS token; the fail-closed preflight normalizes only those documented
|
||||
format variants and still validates EPSG:31370, release year, schema, joins,
|
||||
totals, topology repairs and checksums.
|
||||
|
||||
## Wallonia PICC and Brussels UrbIS
|
||||
|
||||
The official-vector registry exposes bounded, source-specific regional
|
||||
baselines:
|
||||
|
||||
- SPW/PICC MapServer layers 11 (buildings), 21 (road axes), 28
|
||||
(hydrographic axes) and 30 (hydrographic surfaces) for Wallonia;
|
||||
- Paradigm UrbIS `Buildings` and `CadastralParcels` WFS collections for the
|
||||
Brussels-Capital Region.
|
||||
|
||||
SPW queries use stable `OBJECTID` paging and request EPSG:4326 output while
|
||||
retaining EPSG:3812 as the native source CRS. UrbIS responses use EPSG:31370,
|
||||
stable `INSPIRE_ID` paging and are transformed only after exact regional
|
||||
clipping. Both adapters enforce bbox dimensions, page/feature/response limits,
|
||||
strict HTTPS host/path validation, geometry contracts and persisted coverage
|
||||
Areas. They persist only through `DatasetService`; the browser never contacts
|
||||
either provider directly. Cross-zone selections remain split by authority and
|
||||
metric semantics.
|
||||
|
||||
## Wallonia WALOUS land cover
|
||||
|
||||
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,
|
||||
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 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
|
||||
bathymetry-adjacent source. GeoIntel requests an explicit bbox, clips against
|
||||
the exact persisted Area and retains VHA point identifiers, watercourse names,
|
||||
profile numbers, measurement dates, available structured depth/width values
|
||||
and official document URLs. Scanned documents remain evidence; missing fields
|
||||
are not filled by fabricated OCR output.
|
||||
|
||||
VHA is registered as the operational bounded source
|
||||
`vmm_vha_bathymetry_profiles` for the Flemish `bathymetry` coverage contract.
|
||||
The Map workbench can therefore acquire the profile points as part of the same
|
||||
bounded selection queue as the other applicable Flemish themes. The resulting
|
||||
metric remains a count of historical profiles unless structured source values
|
||||
support an additional metric; it is never presented as continuous water depth
|
||||
or volume.
|
||||
|
||||
The following sources are audited:
|
||||
|
||||
- MDK Dieptemodel Belgisch Continentaal Plat/Noordzee: 20 x 20 m continuous
|
||||
raster in LAT, exposed through WCS/WMTS. GeoIntel now has a strict-TLS,
|
||||
read-only GetCapabilities probe. Revalidation on 2026-07-19 still found that
|
||||
`bathy.agentschapmdk.be` presents a certificate for `*.l27powered.eu`.
|
||||
Hostname validation therefore fails with `tls_error`; raster acquisition
|
||||
remains disabled and TLS verification cannot be bypassed.
|
||||
- SPW bathymetry of navigable waterways and reservoir lakes: the official
|
||||
2023-05-23 GeoTIFF release is operational through
|
||||
`scripts/import_spw_bathymetry.py`. The operator pins SHA-256
|
||||
`04122a1c5cecc7b77be025b580995d024545e82d8310e158b4c112f7fa5f8a6e`,
|
||||
validates the EPSG:3812/Float32/0.5 m/-9999 contract, creates only a bounded
|
||||
COG and persists it through the canonical dataset upload API. Values are
|
||||
bed elevations in mDNG from surveys composed over 2019-2022.
|
||||
- Port of Antwerp-Bruges periodic soundings: catalog candidate pending a
|
||||
stable public machine contract.
|
||||
|
||||
See `docs/BATHYMETRY_EXPANSION_ROADMAP.md`. TAW, LAT and mDNG remain separate
|
||||
until an authoritative vertical transformation is implemented and tested.
|
||||
The territorial sea, EEZ and continental shelf are separate scope layers and
|
||||
must be labelled according to their legal meaning.
|
||||
|
||||
The official VRBG RefGem collection currently exposes 285 Flemish
|
||||
municipalities. `scripts/provision_flanders_geographic_scope.py` validates the
|
||||
complete inventory, produces checksum-bound land-boundary artifacts and
|
||||
creates one persisted municipality Area per source feature. The separate
|
||||
`scripts/provision_flanders_bathymetry_profiles.py` coordinator acquires VHA
|
||||
profiles per Area, writes an atomic resumable manifest and requests regional
|
||||
activation only after all 285 partitions are accounted for. A municipality
|
||||
with zero source points is retained as an explicit no-profile partition, not
|
||||
silently omitted.
|
||||
# Operational bounded Flanders theme sources
|
||||
|
||||
## Landgebruik Vlaanderen 2025: forest and agricultural use
|
||||
|
||||
- Catalog:
|
||||
`https://www.vlaanderen.be/datavindplaats/catalogus/landgebruik-vlaanderen-toestand-2025`
|
||||
- WCS coverage: `lu:lu_landgebruik_vlaa_2025_v3`
|
||||
- Source CRS: EPSG:31370
|
||||
- Native grid: 10 metres
|
||||
- Forest class: 12
|
||||
- Agricultural-use classes: 13 (arable) and 14 (grassland in agricultural use)
|
||||
|
||||
GeoIntel validates the categorical source grid and persists a binary analysis
|
||||
mask for the requested product. Forest hectares are grid-derived land-use
|
||||
hectares, not legal forest boundaries, canopy cover, tree counts or wood
|
||||
volume. Agricultural-use hectares describe land use and are not ALZ parcel
|
||||
declarations, crop registrations, ownership boundaries or legal zoning.
|
||||
Definitive ALZ yearly snapshots remain a separate historical series.
|
||||
|
||||
## BWK and Natura 2000 2025
|
||||
|
||||
- Catalog:
|
||||
`https://www.vlaanderen.be/datavindplaats/catalogus/biologische-waarderingskaart-en-natura-2000-habitatkaart-toestand-2025`
|
||||
- WFS 2.0: `https://geo.api.vlaanderen.be/BWK/wfs`
|
||||
- Collection: `BWK:Bwkhab`
|
||||
- Source storage and metric CRS: EPSG:31370
|
||||
- Persisted geometry: EPSG:4326
|
||||
- Attribution: `Bron: INBO`
|
||||
|
||||
Bounded map acquisition retains official biological evaluation and habitat
|
||||
attributes. Exact intersection hectares are used for BWK value classes.
|
||||
Natura 2000 and regionally important biotope hectares derived from `PHAB*`
|
||||
shares are marked as estimates because shares belong to the complete source
|
||||
polygon and are proportionally scaled after clipping.
|
||||
|
||||
## DOV digital soil map in the map flow
|
||||
|
||||
The `dov_soil_types` product uses
|
||||
`https://www.dov.vlaanderen.be/geoserver/wfs`, collection
|
||||
`bodemkaart:bodemtypes`, stable WFS 2.0 paging ordered by `gid` and a
|
||||
consistent `numberMatched`. Geometry is clipped in EPSG:31370 and persisted in
|
||||
EPSG:4326. It remains an authoritative historical 1:20,000 baseline based on
|
||||
field work from 1949-1971, not a current drainage statement or site
|
||||
investigation.
|
||||
Reference in New Issue
Block a user