feat: add semantic GIS selection metrics
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-15 06:07:34 +02:00
parent 3ff2d07f3c
commit 0baa9b069c
16 changed files with 520 additions and 22 deletions
+23 -5
View File
@@ -69,7 +69,11 @@ class LayerDefinition:
reference_layer_name: str
layer_type: str
geometry_types: tuple[str, ...]
metric_key: str
metric_method: str
metric_label: str
metric_unit: str
metric_warning: str | None
limitation_message: str
@@ -80,7 +84,11 @@ LAYERS = (
reference_layer_name="roads",
layer_type="road",
geometry_types=("LineString", "MultiLineString"),
metric_label="Wegen",
metric_key="road_length",
metric_method="intersection_length",
metric_label="Totale weglengte",
metric_unit="km",
metric_warning="De lengte volgt de GRB-wegsegmenten en zegt niets over rijstroken, verkeersvolume of verhardingsoppervlakte.",
limitation_message="GRB Wegsegment represents road-network line segments, not traffic volume or routing suitability.",
),
LayerDefinition(
@@ -93,7 +101,11 @@ LAYERS = (
reference_layer_name="water",
layer_type="water",
geometry_types=("LineString", "MultiLineString", "Polygon", "MultiPolygon"),
metric_label="Waterobjecten",
metric_key="water_area",
metric_method="intersection_area",
metric_label="Wateroppervlakte",
metric_unit="ha",
metric_warning="Watervolume is niet berekenbaar zonder betrouwbare diepte- of bathymetrische gegevens. De kaartbron levert alleen oppervlakte- en lijngeometrie.",
limitation_message="GRB water combines surface-water polygons and water-related line collections; counts are object counts, not water volume.",
),
LayerDefinition(
@@ -102,7 +114,11 @@ LAYERS = (
reference_layer_name="parcels",
layer_type="parcel",
geometry_types=("Polygon", "MultiPolygon"),
metric_label="Percelen",
metric_key="parcel_area",
metric_method="intersection_area",
metric_label="Perceeloppervlakte",
metric_unit="ha",
metric_warning="GRB-percelen zijn een grafische referentie en vormen geen juridische grensopmeting.",
limitation_message="GRB ADP is a graphical representation of the presumed cadastral parcel location and is not a legal boundary survey.",
),
)
@@ -721,10 +737,12 @@ def provision_dataset(
"partition_count": len(partition_paths),
"partition_strategy": manifest["partition_strategy"],
"selection_aggregation": {
"method": "feature_count",
"metric_key": definition.metric_key,
"method": definition.metric_method,
"label": definition.metric_label,
"unit": "objecten",
"unit": definition.metric_unit,
"is_estimate": False,
"warning": definition.metric_warning,
},
"attribution": GRB_ATTRIBUTION,
}