Datos de estaciones de bicicleta en la Comunidad Valenciana

GPKG
TRANSPORTE
COMUNIDAD VALENCIANA
Autor/a
Afiliación

Carmen Forment Guzmán

Universidad de Valencia

Fecha de publicación

29 de marzo de 2025

Input

En el catálogo de descargas de la Infraestructura de Datos Espaciales Valenciana (IDEV) se ofrece una amplia variedad de datos geográficos organizados por temáticas. Dentro del bloque de Transporte, es posible acceder a información sobre las estaciones de alquiler de bicicletas en la Comunidad Valenciana. Estos datos son útiles tanto para los usuarios que desean localizar estaciones cercanas como para aquellos que realizan estudios sobre la movilidad urbana y la sostenibilidad.

En esta ficha se encuentra la información sobre las estaciones de alquiler de bicicletas, descritas como “Puntos geográficos donde se encuentran ubicadas las estaciones de alquiler de bicicletas, tanto públicas como privadas, en la Comunidad Valenciana”. Los datos están disponibles para su descarga en varios formatos, como GPKG, CSV y SHP, y pueden ser utilizados en aplicaciones SIG o para realizar análisis espaciales. Además, también es posible visualizarlos a través de un visor web o acceder a ellos mediante un servicio WMS.

En este caso, se ha utilizado el archivo GPKG de OpenStreetMap (OSM) para obtener la información sobre las estaciones de bicicletas. Sin embargo, también es posible acceder a estos datos de otras maneras, como a través de las bases de datos de transporte de la Generalitat Valenciana o mediante servicios de datos abiertos de plataformas como OpenStreetMap, que permiten descargar la información directamente o acceder a ella mediante su API.

Descripción

Cargamos las librerías necesarias:

libs <- c("tidyverse", "sf", "mapSpain", "osmdata", "ggspatial","ggplot2")
installed_libs <- libs %in% rownames(installed.packages())
if (any(installed_libs == F)) {install.packages(libs[!installed_libs])}
invisible(lapply(libs, library, character.only = T))
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.4     ✔ tidyr     1.3.1
✔ purrr     1.0.4     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Linking to GEOS 3.12.2, GDAL 3.9.3, PROJ 9.4.1; sf_use_s2() is TRUE

Data (c) OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright
rm(libs, installed_libs)

Leemos el conjunto de datos:

sf::st_read("data/sf_estbici_cvalenciana.gpkg")
Reading layer `sf_estbici_cvalenciana' from data source 
  `C:\Users\scorp\OneDrive - Universitat de València\01 PROFESOR\06 Innovación Educativa\2023 2024\03 Web\datasets\data\sf_estbici_cvalenciana.gpkg' 
  using driver `GPKG'
Simple feature collection with 403 features and 61 fields
Geometry type: POINT
Dimension:     XY
Bounding box:  xmin: -0.5248165 ymin: 38.94945 xmax: -0.0261361 ymax: 40.00169
Geodetic CRS:  WGS 84

Obtenemos el bounding box de la Comunidad Valenciana

bbox_valencia <- mapSpain::esp_get_prov() %>% filter(cpro == "46")
valencia <- mapSpain::esp_get_munic() %>% filter(cpro %in% c("03", "12", "46"))
valencia <- st_transform(valencia, 4326)
#ESTACIONES BICICLETA CV   
# Consulta para estaiones bicicleta en Comunidad Valenciana

q_estbici <- sf::st_bbox(bbox_valencia) %>%
  osmdata::opq() %>% # Iniciamos consulta dentro del bounding box de Comunidad Valenciana
  osmdata::add_osm_feature(key="amenity",value = "bicycle_rental")

estbici_valencia <- osmdata::osmdata_sf(q_estbici)
estbici_cv_points <- estbici_valencia$osm_points %>% st_intersection(valencia)
class(estbici_cv_points)
[1] "sf"         "data.frame"
dim(estbici_cv_points)
[1] 404  69

Se trata de un objeto sf con 403 observaciones y 69 variables. Tras observar nuestra base de datos vamos a contemplar si tiene valores ausentes.

Vamos a observar a continuación si los datos tienen valores ausentes.

sum(is.na(estbici_cv_points$name))
[1] 29

Aqui podemos observar el principal problema de nuestra base de datos, y es que se puede obserbar que disponemos de 29 localizaciones que tienen NA en la variable nombre(name), por lo que no se pueden identificar correctamente.

Tratamiento

Vamos a proceder a eliminar los NA y así dispondremos de una base de datos mucho más limpia.

estbici_cv_points_SINNA <- estbici_cv_points %>% filter(!is.na(name))

Ahora tenemos una base de datos de 374 observaciones y 69 variables

A continuación vamos a comprobar si todos los puntos se encuentran dentro de los límites de la Comunidad Valenciana o si alguno se encuentra fuera de ella.

spain <- mapSpain::esp_get_ccaa()
spain <- sf::st_transform(spain, crs=4326)
cval <- spain %>% dplyr::filter(codauto=="10")
pts_in <- sf::st_intersection(estbici_cv_points_SINNA,cval)
pts_out <- sf::st_difference(estbici_cv_points_SINNA,cval)

Con esto hemos podido observar que todos los puntos están dentro de los límites de la Comunidad Valenciana.

Output

Hemos obtenido un nuevo objeto sf, con 374 observaciones y 69 variables:

class(estbici_cv_points_SINNA)
[1] "sf"         "data.frame"
dim(estbici_cv_points_SINNA)
[1] 375  69

En la siguiente figura se puede observar que todos los puntos del nuevo dataset sí están dentro de los límites de la Comunidad Valenciana y no obtenemos valores ausentes:

spain <- mapSpain::esp_get_ccaa()
spain <- sf::st_transform(spain, crs=4326)

limites_gva <- sf::st_buffer(cval, 25000) %>% sf::st_bbox()

ggplot() +
  geom_sf(data = spain, fill="#CEC1AD") +
  geom_sf(data = valencia, fill = "white") +
  geom_sf(data = estbici_cv_points_SINNA, color = "#FF5733", alpha = 0.5) +
  coord_sf(xlim = c(limites_gva["xmin"], limites_gva["xmax"]), 
           ylim = c(limites_gva["ymin"], limites_gva["ymax"])) +
  theme_minimal() +
  theme(axis.title = element_blank(),
        panel.background = element_rect(fill = "lightblue")) +
  ggtitle("Estaciones de bici en la Comunidad Valenciana")

El fichero generado con el procedimiento descrito anteriormente se puede descargar, en formato GeoPackage (gpkg), de aquí.



Proyectos de Innovación Educativa Emergente PIEE-2737007 y PIEE-3325394