Rows: 534
Columns: 14
$ geo_point_2d <chr> "{ \"lon\": -0.37343300000000063, \"lat\": 39.48834399907…
$ codcen <chr> "46010620", "46010723", "46010826", "46012306", "46012604…
$ dlibre <chr> "CENTRE PRIVAT LUZ CASANOVA", "CENTRE PRIVAT NUESTRA SEÑO…
$ dgenerica <chr> "CENTRE PRIVAT D'EDUCACIÓ INFANTIL, PRIMÀRIA I SECUNDÀRIA…
$ despecific <chr> "LUZ CASANOVA", "NUESTRA SEÑORA DEL CARMEN-SAN VICENTE PA…
$ regimen <chr> "CONCERTADO", "CONCERTADO", "CONCERTADO", "PÚBLICO", "PÚB…
$ direccion <chr> "CL. LUZ CASANOVA, 8", "AV. BURJASSOT, 150", "CL. DOCTOR …
$ codpos <chr> "46009", "46025", "46009", "46007", "46011", "46008", "46…
$ municipio <chr> "València", "València", "València", "València", "València…
$ provincia <chr> "València", "València", "València", "València", "València…
$ telef <chr> "963657568", "963491210", "963473715", "962566270", "9625…
$ fax <chr> "963653054", "963400848", "963488157", "962566271", "9625…
$ mail <chr> "direccion@luzcasanova.org", "nscsvp@elcarmenbenicalap.co…
$ geometry <POINT [°]> POINT (-0.373433 39.48834), POINT (-0.39157 39.4907…
Análisis y Mejora de los Centros Docentes de Valencia
Input
El conjunto de datos de partida es un fichero GeoJSON con información de centros educativos de Valencia, recogida de la web oficial de datos abiertos del ayuntamiento de Valencia, https://valencia.opendatasoft.com/explore/dataset/centros-educativos-en-valencia/export/.
Descripción
El recurso original contiene información de centros educativos e incorpora geometría puntual en coordenadas geográficas. Entre sus variables principales se encuentran: código del centro, denominación, denominación genérica, dirección, municipio y provincia, teléfono, fax, correo electrónico y geometría puntual.
Se trata, por tanto, de un recurso ya utilizable en cartografía, pero aún presenta varias oportunidades de mejora:
- Algunos campos de texto pueden aparecer con espaciado irregular o formato poco homogéneo;
- Los teléfonos y faxes requieren depuración para facilitar su reutilización;
- No existe una variable territorial más detallada que permita saber en qué distrito administrativo de València se sitúa cada centro;
Por ello, la mejora propuesta consiste en limpiar y normalizar atributos y añadir una variable de distrito mediante cruce espacial con datos de OpenStreetMap.
Tratamiento
En primer lugar, se seleccionan y renombran las variables más relevantes para facilitar su interpretación y posterior reutilización. Se elimina la variable geopoint ya que existe la variable geometry.
centros_sf <- centros_raw %>%
select(codigo_centro = codcen, denominacion = dlibre, denominacion_generica = dgenerica, denominacion_especifica = despecific,regimen,direccion, codigo_postal = codpos, municipio, provincia, telefono = telef, fax, correo = mail, geometry
) %>%
st_make_valid()Se normalizan algunos campos de texto y se limpian los campos telefónicos para conservar únicamente dígitos. También se homogeneiza el correo electrónico en minúsculas.
centros_sf <- centros_sf %>%
mutate(
denominacion = str_squish(denominacion), #no se normaliza para no quitar las siglas IES y CEIP
denominacion_generica = str_squish(str_to_title(denominacion_generica)),
denominacion_especifica = str_squish(str_to_title(denominacion_especifica)),
direccion = str_squish(str_to_title(direccion)),
municipio = str_squish(str_to_title(municipio)),
provincia = str_squish(str_to_title(provincia)),
regimen = str_squish(str_to_title(regimen)),
telefono = str_replace_all(as.character(telefono), "[^0-9]", ""),
telefono = na_if(telefono, ""),
fax = str_replace_all(as.character(fax), "[^0-9]", ""),
fax = na_if(fax, ""),
correo = str_to_lower(str_squish(as.character(correo))),
correo = na_if(correo, "")
)La mejora principal consiste en incorporar una nueva variable denominada distrito. Para ello se descargan desde OpenStreetMap los límites administrativos de nivel 9 correspondientes a la ciudad de València y se realiza una unión espacial.
València está organizada en distritos administrativos, y el Ayuntamiento publica la división en 19 distritos.
#bb_valencia <- getbb("València, Spain")
#distritos_osm <- opq(bbox = bb_valencia, timeout = 120) %>%
# add_osm_feature(key = "boundary", value = "administrative") %>%
# add_osm_feature(key = "admin_level", value = "9") %>%
# osmdata_sf()
#saveRDS(distritos_osm, "data/distritos_osm.rds")
distritos_osm <- readRDS("../data/2526020015/distritos_osm.rds")
#Extraer la capa poligonal principal
distritos_sf <- distritos_osm$osm_multipolygons
#Preparar capa de distritos
distritos_sf <- distritos_sf %>%
select(name, geometry) %>%
filter(!is.na(name)) %>%
distinct(name, .keep_all = TRUE) %>%
st_make_valid()
distritos_sf <- st_transform(distritos_sf, st_crs(centros_sf)) # mismo CRS
#Asignar distrito a cada centro
centros_sf <- st_join(
centros_sf,
distritos_sf,
join = st_intersects,
left = TRUE
) %>%
rename(distrito = name)
#Los distritos que hemos añadido
centros_sf %>%
st_drop_geometry() %>%
count(distrito, sort = TRUE) distrito n
1 <NA> 116
2 Quatre Carreres 39
3 Camins al Grau 38
4 Poblats Marítims 38
5 Campanar 37
6 l'Eixample 36
7 Rascanya 31
8 la Saïdia 31
9 Jesús 28
10 Algirós 25
11 el Pla del Real 23
12 Benimaclet 21
13 Benicalap 20
14 Ciutat Vella 19
15 Pobles del Sud 17
16 Pobles de l'Oest 11
17 Pobles del Nord 4
Se realiza una representación sencilla para comprobar la distribución espacial de los centros y su relación con los distritos obtenidos.
Output
Como resultado del proceso se generan varios ficheros en la carpeta output:
- centros_educativos_valencia_mejorado.gpkg
- centros_educativos_valencia_mejorado.geojson
- centros_educativos_valencia_mejorado.csv
Los tres contienen el dataset final mejorado.
dir.create("output", showWarnings = FALSE)
#Exportación del dataset mejorado
st_write(
centros_sf,
"output/centros_educativos_valencia_mejorado.gpkg",
delete_dsn = TRUE,
quiet = TRUE
)
st_write(
centros_sf,
"output/centros_educativos_valencia_mejorado.geojson",
delete_dsn = TRUE,
quiet = TRUE
)
write_csv(
st_drop_geometry(centros_sf),
"output/centros_educativos_valencia_mejorado.csv"
)
#Mostrar los ficheros creados
list.files("output")#El dataset mejorado quedaria así
glimpse(centros_sf)El/los fichero(s) generados con este procedimiento/técnica/metodología se puede(n) descargar de aquí.

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