# Data Specification v1.0 ## 1. Principes GeoIntel werkt documentatiegedreven met expliciete data-contracten. Elke dataset krijgt: - bron - type - formaat - CRS - bounds - resolutie of schaal - licentie - updatefrequentie - gebruiksdoel - cache-strategie - kwaliteitsstatus ## 2. Kernbronnen ## GRB — Basiskaart Vlaanderen ### Rol GRB is een primaire referentiebron voor Vlaanderen. Voor GeoIntel is GRB belangrijker dan OSM wanneer officiële referentiegeometrieën nodig zijn. ### Gebruik - referentiegebouwen - wegen en terreinobjecten - QA/QC tegenover AI-detecties - validatie van gebouwdetectie - vergelijking met eigen detecties of segmentaties ### Type Vector. ### Mogelijke toegang - WFS per gebied - downloadpakketten - periodieke PostGIS-cache ### Cache-strategie Voor V1 is een gebiedsgerichte cache het beste: 1. gebruiker selecteert gebied 2. backend vraagt relevante GRB-lagen op 3. geometrieën worden opgeslagen in PostGIS 4. analysis runs verwijzen naar de gecachete versie ### Belangrijk voor QA/QC GRB-gebouwpolygonen worden gebruikt als ground-truth proxy. Niet absoluut perfect, maar zeer bruikbaar als officiële referentie. ## Gebouwenregister ### Rol Authoritative register lifecycle and relation metadata attached to a dated building snapshot. It complements GRB; it does not replace the separate GRB footprint evidence or its QA role. ### Gebruik - stable building object and version identity - official lifecycle status and geometry method - aggregate registered building-unit counts by lifecycle status - aggregate address counts by register status - classified reconciliation against persisted GRB geometry ### Type Official OGC API Features input, normalized polygon GeoJSON upload and PostGIS `vector_features` output. ### Persisted contract - `dataset_role=reference` - `source_name=digitaal_vlaanderen_buildings_addresses_register` - `reference_layer_name=building_registry` - `temporal_granularity=snapshot` - stable building identity within the register, but no fabricated historical observation between snapshots - polygon geometry clipped in EPSG:31370 and persisted as EPSG:4326 - selection metrics: exact footprint hectares, building lifecycle counts, unit counts, address-status counts and confirmed GRB match counts ### Privacy and semantics Queryable properties may contain register object ids, lifecycle status, geometry method, aggregate unit/address counts and GRB reconciliation evidence. They must not contain `VolledigAdres`, `Straatnaam`, `Huisnummer`, `HuisnummerLabel` or `Busnummer`. Address and unit counts may not be labelled as population, residents, households or dwellings. Building footprint is ground area, not floor area, height or volume. ## OpenStreetMap ### Rol Snelle open referentiedata, nuttig als fallback en voor POI's. ### Gebruik - gebouwen indien GRB nog niet beschikbaar is - wegen - water - landuse - POI's - demo- en fallbackdata ### Type Vector. ### Toegang - Overpass API - pyrosm/osmnx - lokale extracten ### Cache-strategie Opslaan per project/area in PostGIS. ## Sentinel-2 ### Rol Remote sensing bron voor vegetatie, water en bebouwingsindices. ### Gebruik - NDVI - NDWI - NDBI - seizoensvergelijking - trendanalyse - change detection ### Type Raster multispectral. ### Prioriteit V2. ## DHMV / Hoogtemodel Vlaanderen ### Rol Hoogtedata voor terrein- en watergevoeligheidsanalyse. ### Gebruik - DTM-maaiveldhoogte in meter TAW - DSM-oppervlaktehoogte in meter TAW - reliëf en helling in graden uit geldige rastercellen - laagste punten als terreinindicator - gebouwhoogte-inschatting alleen in een latere, gevalideerde DSM-DTM/gebouwketen ### Governed product - Digitaal Vlaanderen DHMV II, DTM/DSM raster 1 m - WCS coverages `DHMVII_DTM_1m` en `DHMVII_DSM_1m` - EPSG:31370, Float32, nodata `-9999`, verticale referentie TAW - opnameperiode 2013-2015 - standaard GeoIntel-analysekopie 5 m, exact geclipt op Area Waterdiepte, waterinhoud, actuele toestand en afstroming zijn geen directe DHMV-metingen. Zij blijven onbeschikbaar tot een afzonderlijke bron en gevalideerde methode bestaan. ### Type Raster / afgeleid van LiDAR. ### Prioriteit P4 operationeel voor Mol; regionale uitrol volgt dezelfde operatorgrenzen. ## VMM overstromingsgevaarkaarten waterdiepte ### Rol Scenarioanalyse voor gemodelleerde overstroming door intense neerslag (`pluviaal`) en vanuit waterlopen (`fluviaal`). Dit is een afzonderlijk thema en geen verdieping van de gewone GRB-waterlaag. ### Governed products - VMM OGRK WCS 1.1, twaalf vaste coverages - huidig klimaat en klimaatprojectie 2050 - grote, middelgrote en kleine kans: T10, T100 en T1000 - native raster 2 m, EPSG:31370, bronwaarden in centimeter - GeoIntel normaliseert positieve dieptes naar meter en bronnullen naar transparant `-9999` nodata - standaard analysekopie 5 m, exact geclipt op de persisted Area ### Toegestane metingen - gemodelleerd overstroomd oppervlak in hectare - aandeel van de selectie met positieve gemodelleerde diepte - gemiddelde, P90 en maximale lokale gemodelleerde maximumdiepte in meter - diepte-oppervlakte-integraal in m3, uitsluitend onder die exacte naam en met de vaste waarschuwing dat lokale maxima niet noodzakelijk gelijktijdig zijn De laag meet geen huidige waterstand en bevat geen bodemhoogte. Bathymetrie, permanente inhoud van waterlichamen en gelijktijdig overstromingsvolume blijven onbeschikbaar. Scenario's zijn alternatieve modelcondities, geen historische meetmomenten en daarom geen GeoIntel-temporale reeks. ### Type Raster / gemodelleerd overstromingsgevaar. ### Prioriteit P5 overstromingsscenario's operationeel. VHA-dwarsprofielen zijn als historische puntmetingen operationeel voor Mol en partitioneerbaar voor alle officiële Vlaamse gemeente-Areas. Ze blijven strikt gescheiden van dit scenario-raster en leveren geen gebiedsdekkende bathymetrie of volume. ## Bathymetry partition metadata Een VHA-profiel-Dataset behoudt `partition_area_id`, `partition_area_name`, `municipality`, meetdatumbereik en exacte aantallen. Regionale Vlaamse dekking is alleen geldig wanneer de server een volledig manifest voor de actuele officiële gemeente-inventaris heeft gevalideerd. Daarna bevatten Dataset en DatasetVersion: - `partition_scope_key` - `partition_count`, `data_partition_count` en `no_profile_partition_count` - `partition_manifest_sha256` - `partitioned_source_audit=true` - `regional_partitions_complete=true` Een no-profile partition is bronbewijs dat de begrensde VHA-query nul punten opleverde. Er worden nooit lege of kunstmatige profielobjecten aangemaakt. MDK Noordzee blijft `probe_only`: WCS-capabilities kunnen veilig worden gecontroleerd, maar er bestaat nog geen toegestane rasteracquisitie. ## LAS/LAZ LiDAR ### Rol Advanced module voor puntenwolkanalyse. ### Gebruik - puntenwolk metadata - clipping - classificatie - DEM/DSM generatie - hoogteprofielen ### Tools - PDAL - laspy ### Prioriteit V4/V5. ## 3. Dataset Types ### Raster Ondersteund: - GeoTIFF - TIFF - JPEG2000 later - PNG/JPG met worldfile later Metadata: - CRS - transform - bounds - width/height - band count - dtype - nodata - resolution Temporal orthophoto rasters additionally require a governed product key, WMS layer, observation label, `observed_at`, optional `valid_from`/`valid_to`, temporal granularity, request/spatial hash, attribution and a limitation that states whether the product is annual, multi-year or merely most recent. A governed rolling `most_recent` release import must also retain the exact official `YYYY.NN` edition and the preflight identities for WMS capabilities, WCS coverage description, selected EPSG:31370 domain and sampled flight year. A legacy `most_recent_at_` value is acquisition timing, not an official edition, and cannot be compared as if it were one. The read-only preflight creates no Dataset. Stage retains the exact source response, normalized three-band EPSG:31370 GeoTIFF and review preview. Apply requires exact plan and review hashes, persists sampled official flight dates as the temporal evidence range and creates a new Dataset/DatasetVersion through DatasetService. It does not retroactively rewrite or delete legacy rows. ### Hydrological station observations Waterinfo observations are persisted as EPSG:4326 Point features, one station and one observation year per immutable Dataset. Required properties are the station/timeseries identity, measurement type, numeric annual value, reported unit, observation year, provider/owner and attribution. Different station series may not be merged into one area-wide value. Point water level and discharge may not be converted to water volume without governed compatible depth/profile data. ### BWK and Natura 2000 polygons The governed state-2025 import uses `BWK:Bwkhab` polygons. Geometry is fetched in EPSG:4326, validated and clipped against the persisted Mol boundary in EPSG:31370, then persisted in EPSG:4326. Required retained fields include `EVAL`, `EENH1..8`, `V1..3`, `HERK`, `BWKLABEL`, `HAB1..5`, `PHAB1..5`, `HERKHAB`, `HERKPHAB` and `HABLEGENDE`. BWK value classes remain independent. Natura 2000 codes, regionally important biotope codes and uncertain `ohab` knowledge gaps are also independent. PHAB shares can be theoretical source allocations; derived hectares therefore keep an estimate warning, especially for partial rectangle intersections. State 2025 is a product edition and must not be presented as a uniform 2025 field survey or an annual time series. ### Annual agricultural-use parcels Definitive Agentschap Landbouw en Zeevisserij editions from 2008 through 2025 are stored as separate annual vector Datasets. The retained source is the official ZIP archive containing a Belgian Lambert 72 GeoPackage. Queryable geometry is clipped against the persisted Area in EPSG:31370 and normalized to EPSG:4326 before canonical `vector_features` persistence. A future campaign becomes historical input only when the official publication contract labels it `v3`. Early `v1` and `v2` snapshots are provisional and may not create annual GeoIntel Datasets. The governed release plan binds the exact archive publication date, schema, CRS, crop-code list, scope totals and deltas against the previous definitive edition before named review and apply. Stable source fields include `agpakey`, parcel number, declared source area, reference id, spring crop, main crop, official main-crop group, production method and source municipality. All annual source properties remain available, but only `maincropgroup_title` is normalized to a controlled comparison key. Detailed crop codes and titles can change meaning or wording between editions; their complete annual code list is therefore retained with the source archive. Historical analysis compares intersected hectares for the complete declaration and official main-crop groups. It must not compare individual parcel lineage: identifiers, boundaries and declarations are not stable between campaign years. The declaration can include water, hedges, buildings and infrastructure, so its total is not a cadastral ownership area or cultivated-crop area. ### Vector Ondersteund: - GeoJSON - Shapefile - GPKG - WFS-resultaten Metadata: - CRS - bounds - geometry type - feature count - attributes - validity summary ### Model outputs Ondersteund: - bounding boxes - polygons - masks - confidence scores - class labels - source tile reference ## 4. Data Quality Requirements Elke dataset moet bij intake minimaal controleren: - bestand leesbaar - CRS aanwezig of expliciet onbekend - geometrieën geldig of herstelbaar - bounds binnen verwacht gebied - raster heeft bruikbare resolutie - geen lege lagen - opslagpad bestaat ## 5. Data Lineage Elke output moet kunnen terugwijzen naar: - bronbestand - processing step - analysis run - modelversie - parameters - tijdstip - eventuele referentielaag ## Sprint 7B Provider Contracts Sprint 7B makes provider architecture operationally visible without performing live external fetches. ### GRB - provider_name: `grb` - authority_level: `authoritative` - configured: `false` - status: `not_configured` - supported_layers: `buildings`, `roads`, `parcels` - supported_geometry_types: `Polygon`, `MultiPolygon`, `LineString`, `MultiLineString` - supported_query_modes: `area` - dataset mapping: `dataset_role=reference`, `source_name=grb` - write path: future provider output must flow through `DatasetService` and `VectorFeatureService` - limitation: no live WFS call, no download, no fake GRB data in Sprint 7B ### OSM - provider_name: `osm` - authority_level: `contextual` - configured: `false` - status: `not_configured` - supported_layers: `buildings`, `roads`, `water`, `landuse` - supported_geometry_types: `Polygon`, `MultiPolygon`, `LineString`, `MultiLineString` - supported_query_modes: `area` - default dataset mapping: `dataset_role=source`, `source_name=osm` - explicit reference mapping: `dataset_role=reference`, `source_name=osm` - write path: future provider output must flow through `DatasetService` and `VectorFeatureService` - limitation: no live Overpass call, no download, no fake OSM data in Sprint 7B ### Manual - provider_name: `manual` - authority_level: `manual` - configured: `true` - status: `configured` - dataset mapping: `dataset_role=reference`, `source_name=manual` - write path: existing dataset upload/reference flow ### Fixture - provider_name: `fixture` - authority_level: `fixture` - configured: `true` - status: `configured` - dataset mapping: `dataset_role=reference`, `source_name=fixture` - write path: checked-in demo/test fixture flow ## Bathymetry profile vector contract The operational VHA layer is an EPSG:4326 point FeatureCollection. Required normalized properties are: - `provider_record_id` and `source_feature_id`; - `watercourse_vhag`, `watercourse_name` and alternative names; - `profile_number` and `measurement_date`; - nullable `recorded_depth_m`, `recorded_crown_width_m` and `recorded_floor_width_m`; - nullable allowlisted `source_document_url`; - `document_available`, `structured_depth_available`; - `measurement_semantics=historical_cross_section_profile_point`; - `vertical_reference=document-specific`. Null means the provider did not expose a structured value. It is never converted to zero. Dataset metadata records exact counts, measurement range, scope, attribution and `volume_supported=false`.