fix: retain WALOUS edition warnings
This commit is contained in:
@@ -327,9 +327,10 @@ class TemporalAnalysisService:
|
||||
warnings = [
|
||||
"WALOUS-evolutie vergelijkt celgebaseerde landbedekkingsoppervlakten; individuele objectwijzigingen zijn niet beschikbaar.",
|
||||
]
|
||||
limitation = str(later_summary.get("warning") or earlier_summary.get("warning") or "").strip()
|
||||
if limitation:
|
||||
warnings.append(limitation)
|
||||
for summary in (earlier_summary, later_summary):
|
||||
limitation = str(summary.get("warning") or "").strip()
|
||||
if limitation and limitation not in warnings:
|
||||
warnings.append(limitation)
|
||||
return TemporalComparisonResponse(
|
||||
temporal_series_key=str(earlier.temporal_series_key),
|
||||
earlier=TemporalDatasetRef(
|
||||
@@ -497,7 +498,6 @@ class TemporalAnalysisService:
|
||||
earlier_full_dataset_area: bool = False,
|
||||
later_full_dataset_area: bool = False,
|
||||
) -> tuple[TemporalObjectChanges, dict[str, Any], list[str]]:
|
||||
earlier_config = earlier.source_metadata if isinstance(earlier.source_metadata, dict) else {}
|
||||
later_config = later.source_metadata if isinstance(later.source_metadata, dict) else {}
|
||||
earlier_identity = TemporalAnalysisService._identity_contract(earlier)
|
||||
later_identity = TemporalAnalysisService._identity_contract(later)
|
||||
|
||||
@@ -499,7 +499,11 @@ def test_walous_temporal_comparison_reuses_persisted_raster_metrics(
|
||||
}
|
||||
],
|
||||
},
|
||||
"limitation_message": "Cell-based estimate.",
|
||||
"limitation_message": (
|
||||
"2018 crosswalk and methodology limitation."
|
||||
if dataset_id == earlier.id
|
||||
else "2023 edition accuracy limitation."
|
||||
),
|
||||
}
|
||||
|
||||
monkeypatch.setattr(WalousLandCoverService, "analyze", analyze)
|
||||
@@ -523,6 +527,8 @@ def test_walous_temporal_comparison_reuses_persisted_raster_metrics(
|
||||
assert result.metric.later_value == 5.5
|
||||
assert result.metric.absolute_change == 1.5
|
||||
assert result.object_changes.available is False
|
||||
assert "2018 crosswalk and methodology limitation." in result.warnings
|
||||
assert "2023 edition accuracy limitation." in result.warnings
|
||||
|
||||
|
||||
def test_walous_api_routes_use_canonical_envelopes(monkeypatch) -> None:
|
||||
|
||||
@@ -3673,6 +3673,21 @@ Validation:
|
||||
scope, validated regions, national status and the review requirement; the
|
||||
configured local weights remain bound to Mol/Kempen evidence and fail closed
|
||||
as not nationally validated.
|
||||
- Deployed immutable AI image
|
||||
`geointel-all-in-one:f5431387128d193e6e638818f5641d3410227fd6-ai`;
|
||||
live health, PostGIS 3.6, Alembic `202607160001`, browser proxy and packaged
|
||||
SPW terrain provisioner checks passed. The configured YOLO capability now
|
||||
returns `nationally_validated=false`, `validated_regions=[flanders_mol_kempen]`
|
||||
and `operator_review_required=true` from the runtime API.
|
||||
- Live WALOUS 2018 acquisition created Dataset
|
||||
`572dd6d0-c829-41d4-bf4a-19b6563c3ff0` for the 130.28 km² Wallonia golden
|
||||
area. All 1,302,769 derived 10 m cells were valid; measured cover included
|
||||
3,615.39 ha forest/tree cover, 209.84 ha water and 2,315.33 ha artificial
|
||||
cover. Same-scope 2020/2023 acquisition then produced a three-observation,
|
||||
seven-metric 2018-2023 comparison without inventing object changes.
|
||||
- Live comparison exposed that only the later WALOUS limitation was returned.
|
||||
Temporal responses now retain both edition warnings, ensuring the 2018
|
||||
crosswalk/methodology caveat survives comparison with 2023.
|
||||
- Live Tower provisioning exposed an incorrect assumption that 11 WALOUS
|
||||
classes implied numeric codes 1 through 11. The official SPW legend and the
|
||||
downloaded 2020 raster confirm codes `1,2,3,4,5,6,7,8,9,80,90`. Corrected
|
||||
|
||||
Reference in New Issue
Block a user