feat: add cross-domain Mol data profile
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 03:06:36 +02:00
parent 4aa0d6da24
commit 035ec3b233
39 changed files with 3049 additions and 22 deletions
@@ -29,6 +29,7 @@ FULL_AREA_CLIPPED_OPERATOR_TOOLS = {
"provision_regional_bwk_natura2000.py",
"provision_agricultural_parcel_history.py",
"provision_buildings_addresses_register.py",
"provision_mol_soil_map.py",
}
SEMANTIC_METRICS_DISABLED_OPERATOR_TOOLS = {
@@ -101,6 +102,16 @@ SEMANTIC_SELECTION_METRICS: dict[str, tuple[dict[str, Any], ...]] = {
),
"nature_value": (),
"agriculture": (),
"soil": (
{
"metric_key": "soil_mapped_area",
"method": "intersection_area",
"label": "Bodemkaartoppervlakte",
"unit": "ha",
"geometry_dimension": 2,
"warning": "Historische bodemkartering op schaal 1:20.000; actuele lokale bodem- en drainagetoestand kan afwijken.",
},
),
}
SEMANTIC_COUNT_LABELS = {
@@ -112,6 +123,7 @@ SEMANTIC_COUNT_LABELS = {
"parcels": "Percelen",
"nature_value": "BWK-kaartvlakken",
"agriculture": "Landbouwgebruikspercelen",
"soil": "Bodemkaartvlakken",
}
# Sprint 205 initially normalized two official comma-separated ALZ group labels
@@ -158,6 +170,8 @@ class VectorFeatureService:
"landbouw": "agriculture",
"landbouwgebruik": "agriculture",
"building_registry": "buildings",
"soil_map": "soil",
"bodem": "soil",
}
for candidate in candidates:
if not isinstance(candidate, str) or not candidate.strip():