Mejora y enriquecimiento de datos geográficos de los bornes de recarga eléctrica en la provincia de Castellón
INTRODUCIÓN
Este documento es una contribución al proyecto DataEnhance UV, que se centra en validar y mejorar la calidad de los datos geoespaciales. El análisis se enfoca en la infraestructura de recarga para vehículos eléctricos en la provincia de Castellón, una red esencial creada con el propósito no solo de impulsar la movilidad sostenible, sino también como un medio para unir las zonas interiores y costeras y luchar contra la despoblación en los municipios del interior.
Este análisis convierte datos administrativos en bruto en información geográfica de alta calidad, comprobada y preparada para ser incorporada a los procesos de planificación del territorio.
INPUT
La base de datos escogida proviene del sitio web nacional datos.gob.es, específicamente del catálogo de la Diputación de Castellón (relación de electrolineras). Este conjunto de datos es un inventario oficial de los puntos de recarga que se han puesto en marcha para enlazar las localidades interiores con la costa, con el objetivo de impulsar el territorio y detener la despoblación.
El archivo original, puntos de recarga castellon.csv, tiene una estructura que necesita un ajuste previo:
Estilo: CSV con un delimitador de punto y coma (;).
Coordenadas: Guardadas en una sola columna de texto (“lat, long”), que necesita ser segmentada.
Variables: Datos acerca de municipios, cantidad de mangueras y tipo de carga (rápida, semirápida, etc.).
DESCRIPCIÓN
Dataset Original (Estado Inicial):
A continuación se presenta un ejemplo del archivo tal y como se obtiene de la fuente oficial. Se puede observar que las coordenadas son inoperables para el software SIG debido a que están unificadas en un único campo de texto y no existen direcciones normalizadas.
if(file.exists(fichero_csv)){
data_raw <- read_delim(fichero_csv, delim = ";", show_col_types = FALSE)
if(exists("data_raw")){
kable(head(data_raw, 10),
caption = "Muestra del dataset original: Coordenadas no segmentadas y datos en bruto.")
}
}| municipios | n_o_de_mangueras | tipo_de_carga | coordenadas |
|---|---|---|---|
| Peñíscola | 2 | Semirápida (22 KW) | 40.35884, 0.40498 |
| Benassal | 2 | Semirápida (22 KW) | 40.37778, -0.14058 |
| Catí | 2 | Semirápida (22 KW) | 40.46981, 0.02076 |
| Vistabella | 2 | Semirápida (22 KW) | 40.29381, -0.29311 |
| Cabanes | 2 | Semirápida (22 KW) | 40.15335, 0.03943 |
| Alcalà de Xivert | 2 | Semirápida (22 KW) | 40.306, 0.22528 |
| Xilxes | 2 | Semirápida (22 KW) | 39.78282, -0.18799 |
| Morella | 2 | Semirápida (22 KW) | 40.61933, -0.10582 |
| Bejís | 2 | Semirápida (22 KW) | 39.90985, -0.70697 |
| Vallibona | 2 | Semirápida (22 KW) | 40.60328, 0.04608 |
Tras una inspección técnica, se detectan varias áreas de mejora que justifican la intervención:
Segmentación de características espaciales: Desglosamos la información sobre longitud y latitud en valores numéricos separados.
Creación de la variable DIRECCION_FULL: Este es el principal avance. Al fusionar el municipio con la provincia (“Castellón”) y el país (“España”), le brindamos al motor de búsqueda de ArcGIS una secuencia de caracteres única, para así prevenir equivocaciones en la localización en otros municipios que tengan nombres parecidos.
Comprobación de la ubicación: Comprobamos la exactitud de las direcciones oficiales en comparación con servicios externos de geocodificación.
TRATAMIENTO
El proceso de mejora se ha estructurado en dos fases críticas: limpieza estructural y geocodificación de validación mediante servicios externos.
1. Reestructuración de la Tabla
En primer lugar, separamos la columna de coordenadas y convertimos los datos a formato numérico. Además, generamos una cadena de dirección normalizada para los motores de búsqueda.
if(file.exists(fichero_csv)){
data_raw <- read_delim(fichero_csv, delim = ";", show_col_types = FALSE)
data_mejora <- data_raw %>%
separate(coordenadas, into = c("lat_orig", "long_orig"), sep = ", ", convert = TRUE) %>%
mutate(DIRECCION_FULL = paste(municipios, "Castellón, España", sep = ", "))
}2. Geocodificación (Data Enhancement)
Como técnica de mejora de calidad del dato, aplicamos un proceso de geocodificación mediante el servicio de ArcGIS. Usamos la función geocode() que es más robusta para trabajar con tablas y evitar errores de longitud de vectores.
OUTPUT
Tras el proceso de mejora, se ofrece un conjunto de datos validado y enriquecido. Los resultados se presentan a través de una tabla de atributos optimizada y un visor interactivo.
1. Tabla de Datos Mejorada
A continuación se muestra el resultado del proceso de Data Enhancement. Se observa cómo la información ha sido segmentada y validada, ofreciendo ahora coordenadas numéricas limpias y direcciones normalizadas.
| municipios | tipo_de_carga | lat | long | DIRECCION_FULL |
|---|---|---|---|---|
| Sueras | Semirápida (22 KW) | 39.95241 | -0.3298838 | Sueras, Castellón, España |
| Torrechiva | Semirápida (22 KW) | 40.04980 | -0.3971934 | Torrechiva, Castellón, España |
| Lucena del Cid | Semirápida (22 KW) | 40.13850 | -0.2799970 | Lucena del Cid, Castellón, España |
| Catí | Semirápida (22 KW) | 40.47099 | 0.0222751 | Catí, Castellón, España |
| Vallibona | Semirápida (22 KW) | 40.60295 | 0.0462348 | Vallibona, Castellón, España |
| Benassal | Semirápida (22 KW) | 40.37832 | -0.1371538 | Benassal, Castellón, España |
| Alcalà de Xivert | Semirápida (22 KW) | 40.30461 | 0.2262953 | Alcalà de Xivert, Castellón, España |
| Sant Joan de Moró | Semirápida (22 KW) | 40.06081 | -0.1371611 | Sant Joan de Moró, Castellón, España |
| Cabanes | Semirápida (22 KW) | 40.15477 | 0.0454299 | Cabanes, Castellón, España |
| Vistabella | Semirápida (22 KW) | 40.21629 | -0.1709984 | Vistabella, Castellón, España |
2. Visor de Validación Espacial
A diferencia de un mapa estático, este visor interactivo con estilo CartoDB Positron ofrece una experiencia informativa superior. Gracias al proceso de tratamiento, el usuario puede interactuar con cada marcador para conocer no solo su ubicación, sino también el municipio exacto y el tipo de carga disponible (Rápida, Semirápida, etc.).
leaflet(data_sf_final) %>%
addProviderTiles("Esri.WorldImagery") %>%
addMarkers(popup = ~paste0("<b>Municipio:</b> ", municipios, "<br><b>Carga:</b> ", tipo_de_carga)) %>%
addMiniMap(tiles = providers$CartoDB.Positron)El fichero GeoPackage generado garantiza la integridad de los datos espaciales y puede ser descargado de aquí.

Proyecto de Innovación Educativa Emergente (PIEE-3898312)