fix(map): isolate bounded raster selections
This commit is contained in:
@@ -23,6 +23,10 @@
|
||||
- Classified both `Gemeente ...` and release-golden `... municipality` Areas
|
||||
as local scope so a full municipality analysis cannot accidentally invoke
|
||||
regional raster partition assembly.
|
||||
- Prevented rasters marked `coverage_scope=bounded_selection` from being
|
||||
reused outside their acquired bbox. A small selection can therefore no
|
||||
longer masquerade as a full-municipality space, forest, terrain or flood
|
||||
measurement.
|
||||
- Rebuilt the complete frontend presentation as the Stitch-guided GeoIntel
|
||||
Atlas Workbench. The new shell uses one compact icon navigation rail, one
|
||||
context bar and task-specific work surfaces across Map, Sources, AI
|
||||
|
||||
@@ -10927,7 +10927,11 @@ Implemented:
|
||||
to the Map product catalogue;
|
||||
- treated both Dutch municipality names and release-golden
|
||||
`... municipality` Areas as local scope after live verification exposed a
|
||||
false regional flood-raster partition path.
|
||||
false regional flood-raster partition path;
|
||||
- extended the shared bounded-dataset guard to raster
|
||||
`coverage_scope=bounded_selection` metadata after live full-Mol verification
|
||||
proved that a previously acquired small raster could otherwise be
|
||||
misrepresented as municipality-wide evidence.
|
||||
|
||||
Live evidence:
|
||||
|
||||
|
||||
@@ -78,6 +78,10 @@ describe('map workspace selection guards', () => {
|
||||
geometry_clipped_to_selection: true,
|
||||
bbox_epsg4326: [4.55, 50.58, 4.56, 50.59],
|
||||
})).toBe(true)
|
||||
expect(isSelectionBoundedDataset({
|
||||
coverage_scope: 'bounded_selection',
|
||||
bbox_epsg4326: [5.1, 51.17, 5.11, 51.18],
|
||||
})).toBe(true)
|
||||
expect(isSelectionBoundedDataset({
|
||||
geometry_clipped_to_selection: false,
|
||||
bbox_epsg4326: [2.5, 49.5, 6.4, 51.6],
|
||||
|
||||
@@ -43,7 +43,9 @@ export function productCoversZones(productZones: string[], selectedZones: string
|
||||
export function isSelectionBoundedDataset(
|
||||
sourceMetadata: Record<string, unknown> | null | undefined,
|
||||
): boolean {
|
||||
return sourceMetadata?.['geometry_clipped_to_selection'] === true
|
||||
const boundedScope = sourceMetadata?.['geometry_clipped_to_selection'] === true
|
||||
|| sourceMetadata?.['coverage_scope'] === 'bounded_selection'
|
||||
return boundedScope
|
||||
&& Array.isArray(sourceMetadata?.['bbox_epsg4326'])
|
||||
&& sourceMetadata['bbox_epsg4326'].length === 4
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user