library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.6.3
## -- Attaching packages ------------------------------------------------ tidyverse 1.3.0 --
## v ggplot2 3.3.0 v purrr 0.3.3
## v tibble 2.1.3 v dplyr 0.8.5
## v tidyr 1.0.2 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.5.0
## Warning: package 'ggplot2' was built under R version 3.6.3
## Warning: package 'tibble' was built under R version 3.6.2
## Warning: package 'tidyr' was built under R version 3.6.3
## Warning: package 'readr' was built under R version 3.6.3
## Warning: package 'purrr' was built under R version 3.6.3
## Warning: package 'dplyr' was built under R version 3.6.3
## Warning: package 'stringr' was built under R version 3.6.3
## Warning: package 'forcats' was built under R version 3.6.3
## -- Conflicts --------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(sf)
## Warning: package 'sf' was built under R version 3.6.3
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(osmdata)
## Warning: package 'osmdata' was built under R version 3.6.3
## Data (c) OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright
library(leaflet)
## Warning: package 'leaflet' was built under R version 3.6.3
#I.Descargar de OpenStreetMap la grilla de calles para la Ciudad elegida y mapearla por uno de sus atributos (velocidad mÃnima, velocidad máxima, cantidad de carriles, etc).
#ubicar con Nominatim de openstreet map el nombre de ciudad municipio Provincia del mundo a georeferneciar
primero ubico las coordenadas donde esta inserto Boston con getbb
bbox <- getbb("Boston,Massachusetts")
bbox
## min max
## x -71.19125 -70.80449
## y 42.22791 42.39698
#Adjunto un mapa con los limites de la ciudad con sus poligonos con getbb (’ciudad" , format_out= "sf_polygon) util para tener poligonos y luego hacer mapas filtrando la infromacion requerida
fronteras_boston <- getbb ("Boston,Massachusetts", format_out = "sf_polygon")
#Realizo el Mapa con leaflet , Boston tiene sus limites dentro del bbox
leaflet(fronteras_boston) %>%
addTiles() %>%
addPolygons()
#Como obtengo los datos de open street : https://wiki.openstreetmap.org/wiki/Map_Features
bbox_Boston <- getbb ("Boston,Massachusetts", format_out = "sf_polygon")
Boston_calles <-opq (bbox_Boston)%>%
add_osm_feature (key = "highway") %>%
osmdata_sf()
Boston_calles <- Boston_calles$osm_lines
con esta operacion Boston_calles que era una lista es data frame con el realizo el mapa
ggplot()+
geom_sf(data= Boston_calles)
#El mapa da la grilla del bbox menos Boston ,entonces hacer = st_intersection
Boston_calles <- st_intersection(Boston_calles, bbox_Boston)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
# Grilla de las calles de Boston
ggplot()+
geom_sf(data = Boston_calles,color="blue")+
labs(title = "Grilla de todas las calles de Boston ")
Boston_calles_a_pie <-opq (bbox_Boston)%>%
add_osm_feature (key = "highway",value = "pedestrian") %>%
osmdata_sf()
Boston_calles_a_pie <- Boston_calles_a_pie$osm_lines
Boston_calles_a_pie <- st_intersection (Boston_calles_a_pie,bbox_Boston)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
ggplot()+
geom_sf(data = bbox_Boston)+
geom_sf(data = Boston_calles_a_pie,color="green",size = 3)+
labs(title = "Ubicacion de las calles pedestres en Boston ")
#II. Descargar de OpenStreetMap una (o más) capas de datos de tipo puntos o polÃgonos. (Ver catálogo de categorÃas en https://wiki.openstreetmap.org/wiki/Map_Features)
bbox_Boston <- getbb ("Boston,Massachusetts", format_out = "sf_polygon")
Boston_comercial <-opq (bbox_Boston) %>%
add_osm_feature (key = "building",value = "commercial") %>%
osmdata_sf()
Boston_comercial <- Boston_comercial$osm_points
Boston_comercial <- st_intersection (Boston_comercial,bbox_Boston)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
ggplot()+
geom_sf(data=bbox_Boston,color="blue")+
geom_sf(data = Boston_comercial,color="salmon")+
labs(title = "Ubicacion de Centros comerciales en Boston ")
LAS CALLES PEDESTRES Y LOS CENTROS COMERCIALES COMO SE UBICAN EN BOSTON
ggplot()+
geom_sf(data = bbox_Boston,color="blue")+
geom_sf(data = Boston_calles_a_pie,color="green", size= 3)+
geom_sf(data = Boston_comercial,color="salmon",size = 3 )+
labs (title ="Ubicacion de los Centros comerciales en Boston, y las calles pedestres")
#Boston es una ciudad con pocas calles pedestres #Si bien la actividad comercial no esta grillada por calles pedestres, los centros comerciales evidencian una mayor concentracion de calles pedestres que otros zonas no dedicadas a lo comercial
# hay otra actividad no comercial que se asocia a las calles pedestres en el mapa de Boston .
#II. b. Hacer un conteo de los Ãtems de la capa descargada por barrio, mapearlo y compararlo con el conteo de los Ãtems descargados en el ejercicio anterior: ¿La distribución es similar o hay diferencias? ¿A qué se puede deber?
# Con Data obtenida por Antonio de Boston , implica no se importar DATA de la web
barrios_boston <- st_read("http://bostonopendata-boston.opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0.geojson?outSR={%22latestWkid%22:2249,%22wkid%22:102686}")
## Reading layer `abb56363-15fd-4f5c-8b90-54fe25afcb9a202047-1-epx15r.k9rzj' from data source `http://bostonopendata-boston.opendata.arcgis.com/datasets/3525b0ee6e6b427f9aab5d0a1d0a1a28_0.geojson?outSR={%22latestWkid%22:2249,%22wkid%22:102686}' using driver `GeoJSON'
## Simple feature collection with 26 features and 7 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: -71.19125 ymin: 42.22792 xmax: -70.92278 ymax: 42.39699
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
head(barrios_boston)
## Simple feature collection with 6 features and 7 fields
## geometry type: MULTIPOLYGON
## dimension: XY
## bbox: xmin: -71.14779 ymin: 42.26762 xmax: -71.05588 ymax: 42.35238
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## OBJECTID Name Acres Neighborhood_ID SqMiles ShapeSTArea
## 1 27 Roslindale 1605.56824 15 2.51 69938272.9
## 2 28 Jamaica Plain 2519.24539 11 3.94 109737890.8
## 3 29 Mission Hill 350.85356 13 0.55 15283120.0
## 4 30 Longwood 188.61195 28 0.29 8215903.5
## 5 31 Bay Village 26.53984 33 0.04 1156070.8
## 6 32 Leather District 15.63991 27 0.02 681271.7
## ShapeSTLength geometry
## 1 53563.913 MULTIPOLYGON (((-71.12593 4...
## 2 56349.937 MULTIPOLYGON (((-71.10499 4...
## 3 17918.724 MULTIPOLYGON (((-71.09043 4...
## 4 11908.757 MULTIPOLYGON (((-71.09811 4...
## 5 4650.635 MULTIPOLYGON (((-71.06663 4...
## 6 3237.141 MULTIPOLYGON (((-71.05838 4...
barrios_comerciales <- st_intersection(barrios_boston,Boston_comercial)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
barrios_comerciales <-select(barrios_comerciales,Name)
barrios_comerciales%>%
group_by(Name) %>%
summarise (cantidad = n())
## Simple feature collection with 15 features and 2 fields
## geometry type: MULTIPOINT
## dimension: XY
## bbox: xmin: -71.14442 ymin: 42.2442 xmax: -71.02749 ymax: 42.37872
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 15 x 3
## Name cantidad geometry
## * <fct> <int> <MULTIPOINT [°]>
## 1 Allston 38 ((-71.13354 42.36358), (-71.13353 42.36351), (-71.1~
## 2 Back Bay 278 ((-71.08537 42.34777), (-71.08536 42.34763), (-71.0~
## 3 Beacon Hill 4 ((-71.06409 42.36094), (-71.06408 42.36087), (-71.0~
## 4 Brighton 4 ((-71.14442 42.36222), (-71.14431 42.36189), (-71.1~
## 5 Dorchester 54 ((-71.05948 42.30241), (-71.05946 42.30255), (-71.0~
## 6 Downtown 1734 ((-71.06427 42.35293), (-71.06425 42.35299), (-71.0~
## 7 East Boston 54 ((-71.0335 42.37682), (-71.03334 42.37688), (-71.03~
## 8 Hyde Park 4 ((-71.14434 42.24424), (-71.1443 42.24433), (-71.14~
## 9 Leather Distri~ 10 ((-71.05712 42.35168), (-71.05706 42.352), (-71.057~
## 10 Longwood 10 ((-71.10477 42.33874), (-71.10454 42.33895), (-71.1~
## 11 North End 4 ((-71.05819 42.36521), (-71.05815 42.36477), (-71.0~
## 12 Roslindale 4 ((-71.13274 42.28728), (-71.13268 42.28702), (-71.1~
## 13 South Boston 7 ((-71.05776 42.34388), (-71.05768 42.34378), (-71.0~
## 14 South Boston W~ 442 ((-71.05287 42.34446), (-71.05259 42.34433), (-71.0~
## 15 West End 89 ((-71.06314 42.36423), (-71.06251 42.36458), (-71.0~
Join sf
barrios_calles_pedestres <- st_intersection(barrios_boston,Boston_calles_a_pie)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
barrios_calles_pedestres<- select(barrios_calles_pedestres,Name)
barrios_calles_pedestres %>%
group_by(Name) %>%
summarise( cantidad = n())
## Simple feature collection with 11 features and 2 fields
## geometry type: GEOMETRY
## dimension: XY
## bbox: xmin: -71.14361 ymin: 42.30249 xmax: -71.05111 ymax: 42.37649
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## # A tibble: 11 x 3
## Name cantidad geometry
## * <fct> <int> <GEOMETRY [°]>
## 1 Allston 3 MULTILINESTRING ((-71.12502 42.36702, -71.12451 42.36677~
## 2 Beacon Hi~ 1 LINESTRING (-71.06593 42.35247, -71.06592 42.35249)
## 3 Brighton 4 MULTILINESTRING ((-71.14301 42.35702, -71.14361 42.35701~
## 4 Charlesto~ 1 LINESTRING (-71.05285 42.37649, -71.05292 42.37644, -71.~
## 5 Downtown 40 MULTILINESTRING ((-71.06599 42.35171, -71.06593 42.35247~
## 6 Fenway 7 MULTILINESTRING ((-71.0893 42.33687, -71.08924 42.33675)~
## 7 Longwood 4 MULTILINESTRING ((-71.10406 42.3353, -71.10389 42.33523)~
## 8 Mission H~ 1 LINESTRING (-71.09955 42.33562, -71.09903 42.33542)
## 9 North End 4 MULTILINESTRING ((-71.05149 42.36292, -71.05158 42.36298~
## 10 Roxbury 51 MULTILINESTRING ((-71.08725 42.30303, -71.08741 42.30293~
## 11 West End 1 LINESTRING (-71.06176 42.36601, -71.06132 42.36561)
barrios_boston %>%
ggplot()+
geom_sf(data= barrios_boston)+
geom_sf(data = barrios_calles_pedestres,color="green", size=3)+
geom_sf(data= barrios_comerciales,color="salmon")+
labs(title =" Boston, USA, sus con comerciales y calles pedestres")
barrios_calles_pedestres %>%
ggplot()+
geom_sf(data = barrios_boston,color="blue")+
geom_sf(data = barrios_calles_pedestres,aes (fill=Name ),color="green",size = 3)+
labs(title = "Boston con Calles Pedestres",
fill="Barrios con calles Pedestres ",
caption = "fuente OSMDATA y Open Data Boston-city ")
barrios_comerciales %>%
ggplot()+
geom_sf(data = barrios_boston,color="blue") +
geom_sf(data = barrios_comerciales,aes(fill=Name),color="salmon", size= 3)+
labs(title =" Boston, Centros Comerciales",
fill="Barrios comerciales ",
caption = "Fuente Osmdata y open data de Boston city")
barrios_comerciales %>%
ggplot()+
geom_sf(data = barrios_boston,color="blue") +
geom_sf(data = barrios_comerciales,aes(fill=Name),color="salmon", size= 2)+
geom_sf(data = barrios_calles_pedestres,aes(fill=Name),size=3,color="gray")+
labs(title =" Boston,barrios Comerciales y calles pedestres",
fill="Barrios Comerciales ",
fill="barrios con calles pedestres",
caption = "Fuente Osmdata y open data de Boston city")
#Seleccionando un barrio y mostrar coincidencias
Barrios <- select (barrios_boston,Name,Neighborhood_ID)
Barrios %>%
ggplot()+
geom_sf(data = Barrios,aes (fill=Neighborhood_ID))
Roxbury <- select (barrios_boston,Name,Neighborhood_ID) %>%
filter(Name == "Roxbury")
ggplot() +
geom_sf( data = Roxbury) +
geom_sf (data = Boston_calles_a_pie, color= "green") +
geom_sf(data = Boston_comercial,color= "salmon")+
labs (title = "Roxbury, Barrio de Boston",
subtitle = "Tiene Calles pedestres sin centros comerciales ",
caption = " OSMDATA y Open data de Boston" )
Conclusion
#Boston es una ciudad desarrollada de USA , grillada por calles. #Las calles pedestres son escasas y se localizan solo 11 Barrios. Boston tiene 26 barrios #Los barrios con centros comerciales son 15 de los 26. #7 de los 11 barrios donde hay calles pedestres son barrios comerciales, uno de los barrios donde no coinciden calles pedestres y centros comerciales es el barrio de Roxbury, que el mapa del barrio Roxbury confimra