Files
geointel/frontend/src/lib/datasetDisplay.ts
T
Codex 5d8b46ed60
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s
Add governed DHMV terrain analysis
2026-07-15 18:13:05 +02:00

52 lines
1.9 KiB
TypeScript

import type { DatasetCreateResponse } from '../types'
const DATASET_LABEL_BY_LAYER: Record<string, string> = {
buildings: 'Bebouwing',
roads: 'Wegen',
water: 'Water',
parcels: 'Percelen',
population: 'Bevolking',
forest: 'Bos en groen',
nature_value: 'Natuurwaarde',
agriculture: 'Landbouwgebruikspercelen',
elevation: 'Hoogte en reliëf',
building_registry: 'Gebouwenregister',
regional_boundary: 'Grens vervoerregio Kempen',
municipality_boundaries: 'Gemeentegrenzen Kempen',
}
const DATASET_SOURCE_LABELS: Record<string, string> = {
department_omgeving_land_use: 'Departement Omgeving',
agentschap_landbouw_zeevisserij_agricultural_parcels: 'Agentschap Landbouw en Zeevisserij',
digitaal_vlaanderen_orthophoto: 'Digitaal Vlaanderen',
digitaal_vlaanderen_buildings_addresses_register: 'Digitaal Vlaanderen',
digitaal_vlaanderen_dhmv: 'Digitaal Vlaanderen',
grb: 'GRB',
historical_landuse: 'Digitaal Vlaanderen',
inbo_bwk_natura2000: 'INBO',
statbel: 'Statbel',
vrbg: 'Digitaal Vlaanderen',
waterinfo: 'Waterinfo Vlaanderen',
}
export function getDatasetSourceDisplayName(dataset: DatasetCreateResponse): string {
const source = (dataset.source_name ?? dataset.source).toLowerCase()
return DATASET_SOURCE_LABELS[source] ?? dataset.source_name ?? dataset.source
}
export function getDatasetDisplayName(dataset: DatasetCreateResponse): string {
if (dataset.source_name === 'digitaal_vlaanderen_dhmv') {
const productName = dataset.source_metadata?.['product_display_name']
return typeof productName === 'string' && productName.trim() ? productName : 'DHMV II hoogtemodel'
}
const layer = (dataset.reference_layer_name ?? dataset.source_metadata?.layer_name ?? dataset.source_metadata?.layer_type ?? '')
.toString()
.toLowerCase()
const label = DATASET_LABEL_BY_LAYER[layer]
if (!label) {
return dataset.name
}
const source = getDatasetSourceDisplayName(dataset)
return `${label} · ${source}`
}