From 41004331cfc2fc43fdec81c43c621eb172607fbe Mon Sep 17 00:00:00 2001 From: Braulio Date: Sat, 31 Jan 2026 22:03:56 +0100 Subject: [PATCH] add provincia --- integrations/arcgis/src/arcgis.mappers.ts | 34 +- integrations/arcgis/src/embalse-provincias.ts | 411 ++++++++++++++++++ 2 files changed, 430 insertions(+), 15 deletions(-) create mode 100644 integrations/arcgis/src/embalse-provincias.ts diff --git a/integrations/arcgis/src/arcgis.mappers.ts b/integrations/arcgis/src/arcgis.mappers.ts index 6cf5b5e..1f7d571 100644 --- a/integrations/arcgis/src/arcgis.mappers.ts +++ b/integrations/arcgis/src/arcgis.mappers.ts @@ -1,26 +1,30 @@ import { Cuenca, Embalse, generateSlug, MetaDatos } from "db-model"; import { ArcGisEntry } from "./api/arcgis-embalse-model.js"; +import { embalseProvincias } from "./embalse-provincias.js"; export const mapArgGisEntryToCuenca = (arcGisEntry: ArcGisEntry): Cuenca => ({ _id: arcGisEntry.ambito_id.toString(), nombre: arcGisEntry.ambito_nombre, }); -export const mapArgGisEntryToEmbalse = (arcGisEntry: ArcGisEntry): Embalse => ({ - _id: arcGisEntry.embalse_id_1.toString(), - embalse_id: arcGisEntry.EMBALSE_ID, - nombre: arcGisEntry.embalse_nombre, - slug: generateSlug(arcGisEntry.embalse_nombre), - cuenca: mapArgGisEntryToCuenca(arcGisEntry), - provincia: null, // No disponible en ArcGisEntry - capacidad: arcGisEntry.agua_total, - aguaActualAemet: arcGisEntry.agua_actual, - fechaMedidaAguaActualAemet: new Date(arcGisEntry.fecha), - aguaActualSAIH: null, - fechaMedidaAguaActualSAIH: null, - descripcion_id: null, // No disponible en ArcGisEntry - uso: arcGisEntry.Uso, -}); +export const mapArgGisEntryToEmbalse = (arcGisEntry: ArcGisEntry): Embalse => { + const slug = generateSlug(arcGisEntry.embalse_nombre); + return { + _id: arcGisEntry.embalse_id_1.toString(), + embalse_id: arcGisEntry.EMBALSE_ID, + nombre: arcGisEntry.embalse_nombre, + slug, + cuenca: mapArgGisEntryToCuenca(arcGisEntry), + provincia: embalseProvincias.get(slug) ?? null, + capacidad: arcGisEntry.agua_total, + aguaActualAemet: arcGisEntry.agua_actual, + fechaMedidaAguaActualAemet: new Date(arcGisEntry.fecha), + aguaActualSAIH: null, + fechaMedidaAguaActualSAIH: null, + descripcion_id: null, // No disponible en ArcGisEntry + uso: arcGisEntry.Uso, + }; +}; export const mapArgGisEntryToMetaDatos = ( arcGisEntry: ArcGisEntry diff --git a/integrations/arcgis/src/embalse-provincias.ts b/integrations/arcgis/src/embalse-provincias.ts new file mode 100644 index 0000000..43ed5d9 --- /dev/null +++ b/integrations/arcgis/src/embalse-provincias.ts @@ -0,0 +1,411 @@ +/** + * Mapa hardcodeado de slug → provincia. + * + * El API de ArcGIS no devuelve la provincia, así que la asignamos manualmente + * usando conocimiento geográfico. Las claves son los slugs generados con + * generateSlug(embalse_nombre), lo que evita problemas de tildes, + * mayúsculas/minúsculas y caracteres especiales. + */ +export const embalseProvincias = new Map([ + ["acena", "Zamora"], + ["agavanzal-n-a-s-a-de", "Zamora"], + ["agrio-aznalcollar", "Sevilla"], + ["aguascebas", "Jaén"], + ["agueda", "Salamanca"], + ["aguijon-el", "Ciudad Real"], + ["aguilar", "Córdoba"], + ["alange", "Badajoz"], + ["alarcon", "Cuenca"], + ["albarellos", "Ourense"], + ["albina", "Álava"], + ["alcala-del-rio", "Sevilla"], + ["alcaniz-estanca", "Teruel"], + ["alcantara", "Cáceres"], + ["alcollarin", "Cáceres"], + ["alcorlo", "Guadalajara"], + ["aldeadavila", "Salamanca"], + ["alfilorios", "Asturias"], + ["alfonso-xiii", "Murcia"], + ["algar", "Cádiz"], + ["algeciras", "Murcia"], + ["alloz", "Navarra"], + ["almendra", "Salamanca"], + ["almodovar", "Córdoba"], + ["almoguera", "Guadalajara"], + ["alsa-mediajo", "Cantabria"], + ["amadorio", "Alicante"], + ["anarbe", "Guipúzcoa"], + ["anchuricas", "Jaén"], + ["andevalo", "Huelva"], + ["aracena", "Huelva"], + ["arbon", "Asturias"], + ["arcos-de-la-frontera", "Cádiz"], + ["arenos", "Barcelona"], + ["arenoso", "Córdoba"], + ["argos", "Murcia"], + ["arlanzon", "Burgos"], + ["arquillo-de-san-blas", "Teruel"], + ["atance-el", "Guadalajara"], + ["atazar-el", "Madrid"], + ["azutan", "Toledo"], + ["bachimana-lago", "Huesca"], + ["banos", "Granada"], + ["bao", "Ourense"], + ["barasona", "Huesca"], + ["barbate", "Cádiz"], + ["barca-la", "Pontevedra"], + ["barcena", "León"], + ["barrie-de-la-maza", "A Coruña"], + ["barrios-de-luna", "León"], + ["baserca", "Huesca"], + ["belena", "Guadalajara"], + ["belesar", "Lugo"], + ["bellus", "Valencia"], + ["bembezar", "Córdoba"], + ["benageber", "Valencia"], + ["beniarres", "Alicante"], + ["beninar", "Almería"], + ["bermejales", "Granada"], + ["beznar", "Granada"], + ["boadella", "Girona"], + ["bolarque", "Guadalajara"], + ["bolera-la", "Jaén"], + ["boqueron", "Sevilla"], + ["borbollon", "Cáceres"], + ["bornos", "Cádiz"], + ["bramatuero-alto", "Huesca"], + ["brena-ii-la", "Córdoba"], + ["brena-la", "Córdoba"], + ["brovales", "Badajoz"], + ["bubal", "Huesca"], + ["buendia", "Cuenca"], + ["burdalo", "Cáceres"], + ["burgomillodo", "Segovia"], + ["burguillo-puente-nuevo", "Ávila"], + ["buseo", "Valencia"], + ["caceres-guadiloba", "Cáceres"], + ["cala", "Sevilla"], + ["calanda", "Teruel"], + ["camarasa", "Lleida"], + ["camarillas", "Teruel"], + ["campanana-la", "Jaén"], + ["camporredondo", "Palencia"], + ["canales", "Granada"], + ["canchales", "Badajoz"], + ["cancho-del-fresno", "Cáceres"], + ["canelles", "Huesca"], + ["canon-de-santolea", "Teruel"], + ["cantillana", "Sevilla"], + ["carpio-el", "Córdoba"], + ["casares-de-arbas", "León"], + ["casasola", "Salamanca"], + ["caspe", "Zaragoza"], + ["castilseras", "Ciudad Real"], + ["castrejon", "Toledo"], + ["castrelo", "Ourense"], + ["castro", "Lugo"], + ["castro-de-las-cogotas", "Ávila"], + ["castro-el", "Ourense"], + ["catllar", "Tarragona"], + ["cavallers", "Lleida"], + ["cazalegas", "Toledo"], + ["cecebre", "A Coruña"], + ["cedillo", "Cáceres"], + ["celemin", "Cádiz"], + ["cenajo", "Albacete"], + ["cenza", "Asturias"], + ["cernadilla", "Zamora"], + ["certescans", "Lleida"], + ["cervera", "Cáceres"], + ["chandrexa", "Ourense"], + ["chanza", "Huelva"], + ["charco-redondo", "Cádiz"], + ["cierva-la", "Murcia"], + ["cijara", "Badajoz"], + ["ciurana", "Tarragona"], + ["cohilla-la", "Cantabria"], + ["colomera", "Granada"], + ["compuerto", "Palencia"], + ["concepcion", "Jaén"], + ["conchas-las", "Ourense"], + ["conde-guadalhorce", "Málaga"], + ["contreras", "Cuenca"], + ["cordobilla", "Córdoba"], + ["cornalbo", "Badajoz"], + ["cortes-ii", "Valencia"], + ["corumbel-bajo", "Huelva"], + ["crevillente", "Alicante"], + ["cubilar", "Lugo"], + ["cubillas", "Granada"], + ["cuerda-del-pozo", "Soria"], + ["cueva-foradada", "Teruel"], + ["cuevas-de-almanzora", "Almería"], + ["derivacion-retortillo", "Salamanca"], + ["doiras", "Asturias"], + ["dona-aldonza", "Ciudad Real"], + ["ebro", "Cantabria"], + ["edrada-mao", "Lugo"], + ["eiras", "Pontevedra"], + ["el-naranjero", "Huelva"], + ["el-portillo", "Badajoz"], + ["el-vicario", "Ciudad Real"], + ["encinarejo", "Córdoba"], + ["enciso", "La Rioja"], + ["entrepenas", "Guadalajara"], + ["escales", "Huesca"], + ["escalona", "Huesca"], + ["escarra", "Huesca"], + ["eugui", "Navarra"], + ["eume", "A Coruña"], + ["fernandina-la", "Cáceres"], + ["fervenza", "A Coruña"], + ["finisterre", "Cáceres"], + ["foix", "Barcelona"], + ["forata", "Valencia"], + ["forcadas-as", "Pontevedra"], + ["francisco-abellan", "Granada"], + ["fresneda", "Soria"], + ["frieira", "Ourense"], + ["fuensanta", "Albacete"], + ["gabriel-y-galan", "Cáceres"], + ["garcia-de-sola", "Badajoz"], + ["gargaligas", "Badajoz"], + ["gasset", "Ciudad Real"], + ["gergal", "Almería"], + ["giribaile", "Jaén"], + ["gonzalez-lacasa", "La Rioja"], + ["grado-el", "Huesca"], + ["guadalcacin-ii", "Cádiz"], + ["guadalen", "Jaén"], + ["guadalest", "Alicante"], + ["guadalhorce-guadalteba", "Málaga"], + ["guadalmellato", "Córdoba"], + ["guadalmena", "Jaén"], + ["guadarranque", "Cádiz"], + ["guajaraz", "Toledo"], + ["guiamets", "Tarragona"], + ["guijo-de-granadilla", "Cáceres"], + ["guillena", "Sevilla"], + ["guistolas", "Ourense"], + ["hornachuelos", "Córdoba"], + ["horno-tejero", "Ávila"], + ["huesna", "Sevilla"], + ["hurones-los", "Cádiz"], + ["ibai-eder", "Guipúzcoa"], + ["ibiur", "Guipúzcoa"], + ["ip", "Huesca"], + ["irabia", "Navarra"], + ["iruena", "Soria"], + ["itoiz", "Navarra"], + ["iznajar", "Córdoba"], + ["jandula", "Jaén"], + ["jarosa-la", "Córdoba"], + ["jarrama", "Badajoz"], + ["jerte-plasencia", "Cáceres"], + ["jose-toran", "Guadalajara"], + ["la-baells", "Barcelona"], + ["la-cabezuela", "Almería"], + ["la-colada", "Badajoz"], + ["la-llosa-del-cavall", "Lleida"], + ["la-muela", "Jaén"], + ["la-pedrera", "Alicante"], + ["la-serena", "Badajoz"], + ["la-toba", "Cuenca"], + ["lanuza", "Huesca"], + ["las-fitas", "Huesca"], + ["laverne", "Barcelona"], + ["lechago", "Teruel"], + ["limonero", "Málaga"], + ["linares-del-arroyo", "Segovia"], + ["llauset", "Huesca"], + ["llerena", "Badajoz"], + ["loriguilla", "Valencia"], + ["los-machos", "Huelva"], + ["los-molinos", "Madrid"], + ["loteta-la", "Zaragoza"], + ["maidevera", "Zaragoza"], + ["malpasillo-jauja", "Córdoba"], + ["mansilla", "La Rioja"], + ["mar-lago", "León"], + ["maria-cristina", "Castellón"], + ["marmolejo", "Jaén"], + ["martin-gonzalo", "Córdoba"], + ["matalavilla", "León"], + ["mediano", "Huesca"], + ["melonares-los", "Sevilla"], + ["mequinenza", "Zaragoza"], + ["minilla-la", "Sevilla"], + ["molino-de-chincha", "Cádiz"], + ["moneva", "Zaragoza"], + ["monteagudo", "Murcia"], + ["montearagon", "Huesca"], + ["montefurado", "Lugo"], + ["montijo", "Badajoz"], + ["montoro", "Ciudad Real"], + ["nagore", "Navarra"], + ["navacerrada", "Madrid"], + ["navalcan", "Toledo"], + ["navamuno", "Cáceres"], + ["negratin", "Granada"], + ["negro-lago", "Huesca"], + ["nogales", "Badajoz"], + ["odiel", "Huelva"], + ["oliana", "Lleida"], + ["olivargas", "A Coruña"], + ["ordunte", "Vizcaya"], + ["orellana", "Badajoz"], + ["pajares", "Jaén"], + ["palmaces", "Guadalajara"], + ["pardo-el", "Madrid"], + ["parras-las", "Jaén"], + ["peares-os", "Ourense"], + ["pedro-marin", "Jaén"], + ["pena", "Ourense"], + ["pena-la", "Huesca"], + ["penarroya", "Ciudad Real"], + ["penarrubia", "Cantabria"], + ["pias-san-agustin", "Ourense"], + ["picadas", "Madrid"], + ["piedra-aguda", "Pontevedra"], + ["piedras", "Huelva"], + ["pinilla", "Madrid"], + ["pintado-el", "Sevilla"], + ["ponton-alto-el", "Segovia"], + ["porma-juan-benet", "León"], + ["portaje", "Cáceres"], + ["portas-las", "Ourense"], + ["portina-la", "Cáceres"], + ["portodemouros", "A Coruña"], + ["prada", "León"], + ["proserpina", "Badajoz"], + ["pto-vallehermoso", "Córdoba"], + ["puebla-de-cazalla", "Sevilla"], + ["puente-de-santolea", "Teruel"], + ["puente-nuevo", "Córdoba"], + ["puente-porto", "Zamora"], + ["puentes", "Murcia"], + ["puentes-viejas", "Madrid"], + ["quentar", "Granada"], + ["quiebrajano", "Jaén"], + ["rabanos", "Soria"], + ["regajo", "Castellón"], + ["requejada", "Palencia"], + ["respomuso", "Huesca"], + ["retortillo", "Salamanca"], + ["rialb", "Lleida"], + ["riano", "León"], + ["ribarroja", "Tarragona"], + ["ribeira-a", "Lugo"], + ["ricobayo", "Zamora"], + ["riocobo", "Cáceres"], + ["rioseco", "León"], + ["riosequillo", "Madrid"], + ["riudecanyes", "Tarragona"], + ["rivera-de-gata", "Cáceres"], + ["rosarito", "Cáceres"], + ["rozas-las", "León"], + ["ruecas", "Badajoz"], + ["rules", "Granada"], + ["rumblar", "Jaén"], + ["saburo-lago", "Huesca"], + ["salas", "Asturias"], + ["salime", "Asturias"], + ["sallente", "Lleida"], + ["salor", "Cáceres"], + ["san-anton", "Almería"], + ["san-bartolome", "Huelva"], + ["san-clemente", "Huelva"], + ["san-jose", "Almería"], + ["san-juan", "Madrid"], + ["san-lorenzo", "Huelva"], + ["san-martino", "Pontevedra"], + ["san-pedro", "Jaén"], + ["san-rafael-de-navallana", "Córdoba"], + ["san-salvador", "Zamora"], + ["san-sebastian", "Jaén"], + ["san-estevo", "Ourense"], + ["sancho", "Huelva"], + ["sant-pons", "Barcelona"], + ["santa-ana", "Huesca"], + ["santa-eulalia", "Cáceres"], + ["santa-maria-de-belsue", "Huesca"], + ["santa-teresa", "Salamanca"], + ["santillana", "Cantabria"], + ["santolea", "Teruel"], + ["santomera", "Murcia"], + ["sau", "Barcelona"], + ["saucelle", "Salamanca"], + ["sequeiros", "Ourense"], + ["serones", "Almería"], + ["sichar", "Huesca"], + ["sierra-boyera", "Córdoba"], + ["sierra-brava", "Cáceres"], + ["siles", "Jaén"], + ["sistema-aguas-limpias", "Huesca"], + ["sistema-alto-caldares", "Huesca"], + ["sistema-capdella", "Lleida"], + ["sistema-escarra", "Huesca"], + ["sistema-lagos-espot", "Lleida"], + ["sistema-valle-de-aran", "Lleida"], + ["sobron", "Burgos"], + ["somiedo-lagos", "Asturias"], + ["sotonera", "Huesca"], + ["sta-uxia", "A Coruña"], + ["susqueda", "Girona"], + ["taibilla", "Albacete"], + ["tajera-la", "Guadalajara"], + ["talave", "Albacete"], + ["tanes", "Asturias"], + ["tentudia", "Badajoz"], + ["terradets", "Lleida"], + ["terroba", "La Rioja"], + ["torcas-las", "Cuenca"], + ["torcon", "Toledo"], + ["torre-de-abraham", "Ciudad Real"], + ["torre-del-aguila", "Sevilla"], + ["torrejon-tajo-tietar", "Cáceres"], + ["tort-lago", "Lleida"], + ["tous-la-ribera", "Valencia"], + ["tranco-de-beas", "Jaén"], + ["tranquera-la", "Zaragoza"], + ["tremp-o-talarn", "Lleida"], + ["ulldecona", "Castellón"], + ["ullivarri", "Álava"], + ["urdalur", "Navarra"], + ["urdiceto", "Huesca"], + ["urkulu", "Guipúzcoa"], + ["urrunaga", "Álava"], + ["uzquiza", "Burgos"], + ["vadiello", "Huesca"], + ["vado-el", "Guadalajara"], + ["vadomojon", "Jaén"], + ["val-el", "Zaragoza"], + ["valdecanas", "Cáceres"], + ["valdeinfierno", "Murcia"], + ["valdeobispo", "Cáceres"], + ["valdepatao", "Huesca"], + ["valmayor", "Madrid"], + ["valparaiso", "Zamora"], + ["valuengo", "Badajoz"], + ["vega-del-jabalon", "Ciudad Real"], + ["velle", "Ourense"], + ["vellon-el-pedrezuela", "Madrid"], + ["vencias-las", "León"], + ["viboras", "Jaén"], + ["vilasouto", "Lugo"], + ["villafranca", "Córdoba"], + ["villagonzalo", "Badajoz"], + ["villagudin", "Lugo"], + ["villalba-de-los-barros", "Badajoz"], + ["villalcampo", "Zamora"], + ["villameca", "León"], + ["villar-del-rey", "Badajoz"], + ["villar-el", "Jaén"], + ["vinuela-la", "Málaga"], + ["yeguas", "Córdoba"], + ["yesa", "Navarra"], + ["zahara-el-gastor", "Cádiz"], + ["zocueca", "Jaén"], + ["zufre", "Huelva"], + ["zujar", "Granada"], +]);