R Markdown

Georeferenciando con Open Street Map y leaflet a la ciudad de BOSTON USA

4 library

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

Boston, Suffolk Country,Massachusetts,USA

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

Grilla de las calles Pedestres de Boston

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

II. a. Proyectar los datos descargados en un mapa y comentar los resultados: ¿Cómo se distribuyen en la Ciudad?

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

Conclusion

#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