Mejora y enriquecimiento de datos geográficos de los bornes de recarga eléctrica en la provincia de Castellón

Autor/a
Afiliación

Irene Velert Díaz

Universidad de Valencia

Fecha de publicación

1 de abril de 2026

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.).

library(tidyverse)
library(sf)
library(tidygeocoder)
library(leaflet)
library(ggplot2)
library(knitr)

fichero_csv <- "../data/2526020046/puntos de recarga castellon.csv"

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.")
  }
}
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.

if(exists("data_mejora")){
  set.seed(123)
  muestra_val <- data_mejora[sample(nrow(data_mejora), 15), ]
  
  data_geocoded <- muestra_val %>%
    geocode(address = DIRECCION_FULL, method = "arcgis", quiet = TRUE)
  
  data_sf_final <- st_as_sf(data_geocoded, coords = c("long", "lat"), crs = 4326, na.fail = FALSE)
}

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.

kable(head(data_geocoded[, c("municipios", "tipo_de_carga", "lat", "long", "DIRECCION_FULL")], 10),
      caption = "Detalle de la Muestra con Coordenadas Validadas por ArcGIS")
Detalle de la Muestra con Coordenadas Validadas por ArcGIS
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)
if(exists("data_sf_final")){
  st_write(data_sf_final, "datos_recarga_castellon_mejora.gpkg", delete_dsn = TRUE, quiet = TRUE)
}

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)