52 lines
1.9 KiB
TypeScript
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}`
|
|
}
|