#Obtengo "marco" de la ciudad:
bbox<-getbb("Córdoba, Municipio de Córdoba, Pedanía Capital, Departamento Capital, Córdoba, X5000, Argentina")
#Obtengo perimetro de la ciudad:
bbox_poly<-getbb("Córdoba, Municipio de Córdoba, Pedanía Capital, Departamento Capital, Córdoba, X5000, Argentina", format_out = "sf_polygon")
#Grafico resultado para comprobar:
leaflet(bbox_poly)%>%
addTiles()%>%
addPolygons()
#Obtengo vialidades de open street map:
cordoba<-opq(bbox)%>%
add_osm_feature(key="highway")
#Redefino el dataset como espacial y descarga toda la informacion de osm:
cordoba<-cordoba%>%
osmdata_sf()
cordoba
#Genero el dataframe "calles" que contendra todas las lineas del mapa descargado:
calles<-cordoba$osm_lines
#Visualizo los resultados:
ggplot()+
geom_sf(data=calles,size=.1)+
labs(title="Ciudad de Cordoba",
subtitle="Vialidades OSM",
caption="Fuente: Open Street Maps")
#Recorto los poligonos que sobresalen del bounding box:
calles<-st_intersection(calles,bbox_poly)
#Verifico resultados:
ggplot()+
geom_sf(data=calles,size=.1)+
labs(title="Ciudad de Cordoba",
subtitle="Vialidades OSM",
caption="Fuente: Open Street Map")
#Grafico los atributos disponibles de calles (Tipo de calle):
ggplot()+
geom_sf(data=filter(calles,!highway=="unclassified"),aes(color=highway),size=.1)+
scale_color_viridis_d()+
labs(title="Ciudad de Cordoba",
subtitle="Vialidades OSM",
color="Categorias",
caption="Fuente: Open Street Map")
#Grafico los atributos disponibles de calles (Tipo de calle):
ggplot()+
geom_sf(data=calles,size=.04,color="gray36")+
geom_sf(data=filter(calles,highway=="secondary"|highway=="secondary_link"),color="orange",size=.2)+
geom_sf(data=filter(calles,highway=="primary"|highway=="primary_link"),color="red",size=.2)+
geom_sf(data=filter(calles,highway=="motorway"|highway=="motorway_link"|highway=="trunk"|highway=="trunk_link"),color="blue",size=.2)+
labs(title="Ciudad de Cordoba",
subtitle="Vialidades segun importancia",
caption="Fuente: Open Street Map")
#Descargo establecimientos educativos:
cordoba_osm_school<-opq(bbox_poly,timeout = 60)%>%
add_osm_feature(key="amenity",value="school")%>%
osmdata_sf()
cordoba_osm_college<-opq(bbox_poly,timeout = 60)%>%
add_osm_feature(key="amenity",value="college")%>%
osmdata_sf()
cordoba_osm_university<-opq(bbox_poly,timeout = 60)%>%
add_osm_feature(key="amenity",value="university")%>%
osmdata_sf()
#Refino los resultados a puntos dentro del area de la ciudad:
cordoba_osm_school<-st_intersection(cordoba_osm_school$osm_points,bbox_poly)
cordoba_osm_college<-st_intersection(cordoba_osm_college$osm_points,bbox_poly)
cordoba_osm_university<-st_intersection(cordoba_osm_university$osm_points,bbox_poly)
#Ploteo los resultados para verificar:
ggplot()+
geom_sf(data=calles,size=.07)+
geom_sf(data=cordoba_osm_school,color="red")+
geom_sf(data=cordoba_osm_college,color="orange")+
geom_sf(data=cordoba_osm_university,color="blue")+
labs(title="Ciudad de Cordoba",
subtitle="Establecimientos Educativos OSM",
caption="Fuente: Open Street Map")
#Analizo categoria school por barrios
barrios<-st_read("Barrio.shp")
## Reading layer `Barrio' from data source `/Users/santiago/Google Drive/DRIVE MEU/- CIENCIA DE DATOS 2/Barrio.shp' using driver `ESRI Shapefile'
## replacing null geometries with empty geometries
## Simple feature collection with 503 features and 4 fields (with 1 geometry empty)
## geometry type: GEOMETRY
## dimension: XY
## bbox: xmin: 4375309 ymin: 6512169 xmax: 4399439 ymax: 6536199
## proj4string: +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +datum=WGS84 +units=m +no_defs
barrios<-st_transform(barrios,crs=4326)
school_barrio<-st_join(cordoba_osm_school,barrios)
school_barrio_agrup<-school_barrio %>%
filter(!is.na(Nombre)) %>%
group_by(Nombre) %>%
summarise(schools=n())
school_barrio_agrup_nogeo<-school_barrio_agrup %>%
st_set_geometry(NULL)
barrios_school<-barrios %>%
left_join(school_barrio_agrup_nogeo,by="Nombre")
ggplot()+
geom_sf(data=calles,size=.02,color="gray36")+
geom_sf(data=barrios_school,aes(fill=schools),color=NA,alpha=.7)+
scale_fill_viridis_c()+
labs(title="Ciudad de Cordoba",
subtitle="Categoria School por barrio",
fill="Cantidad de establecimientos School",
caption="Fuente: Open Street Map")
#Analizo categoria college por barrios
barrios<-st_read("Barrio.shp")
## Reading layer `Barrio' from data source `/Users/santiago/Google Drive/DRIVE MEU/- CIENCIA DE DATOS 2/Barrio.shp' using driver `ESRI Shapefile'
## replacing null geometries with empty geometries
## Simple feature collection with 503 features and 4 fields (with 1 geometry empty)
## geometry type: GEOMETRY
## dimension: XY
## bbox: xmin: 4375309 ymin: 6512169 xmax: 4399439 ymax: 6536199
## proj4string: +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +datum=WGS84 +units=m +no_defs
barrios<-st_transform(barrios,crs=4326)
college_barrio<-st_join(cordoba_osm_college,barrios)
college_barrio_agrup<-college_barrio %>%
filter(!is.na(Nombre)) %>%
group_by(Nombre) %>%
summarise(colleges=n())
college_barrio_agrup_nogeo<-college_barrio_agrup %>%
st_set_geometry(NULL)
barrios_college<-barrios %>%
left_join(college_barrio_agrup_nogeo,by="Nombre")
ggplot()+
geom_sf(data=calles,size=.02,color="gray36")+
geom_sf(data=barrios_college,aes(fill=colleges),color=NA,alpha=.7)+
scale_fill_viridis_c()+
labs(title="Ciudad de Cordoba",
subtitle="Categoria College por barrio",
fill="Cantidad de establecimientos College",
caption="Fuente: Open Street Map")
#Analizo categoria University por barrios
barrios<-st_read("Barrio.shp")
## Reading layer `Barrio' from data source `/Users/santiago/Google Drive/DRIVE MEU/- CIENCIA DE DATOS 2/Barrio.shp' using driver `ESRI Shapefile'
## replacing null geometries with empty geometries
## Simple feature collection with 503 features and 4 fields (with 1 geometry empty)
## geometry type: GEOMETRY
## dimension: XY
## bbox: xmin: 4375309 ymin: 6512169 xmax: 4399439 ymax: 6536199
## proj4string: +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +datum=WGS84 +units=m +no_defs
barrios<-st_transform(barrios,crs=4326)
university_barrio<-st_join(cordoba_osm_university,barrios)
university_barrio_agrup<-university_barrio %>%
filter(!is.na(Nombre)) %>%
group_by(Nombre) %>%
summarise(universities=n())
university_barrio_agrup_nogeo<-university_barrio_agrup %>%
st_set_geometry(NULL)
barrios_university<-barrios %>%
left_join(university_barrio_agrup_nogeo,by="Nombre")
ggplot()+
geom_sf(data=calles,size=.02,color="gray36")+
geom_sf(data=barrios_university,aes(fill=universities),color=NA,alpha=.7)+
scale_fill_viridis_c()+
labs(title="Ciudad de Cordoba",
subtitle="Categoria University por barrio",
fill="Cantidad de establecimientos University",
caption="Fuente: Open Street Map")
#CONCLUSIONES
Comparando los datos analizados de Open Street Maps con los descargados del Instituto Geografico Nacional, se observa que en el primero existen observaciones duplicadas y errores en la interpretacion de las categorias de establecimiento: