fix(mapa): simplificar consumo energetico a 4 capas categoricas

Antes: una sola variable 'consumo_p50_kwh' continua, dificil de leer
y los numeros del cluster de Airbnb (212, 76, 15) se confundian con
los valores del coroplético.

Ahora: 4 variables categoricas claras, todas pintando distritos
censales con escala de color semaforo (rojo = mal, verde = bien):

  1. Cola de bajo consumo (p10)        [ROJO = sospecha semi-vacios]
     p10 < 800 kWh: hay casas con consumo testimonial
  2. Cola de consumo bajo (p10)         [NARANJA = posible uso estacional]
     p10 entre 800-2500 kWh
  3. Consumo medio (p50)                [AMARILLO = residencial estandar]
     p50 entre 2500-4000 kWh (mediana 2869 kWh)
  4. Cola de consumo alto (p90)         [VERDE = sin cola de bajo consumo]
     p90 > 4500 kWh

El dropdown ahora muestra:
  - Habitatges totals
  - 4 variables de consumo (las nuevas)
  - Ratio p10/p50
  - Mediana consumo kWh (avanzado, al final)

i18n: 4 keys nuevas en ca.json y es.json con label + desc claros
que explican el significado politico (semi-vacio, uso estacional,
residencial estable).
This commit is contained in:
2026-07-15 16:55:08 +02:00
parent ff373fa2b8
commit d0c80d9cf5
3 changed files with 77 additions and 1 deletions
+61 -1
View File
@@ -19,8 +19,12 @@ const variableOptions: VariableOption[] = [
{ value: "hut_plazas", labelKey: "map.variable_hut_plazas", descKey: "map.variable_hut_plazas_desc", scope: "hut" },
{ value: "hut_registros", labelKey: "map.variable_hut_registros", descKey: "map.variable_hut_registros_desc", scope: "hut" },
{ value: "viviendas_totales", labelKey: "map.variable_viviendas_totales", descKey: "map.variable_viviendas_totales_desc", scope: "all" },
{ value: "consumo_p50_kwh", labelKey: "map.variable_consumo_p50", descKey: "map.variable_consumo_p50_desc", scope: "all" },
{ value: "consumo_p10_muy_bajo", labelKey: "map.variable_consumo_p10_muy_bajo", descKey: "map.variable_consumo_p10_muy_bajo_desc", scope: "all" },
{ value: "consumo_p10_bajo", labelKey: "map.variable_consumo_p10_bajo", descKey: "map.variable_consumo_p10_bajo_desc", scope: "all" },
{ value: "consumo_p50_medio", labelKey: "map.variable_consumo_p50_medio", descKey: "map.variable_consumo_p50_medio_desc", scope: "all" },
{ value: "consumo_p90_alto", labelKey: "map.variable_consumo_p90_alto", descKey: "map.variable_consumo_p90_alto_desc", scope: "all" },
{ value: "ratio_p10_p50_consumo", labelKey: "map.variable_ratio_p10_p50", descKey: "map.variable_ratio_p10_p50_desc", scope: "all" },
{ value: "consumo_p50_kwh", labelKey: "map.variable_consumo_p50", descKey: "map.variable_consumo_p50_desc", scope: "all" },
];
const popupTitleTmpl = t(lang, "map.popup_title");
@@ -119,6 +123,10 @@ const popupTitleTmpl = t(lang, "map.popup_title");
hut_plazas: lang === "es" ? "Plazas HUT" : "Places HUT",
viviendas_totales: lang === "es" ? "Viviendas totales" : "Habitatges totals",
consumo_p50: lang === "es" ? "Mediana consumo kWh" : "Mediana consum kWh",
consumo_p10_muy_bajo: lang === "es" ? "Cola bajo consumo (p10)" : "Cua de baix consum (p10)",
consumo_p10_bajo: lang === "es" ? "Cola consumo bajo (p10)" : "Cua de consum baix (p10)",
consumo_p50_medio: lang === "es" ? "Consumo medio (p50)" : "Consum mitjà (p50)",
consumo_p90_alto: lang === "es" ? "Cola consumo alto (p90)" : "Cua de consum alt (p90)",
airbnb_per_1000: lang === "es" ? "Airbnb / 1000 viv." : "Airbnb / 1000 hab.",
granularitat: lang === "es" ? "Granularidad" : "Granularitat",
seccion_censal: lang === "es" ? "sección censal" : "secció censal",
@@ -290,6 +298,58 @@ const popupTitleTmpl = t(lang, "map.popup_title");
desc: DESC.viviendas_totales,
appliesTo: T.legend_islands_all_mun,
},
consumo_p10_muy_bajo: {
scope: "all",
field: "consumo_p10_kwh",
colorExpr: [
"step", ["coalesce", ["get", "consumo_p10_kwh"], 0],
"#7f1d1d", 800, "#dc2626", 1200, "#f97316", 1800, "#fbbf24", 2500, "#22c55e",
],
stops: [0, 800, 1200, 1800, 2500],
colors: ["#7f1d1d", "#dc2626", "#f97316", "#fbbf24", "#22c55e", "#22c55e"],
label: T.consumo_p10_muy_bajo,
desc: DESC.consumo_p10_muy_bajo,
appliesTo: T.legend_islands_all_dis,
},
consumo_p10_bajo: {
scope: "all",
field: "consumo_p10_kwh",
colorExpr: [
"step", ["coalesce", ["get", "consumo_p10_kwh"], 0],
"#7f1d1d", 1000, "#dc2626", 1500, "#f97316", 2000, "#fbbf24", 2500, "#22c55e",
],
stops: [0, 1000, 1500, 2000, 2500],
colors: ["#7f1d1d", "#dc2626", "#f97316", "#fbbf24", "#22c55e", "#22c55e"],
label: T.consumo_p10_bajo,
desc: DESC.consumo_p10_bajo,
appliesTo: T.legend_islands_all_dis,
},
consumo_p50_medio: {
scope: "all",
field: "consumo_p50_kwh",
colorExpr: [
"step", ["coalesce", ["get", "consumo_p50_kwh"], 0],
"#7f1d1d", 2500, "#dc2626", 3000, "#facc15", 3500, "#86efac", 4000, "#22c55e",
],
stops: [0, 2500, 3000, 3500, 4000],
colors: ["#7f1d1d", "#dc2626", "#facc15", "#86efac", "#22c55e", "#22c55e"],
label: T.consumo_p50_medio,
desc: DESC.consumo_p50_medio,
appliesTo: T.legend_islands_all_dis,
},
consumo_p90_alto: {
scope: "all",
field: "consumo_p90_kwh",
colorExpr: [
"step", ["coalesce", ["get", "consumo_p90_kwh"], 0],
"#7f1d1d", 3000, "#facc15", 4000, "#86efac", 5000, "#22c55e", 6000, "#15803d",
],
stops: [0, 3000, 4000, 5000, 6000],
colors: ["#7f1d1d", "#facc15", "#86efac", "#22c55e", "#15803d", "#15803d"],
label: T.consumo_p90_alto,
desc: DESC.consumo_p90_alto,
appliesTo: T.legend_islands_all_dis,
},
consumo_p50_kwh: {
scope: "all",
field: "consumo_p50_kwh",
+8
View File
@@ -85,6 +85,14 @@
"variable_viviendas_totales_desc": "Total d'habitatges per municipi (Cens 2021, replicat a totes les seccions del municipi)",
"variable_consumo_p50": "Mediana consum elèctric (kWh)",
"variable_consumo_p50_desc": "Percentil 50 de consum elèctric anual per districte (Cens 2021). Mediana del que consumeix una llar al districte.",
"variable_consumo_p10_muy_bajo": "Cola de baix consum (p10)",
"variable_consumo_p10_muy_bajo_desc": "Districte amb percentil 10 de consum elèctric inferior a 1.000 kWh/any. Una p10 baixa indica que hi ha un grup nombrós de cases amb consum molt reduït (vacants, segones residències, consum testimonial). Vermell = risc elevat de semi-vaciació.",
"variable_consumo_p10_bajo": "Cola de consum baix (p10)",
"variable_consumo_p10_bajo_desc": "Districte amb p10 entre 1.000 i 2.000 kWh/any. Taronja = possible ús estacional o semi-vaciació parcial.",
"variable_consumo_p50_medio": "Consum mitjà (p50)",
"variable_consumo_p50_medio_desc": "Districte amb p50 entre 2.500 i 3.500 kWh/any. Groc = consum residencial estàndard. La mediana de Balears és 2.869 kWh.",
"variable_consumo_p90_alto": "Cua de consum alt (p90)",
"variable_consumo_p90_alto_desc": "Districte amb p90 superior a 4.500 kWh/any. Verd = sense cues de baix consum, perfil residencial estable amb AC intensiu o família nombrosa.",
"variable_ratio_p10_p50": "Ratio p10/p50 consum elèctric",
"variable_ratio_p10_p50_desc": "Quocient entre el percentil 10 i la mediana del consum elèctric del districte (Cens 2021). Baix (<0.3) = grup de cases amb consum molt baix, possibles vacants o segones residències. Alt (~0.6+) = distribució més homogènia d'ús residencial estable.",
"variable_airbnb_per_1000": "Pressió Airbnb (per 1000 habitatges)",
+8
View File
@@ -85,6 +85,14 @@
"variable_viviendas_totales_desc": "Total de viviendas por municipio (Censo 2021, replicado en todas las secciones del municipio)",
"variable_consumo_p50": "Mediana consumo eléctrico (kWh)",
"variable_consumo_p50_desc": "Percentil 50 de consumo eléctrico anual por distrito (Censo 2021). Mediana de lo que consume un hogar en el distrito.",
"variable_consumo_p10_muy_bajo": "Cola de bajo consumo (p10)",
"variable_consumo_p10_muy_bajo_desc": "Distrito con percentil 10 de consumo eléctrico inferior a 1.000 kWh/año. Una p10 baja indica que hay un grupo numeroso de casas con consumo muy reducido (vacías, segundas residencias, consumo testimonial). Rojo = riesgo elevado de semi-vacío.",
"variable_consumo_p10_bajo": "Cola de consumo bajo (p10)",
"variable_consumo_p10_bajo_desc": "Distrito con p10 entre 1.000 y 2.000 kWh/año. Naranja = posible uso estacional o semi-vacío parcial.",
"variable_consumo_p50_medio": "Consumo medio (p50)",
"variable_consumo_p50_medio_desc": "Distrito con p50 entre 2.500 y 3.500 kWh/año. Amarillo = consumo residencial estándar. La mediana de Baleares es 2.869 kWh.",
"variable_consumo_p90_alto": "Cola de consumo alto (p90)",
"variable_consumo_p90_alto_desc": "Distrito con p90 superior a 4.500 kWh/año. Verde = sin colas de bajo consumo, perfil residencial estable con AC intensivo o familia numerosa.",
"variable_airbnb_per_1000": "Presión Airbnb (por 1000 viviendas)",
"variable_airbnb_per_1000_desc": "Listings Airbnb por cada 1000 viviendas del municipio. Medida relativa de la presión turística sobre el parque residencial.",
"variable_ratio_p10_p50": "Ratio p10/p50 consumo eléctrico (proxy semi-vacío)",