Add dated regional imagery training sources
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-27 02:39:47 +02:00
parent e607cbe724
commit 65d263a37b
5 changed files with 60 additions and 10 deletions
@@ -96,6 +96,27 @@ class OrthophotoAcquisitionService:
coverage_zone="wallonia",
supports_detection=True,
),
OrthophotoProduct(
key="wallonia_2024",
display_name="Orthofoto Wallonië 2024",
observation_label="6 april tot 21 september 2024",
temporal_granularity="period",
native_resolution_m=0.25,
wms_url="https://geoservices.wallonie.be/arcgis/services/IMAGERIE/ORTHO_2024/MapServer/WMSServer",
layer="0",
catalog_url="https://geoportail.wallonie.be/catalogue/a12b5915-e56e-4827-8e4c-1f774934a2b1.html",
limitation_message="Officiële SPW-campagne 2024; dekking is gedeeltelijk en de exacte vliegdatum moet uit het officiële tuilagebestand worden afgeleid.",
provider="spw_orthophoto",
source_label="SPW ORTHO_2024 WMS",
attribution="Bron: Service public de Wallonie (SPW), Orthophotos 2024",
license_note="CC BY 4.0; citeer SPW en vermeld wijzigingen.",
series_namespace="spw",
coverage_zone="wallonia",
supports_detection=True,
observed_at=datetime(2024, 4, 6, tzinfo=UTC),
valid_from=datetime(2024, 4, 6, tzinfo=UTC),
valid_to=datetime(2024, 9, 21, 23, 59, 59, tzinfo=UTC),
),
OrthophotoProduct(
key="brussels_latest",
display_name="Meest recente orthofoto Brussel",
@@ -114,6 +135,27 @@ class OrthophotoAcquisitionService:
coverage_zone="brussels",
supports_detection=True,
),
OrthophotoProduct(
key="brussels_2025",
display_name="Winterorthofoto Brussel 2025",
observation_label="Wintervluchten 2025",
temporal_granularity="year",
native_resolution_m=0.15,
wms_url=OrthophotoAcquisitionService.HISTORICAL_WINTER_WMS_URL,
layer="OMWRGB25VL",
catalog_url="https://www.vlaanderen.be/datavindplaats/catalogus/orthofotomozaiek-middenschalig-winteropnamen-kleur-2025-vlaanderen",
limitation_message="Officiële jaargang 2025 voor Vlaanderen en Brussel; de exacte vliegdag is beschikbaar via de afzonderlijke vliegdagcontour.",
provider="digitaal_vlaanderen_orthophoto",
source_label="Digitaal Vlaanderen OMWRGB25VL WMS",
attribution="Bron: Orthofotomozaïek Vlaanderen en Brussel 2025, Digitaal Vlaanderen",
license_note="Gebruik volgens het gebruiksrecht geografische webdiensten van Digitaal Vlaanderen.",
series_namespace="digitaal-vlaanderen",
coverage_zone="brussels",
supports_detection=True,
observed_at=datetime(2025, 1, 1, tzinfo=UTC),
valid_from=datetime(2025, 1, 1, tzinfo=UTC),
valid_to=datetime(2025, 12, 31, 23, 59, 59, tzinfo=UTC),
),
]
)
for year in range(2025, 2011, -1):
@@ -134,6 +176,7 @@ class OrthophotoAcquisitionService:
observed_at=datetime(year, 1, 1, tzinfo=UTC),
valid_from=datetime(year, 1, 1, tzinfo=UTC),
valid_to=datetime(year, 12, 31, 23, 59, 59, tzinfo=UTC),
supports_detection=year == 2025,
)
)
for key, start_year, end_year, layer in (
@@ -169,7 +169,7 @@ def test_orthophoto_product_registry_exposes_only_governed_official_layers() ->
assert {"2025", "2012", "2008_2011", "2000_2003", "1979_1990", "1971"}.issubset(keys)
assert next(item for item in products if item["key"] == "most_recent")["supports_detection"] is True
detection_keys = {item["key"] for item in products if item["supports_detection"]}
assert detection_keys == {"most_recent", "wallonia_latest", "brussels_latest"}
assert {"most_recent", "wallonia_latest", "wallonia_2024", "brussels_latest", "brussels_2025", "2025"} <= detection_keys
by_key = {item["key"]: item for item in products}
assert by_key["wallonia_latest"]["provider"] == "spw_orthophoto"
assert by_key["wallonia_latest"]["coverage_zone"] == "wallonia"