From f9fe565b5fd4539d33de0d0aa753093c1132028d Mon Sep 17 00:00:00 2001 From: hcaillaud Date: Thu, 11 Apr 2024 16:53:08 +0200 Subject: [PATCH] regle affichage attributs bdtopo --- .../feature-property-filter.js | 81 +++++++++++++++---- 1 file changed, 66 insertions(+), 15 deletions(-) diff --git a/src/js/map-interactivity/feature-property-filter.js b/src/js/map-interactivity/feature-property-filter.js index 7e371ddb..612c859e 100644 --- a/src/js/map-interactivity/feature-property-filter.js +++ b/src/js/map-interactivity/feature-property-filter.js @@ -69,6 +69,21 @@ const featurePropertyFilter = (feature) => { let nature_detaillee = getProperty(feature, "nature_detaillee"); let hauteur = getProperty(feature, "hauteur"); + // pas de légende bdtopo + const noBdtopoAttr = ["construction_lineaire", "detail_hydrographique", "zone_d_estran", "ligne_orographique"] + if (noBdtopoAttr.includes(feature.layer["source-layer"])) { + result.after += ""; + result.before = ""; + return result; + } + if (feature.layer["source-layer"] == "surface_hydrographique" && ["Marais salant", "Marais"].includes(nature)) { + result.after += ""; + result.before = ""; + return result; + } + + + // Propriétés spécifiques reservoir if(feature.layer["source-layer"] == "reservoir") { let volume = getProperty(feature, "volume"); @@ -94,27 +109,20 @@ const featurePropertyFilter = (feature) => { let acces_pieton = getProperty(feature, "acces_pieton"); if (cpx_numero) { - result.before += `${cpx_numero}
`; + result.before += `Numéro : ${cpx_numero}
`; } if (cpx_toponyme_route_nommee) { - result.before += `${cpx_toponyme_route_nommee}
`; - } - else { - if (nature && natureRouteToDisplay.includes(nature)) - result.before += `${nature}
`; + result.before += `Nom : ${cpx_toponyme_route_nommee}
`; } if (cpx_toponyme_voie_verte) result.before += `${cpx_toponyme_voie_verte}
`; if (cpx_toponyme_itineraire_cyclable) result.before += `${cpx_toponyme_itineraire_cyclable}
`; if (nombre_de_voies) { - if (nombre_de_voies == "1") - result.before += `${nombre_de_voies} voie
`; - else - result.before += `${nombre_de_voies} voies
`; + result.before += `Nombre de voies : ${nombre_de_voies}
`; } if (acces_pieton) { - result.before += `Accès piéton : ${acces_pieton}
`; + result.before += `Mode d'accès piéton : ${acces_pieton}
`; } if (voie_prive) { result.before += "Voie privée
"; @@ -138,7 +146,7 @@ const featurePropertyFilter = (feature) => { let nombre_d_etages = getProperty(feature, "nombre_d_etages"); let date_d_apparition = getProperty(feature, "date_d_apparition"); - if(nombre_de_logements && nature == "Bâtiment résidentiel ou quelconque") { + if(nombre_de_logements && (nature == "Bâtiment résidentiel ou quelconque" || nature == "Indifférenciée")) { result.before += `Nombre de logements : ${nombre_de_logements}
`; } if(nombre_d_etages) { @@ -170,7 +178,7 @@ const featurePropertyFilter = (feature) => { let nombre_de_voies = getProperty(feature, "nombre_de_voies"); if(cpx_toponyme) { - result.before += `${cpx_toponyme}
`; + result.before += `Nom : ${cpx_toponyme}
`; } if(usage) { result.before += `Usage : ${usage}
`; @@ -182,15 +190,58 @@ const featurePropertyFilter = (feature) => { result.after = ""; return result; } + // Régles spécifiques cimetière + if (feature.layer["source-layer"] == "cimetiere") { + if (nature) { + result.before += `Cimetière ${nature.toLowerCase()}
`; + } + result.before += ""; + result.after = ""; + return result; + } - if (feature.layer["source-layer"] != "construction_ponctuelle" - && feature.layer["source-layer"] != "cours_d_eau") { + // Régles spécifiques réservoir + if (feature.layer["source-layer"] == "reservoir") { + let volume = getProperty(feature, "volume"); if (nature) { result.before += `${nature}
`; } if (hauteur) { result.before += `Hauteur : ${feature.properties.hauteur.toLocaleString("fr-FR")} mètres
`; } + if (volume) { + result.before += `Volume : ${feature.properties.volume.toLocaleString("fr-FR")} mètres
`; + } + result.before += ""; + result.after = ""; + return result; + } + + // Régles spécifiques construction ponctuelle + if (feature.layer["source-layer"] == "construction_ponctuelle") { + let date_d_apparition = getProperty(feature, "date_d_apparition"); + if (nature_detaillee) { + result.before += `Type : ${nature_detaillee}
`; + } + if (hauteur) { + result.before += `Hauteur : ${feature.properties.hauteur.toLocaleString("fr-FR")} mètres
`; + } + if(date_d_apparition) { + let match = date_d_apparition.match("([0-9]+)/"); + let year = match[1] ? match[1] : ""; + result.before += `Année de construction : ${year}
`; + } + result.before += ""; + result.after = ""; + return result; + } + + // Régles spécifiques zone_de_vegetation + if (feature.layer["source-layer"] == "zone_de_vegetation") { + const vegetationNoAttr = ["Lande ligneuse", "Vigne", "Verger", "Forêt ouverte", "Mangrove"] + if (!vegetationNoAttr.includes(nature)) { + result.before += nature + "
"; + } result.before += ""; result.after = ""; return result;