Harden Statbel population import compatibility
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-16 22:54:21 +02:00
parent 5942712c7b
commit 4f4d467d11
11 changed files with 1533 additions and 18 deletions
+30
View File
@@ -198,6 +198,30 @@ 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.
### Mol population history
`scripts/provision_mol_population_history.py` imports official Statbel
@@ -207,6 +231,12 @@ population-by-statistical-sector tables and matching sector geometries for
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.