Add governed SPW bathymetry analysis
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import {
|
||||
bathymetryRasterImageUrl,
|
||||
bathymetryRasterSelectionToMapSelection,
|
||||
} from './bathymetryRaster'
|
||||
|
||||
describe('bathymetry raster mapping', () => {
|
||||
it('uses the governed image endpoint', () => {
|
||||
expect(bathymetryRasterImageUrl('project-1', 'dataset-1')).toBe(
|
||||
'/api/v1/projects/project-1/datasets/dataset-1/raster/bathymetry/image',
|
||||
)
|
||||
})
|
||||
|
||||
it('maps persisted bed-elevation metrics without turning them into object counts', () => {
|
||||
const mapped = bathymetryRasterSelectionToMapSelection({
|
||||
dataset_id: 'dataset-1',
|
||||
product_key: 'spw_bathymetry_50cm_mdng',
|
||||
selection_bbox: { min_x: 4.85, min_y: 50.45, max_x: 4.87, max_y: 50.47, crs: 'EPSG:4326' },
|
||||
selected_cell_count: 100,
|
||||
valid_cell_count: 25,
|
||||
coverage_ratio: 0.25,
|
||||
resolution_m: 0.5,
|
||||
vertical_reference: 'mDNG',
|
||||
survey_period: '2019-2022',
|
||||
summary: {
|
||||
metric_label: 'Gemiddelde waterbodemhoogte',
|
||||
metric_value: 74.5,
|
||||
metric_unit: 'm mDNG',
|
||||
aggregation_method: 'mean_valid_source_cells',
|
||||
primary_metric_key: 'bed_elevation_mean_m',
|
||||
metrics: [{
|
||||
metric_key: 'bed_elevation_mean_m',
|
||||
metric_label: 'Gemiddelde waterbodemhoogte',
|
||||
metric_value: 74.5,
|
||||
metric_unit: 'm mDNG',
|
||||
aggregation_method: 'mean_valid_source_cells',
|
||||
is_estimate: false,
|
||||
}],
|
||||
},
|
||||
unsupported_metrics: ['current_water_depth_m', 'water_volume_m3'],
|
||||
limitation_message: 'Geen gelijktijdig waterpeil.',
|
||||
generated_at: '2026-07-19T00:00:00Z',
|
||||
})
|
||||
|
||||
expect(mapped.feature_count).toBe(25)
|
||||
expect(mapped.geojson.features).toEqual([])
|
||||
expect(mapped.summary?.primary_metric_key).toBe('bed_elevation_mean_m')
|
||||
expect(mapped.summary?.metric_unit).toBe('m mDNG')
|
||||
expect(mapped.summary?.is_estimate).toBe(false)
|
||||
expect(mapped.summary?.warning).toContain('waterpeil')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user