feat(scope): make Belgium and North Sea operational default
This commit is contained in:
@@ -119,6 +119,72 @@ def test_regional_product_registry_is_explicit_and_source_specific() -> None:
|
||||
assert products["urbis_buildings"]["coverage_zones"] == ["brussels"]
|
||||
assert products["urbis_buildings"]["license_note"] == "Buildings are published under CC0."
|
||||
assert "FPS Finance" in products["urbis_cadastral_parcels"]["license_note"]
|
||||
# urbis_street_axes is live-validated against the UrbIS WFS capabilities:
|
||||
# urbisvector:StreetAxes exposes INSPIRE_ID and LineString geometry. The
|
||||
# same capabilities document advertises no hydrography feature type, so
|
||||
# Brussels surface water intentionally stays not_configured.
|
||||
assert products["urbis_street_axes"]["coverage_zones"] == ["brussels"]
|
||||
assert products["urbis_street_axes"]["collection"] == "urbisvector:StreetAxes"
|
||||
assert products["urbis_street_axes"]["geometry_types"] == [
|
||||
"LineString",
|
||||
"MultiLineString",
|
||||
]
|
||||
assert products["urbis_street_axes"]["theme"] == "roads"
|
||||
assert products["urbis_land_cover_blocks"]["collection"] == "urbisvector:Blocks"
|
||||
assert products["urbis_land_cover_blocks"]["theme"] == "space_occupation"
|
||||
assert products["urbis_forest_parks"]["theme"] == "forest"
|
||||
assert products["urbis_water_surfaces"]["theme"] == "water"
|
||||
|
||||
|
||||
def test_urbis_land_cover_products_filter_only_documented_block_classes() -> None:
|
||||
scope_wgs84 = Polygon(
|
||||
[(4.35, 50.84), (4.36, 50.84), (4.36, 50.85), (4.35, 50.85), (4.35, 50.84)]
|
||||
)
|
||||
scope_metric = Polygon([_TO_LAMBERT72.transform(x, y) for x, y in scope_wgs84.exterior.coords])
|
||||
min_x, min_y, max_x, max_y = scope_metric.bounds
|
||||
|
||||
def block(block_type: str):
|
||||
return {
|
||||
"type": "Feature",
|
||||
"id": f"Blocks.{block_type}",
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [[
|
||||
[min_x + 10, min_y + 10],
|
||||
[min_x + 100, min_y + 10],
|
||||
[min_x + 100, min_y + 100],
|
||||
[min_x + 10, min_y + 100],
|
||||
[min_x + 10, min_y + 10],
|
||||
]],
|
||||
},
|
||||
"properties": {
|
||||
"INSPIRE_ID": f"https://databrussels.be/id/block/{block_type}",
|
||||
"TYPE": block_type,
|
||||
},
|
||||
}
|
||||
|
||||
forest_product = OfficialVectorAcquisitionService._product("urbis_forest_parks")
|
||||
water_product = OfficialVectorAcquisitionService._product("urbis_water_surfaces")
|
||||
land_cover_product = OfficialVectorAcquisitionService._product("urbis_land_cover_blocks")
|
||||
|
||||
assert OfficialVectorAcquisitionService._normalize_regional_feature(
|
||||
forest_product, block("FO"), scope_metric, "brussels"
|
||||
) is not None
|
||||
assert OfficialVectorAcquisitionService._normalize_regional_feature(
|
||||
forest_product, block("CB"), scope_metric, "brussels"
|
||||
) is None
|
||||
assert OfficialVectorAcquisitionService._normalize_regional_feature(
|
||||
water_product, block("WB"), scope_metric, "brussels"
|
||||
) is not None
|
||||
assert OfficialVectorAcquisitionService._normalize_regional_feature(
|
||||
water_product, block("GB"), scope_metric, "brussels"
|
||||
) is None
|
||||
normalized = OfficialVectorAcquisitionService._normalize_regional_feature(
|
||||
land_cover_product, block("CB"), scope_metric, "brussels"
|
||||
)
|
||||
assert normalized is not None
|
||||
assert normalized["properties"]["TYPE"] == "CB"
|
||||
assert normalized["properties"]["clipped_area_ha"] > 0
|
||||
|
||||
|
||||
def test_spw_arcgis_paging_is_bounded_stable_and_clipped() -> None:
|
||||
|
||||
Reference in New Issue
Block a user