TRABAJO PRACTICO N°1: Geoprocesamiento

CIENCIA DE DATOS PARA CIUDADES II

Snyders, Federico / Vargas, Juan

library(tidyverse)
## -- 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
## -- Conflicts ------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3

#Cargamos el geojson de la ciudad de Boston y el dataset con las escuelas públicas que oferta la ciudad. (fuente= https://data.boston.gov/dataset)

  BOSTON <- st_read ("boston_snyders/Boston_Neighborhoods.shp")%>%
  st_transform(crs=4326)
## Reading layer `Boston_Neighborhoods' from data source `C:\Users\usuario\Documents\JUAN\POSGRADOS\MAESTRIA EN ECONOMIA URBANA\2020\CIENCIA DE DATOS PARA CIUDADES II\CLASE 1\TP_1\CDC_TP1\TP1_BOSTON\BOSTON\boston_snyders\Boston_Neighborhoods.shp' using driver `ESRI Shapefile'
## Simple feature collection with 26 features and 7 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: 739715.3 ymin: 2908294 xmax: 812255.1 ymax: 2970086
## proj4string:    +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +datum=NAD83 +units=us-ft +no_defs
  ESCUELAS_BOSTON <- st_read("boston_snyders/e8585576-da53-42ab-8444-cc9f4748312b202043-1-1e8udbb.ctmx.shp")%>% 
  st_transform(crs=4326)
## Reading layer `e8585576-da53-42ab-8444-cc9f4748312b202043-1-1e8udbb.ctmx' from data source `C:\Users\usuario\Documents\JUAN\POSGRADOS\MAESTRIA EN ECONOMIA URBANA\2020\CIENCIA DE DATOS PARA CIUDADES II\CLASE 1\TP_1\CDC_TP1\TP1_BOSTON\BOSTON\boston_snyders\e8585576-da53-42ab-8444-cc9f4748312b202043-1-1e8udbb.ctmx.shp' using driver `ESRI Shapefile'
## Simple feature collection with 131 features and 16 fields
## geometry type:  POINT
## dimension:      XY
## bbox:           xmin: 744291.9 ymin: 2910470 xmax: 790128.2 ymax: 2968120
## proj4string:    +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000.0000000001 +datum=NAD83 +units=us-ft +no_defs
names(ESCUELAS_BOSTON)
##  [1] "OBJECTID_1" "OBJECTID"   "BLDG_ID"    "BLDG_NAME"  "ADDRESS"   
##  [6] "CITY"       "ZIPCODE"    "CSP_SCH_ID" "SCH_ID"     "SCH_NAME"  
## [11] "SCH_LABEL"  "SCH_TYPE"   "SHARED"     "COMPLEX"    "POINT_X"   
## [16] "POINT_Y"    "geometry"

#Generamos un plot con los dos archivos espaciales

ggplot()+
  geom_sf(data = BOSTON)+
  geom_sf(data = ESCUELAS_BOSTON, color= "red")

#Realizamos una union espacial y agrupamos la cantidad de escuelas por barrio.

BOSTON_con_ESCUELAS <- st_join (ESCUELAS_BOSTON, BOSTON)
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
head(BOSTON_con_ESCUELAS)
## Simple feature collection with 6 features and 23 fields
## geometry type:  POINT
## dimension:      XY
## bbox:           xmin: -71.04033 ymin: 42.37527 xmax: -71.00412 ymax: 42.38879
## CRS:            EPSG:4326
##   OBJECTID_1 OBJECTID.x BLDG_ID             BLDG_NAME             ADDRESS
## 1          1          1       1            Guild Bldg   195 Leyden Street
## 2          2          2       3       Kennedy, P Bldg 343 Saratoga Street
## 3          3          3       4             Otis Bldg   218 Marion Street
## 4          4          4       6         Odonnell Bldg   33 Trenton Street
## 5          5          5       7 East Boston High Bldg     86 White Street
## 6          6          6       8   Umana / Barnes Bldg   312 Border Street
##          CITY ZIPCODE CSP_SCH_ID SCH_ID             SCH_NAME      SCH_LABEL
## 1 East Boston   02128       4061   4061     Guild Elementary          Guild
## 2 East Boston   02128       4541   4541 Kennedy Patrick Elem     PJ Kennedy
## 3 East Boston   02128       4322   4322      Otis Elementary           Otis
## 4 East Boston   02128       4543   4543 O'Donnell Elementary      O'Donnell
## 5 East Boston   02128       1070   1070     East Boston High East Boston HS
## 6 East Boston   02128       4323   4323        Umana Academy  Umana Academy
##   SCH_TYPE SHARED COMPLEX  POINT_X POINT_Y OBJECTID.y        Name   Acres
## 1       ES   <NA>    <NA> 790128.2 2967094         38 East Boston 3012.06
## 2       ES   <NA>    <NA> 783027.7 2963318         38 East Boston 3012.06
## 3       ES   <NA>    <NA> 782112.8 2962122         38 East Boston 3012.06
## 4       ES   <NA>    <NA> 780994.0 2963140         38 East Boston 3012.06
## 5       HS   <NA>    <NA> 781823.0 2964190         38 East Boston 3012.06
## 6      K-8   <NA>    <NA> 780367.0 2963210         38 East Boston 3012.06
##   Neighborho SqMiles ShapeSTAre ShapeSTLen                   geometry
## 1          8    4.71  131384487   121089.1 POINT (-71.00412 42.38879)
## 2          8    4.71  131384487   121089.1 POINT (-71.03048 42.37854)
## 3          8    4.71  131384487   121089.1 POINT (-71.03389 42.37527)
## 4          8    4.71  131384487   121089.1 POINT (-71.03801 42.37808)
## 5          8    4.71  131384487   121089.1 POINT (-71.03492 42.38095)
## 6          8    4.71  131384487   121089.1 POINT (-71.04033 42.37828)
GRUPO_BOSTON_con_ESCUELAS <- BOSTON_con_ESCUELAS %>% 
    group_by(Name) %>% 
    summarise(cantidad = n())
head(GRUPO_BOSTON_con_ESCUELAS)
## Simple feature collection with 6 features and 2 fields
## geometry type:  GEOMETRY
## dimension:      XY
## bbox:           xmin: -71.1615 ymin: 42.34203 xmax: -71.05749 ymax: 42.38011
## CRS:            EPSG:4326
## # A tibble: 6 x 3
##   Name      cantidad                                                    geometry
##   <fct>        <int>                                              <GEOMETRY [°]>
## 1 Allston          4 MULTIPOINT ((-71.14596 42.35043), (-71.1377 42.35205), (-7~
## 2 Back Bay         1                                  POINT (-71.07797 42.35057)
## 3 Bay Vill~        2      MULTIPOINT ((-71.06905 42.3484), (-71.06815 42.34876))
## 4 Brighton         6 MULTIPOINT ((-71.1615 42.35107), (-71.16076 42.35212), (-7~
## 5 Charlest~        4 MULTIPOINT ((-71.06723 42.37907), (-71.06443 42.37799), (-~
## 6 Chinatown        1                                  POINT (-71.06492 42.34797)

#Creamos nuevamente un mapa con puntos mostrando en distintos colores las escuelas por barrio.

ggplot()+
  geom_sf(data = BOSTON)+
  geom_sf(data = GRUPO_BOSTON_con_ESCUELAS, aes(color = Name))

#Grafico de Barras mostrando la cantidad de escuelas por barrio

ggplot(GRUPO_BOSTON_con_ESCUELAS)+
  geom_col(aes(x= Name, y= cantidad))

#En un mapa de coropletas se muestra la oferta de escuelas públicas que ofrece la ciudad de Boston.

GRUPO_BOSTON_con_ESCUELAS2 <- GRUPO_BOSTON_con_ESCUELAS %>%
  st_set_geometry(NULL)
BOSTON <- BOSTON %>%
  left_join(GRUPO_BOSTON_con_ESCUELAS2, by="Name")
names(BOSTON)
## [1] "OBJECTID"   "Name"       "Acres"      "Neighborho" "SqMiles"   
## [6] "ShapeSTAre" "ShapeSTLen" "cantidad"   "geometry"
ggplot() +
  geom_sf(data = BOSTON, aes(fill = cantidad)) +
  geom_sf_text(data=BOSTON, aes(label = Name), size=2, colour = "black") +
    labs(title = "Escuelas en BOSTON",
         subtitle = "Cantidad de escuelas por barrio",
         fill = "Cantidad",
         caption= "Fuente: https://data.boston.gov/dataset",
         y="",
         x="") +
  scale_fill_gradient(low="gray", high="light blue")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

#Cantidad de escuelas por superficie

ggplot() +
  geom_sf(data = BOSTON, aes(fill=(cantidad/SqMiles)*100)) +
  geom_sf_text(data=BOSTON, aes(label = Name), size=2.5, colour = "black")+
    labs(title = "Escuelas en BOSTON",
         subtitle = "Cantidad de escuelas por barrio",
         fill = "Cantidad por ha",
         caption= "Fuente: https://data.boston.gov/dataset",
         y="",
         x="") +
  scale_fill_gradient(low="white", high="blue")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data


03/05/2020

TRABAJO PRACTICO N°2

cIENCIA DE DATOS PARA CIUDADES II: OpenStreetMap desde R

Snyders, Federico / Vargas, Juan

#Explorando y mapeando información georreferenciada de OpenStreetMap

library(leaflet)
library(osmdata)
## Data (c) OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright

##Continuamos trabajando con la Ciudad de Boston, Massachusetts. Descargamos la informacion para la ciudad y la visualizamos.

boston <- getbb("boston")
boston
##         min       max
## x -71.19125 -70.80449
## y  42.22791  42.39698
boston_poly <- getbb("Boston, Massachusetts", format_out = "sf_polygon")
leaflet(boston_poly) %>%
    addTiles() %>% 
    addPolygons()

#Descargamos la información de las vias de circulación de la ciudad Boston.

Boston <- opq(boston) %>% 
    add_osm_feature(key = "highway")
Boston
## $bbox
## [1] "42.2279112,-71.1912491,42.3969775,-70.8044881"
## 
## $prefix
## [1] "[out:xml][timeout:25];\n(\n"
## 
## $suffix
## [1] ");\n(._;>;);\nout body;"
## 
## $features
## [1] " [\"highway\"]"
## 
## attr(,"class")
## [1] "list"           "overpass_query"
Boston <- Boston %>% 
    osmdata_sf()
calles_Boston <- Boston$osm_lines
head(calles_Boston[1:3,])
## Simple feature collection with 3 features and 251 fields
## geometry type:  LINESTRING
## dimension:      XY
## bbox:           xmin: -71.08944 ymin: 42.36657 xmax: -71.02179 ymax: 42.39411
## CRS:            EPSG:4326
##          osm_id                name FIXME FIXME.hgv  NHS abutters access
## 4790718 4790718 Skybridge to Hilton  <NA>      <NA> <NA>     <NA>   <NA>
## 4790735 4790735                <NA>  <NA>      <NA> <NA>     <NA>   <NA>
## 8603359 8603359    Wheatland Street  <NA>      <NA> <NA>     <NA>   <NA>
##         access.conditional addr.city addr.housename addr.housenumber
## 4790718               <NA>      <NA>           <NA>             <NA>
## 4790735               <NA>      <NA>           <NA>             <NA>
## 8603359               <NA>      <NA>           <NA>             <NA>
##         addr.postcode addr.state addr.street alt_name amenity architect area
## 4790718          <NA>       <NA>        <NA>     <NA>    <NA>      <NA> <NA>
## 4790735          <NA>       <NA>        <NA>     <NA>    <NA>      <NA> <NA>
## 8603359          <NA>       <NA>        <NA>     <NA>    <NA>      <NA> <NA>
##         artwork_type
## 4790718         <NA>
## 4790735         <NA>
## 8603359         <NA>
##                                                          attribution barrier
## 4790718                                                         <NA>    <NA>
## 4790735                                                         <NA>    <NA>
## 8603359 Office of Geographic and Environmental Information (MassGIS)    <NA>
##          bic bicycle bicycle.lanes.backward bridge bridge.material
## 4790718 <NA>    <NA>                   <NA>    yes            <NA>
## 4790735 <NA>    <NA>                   <NA>   <NA>            <NA>
## 8603359 <NA>    <NA>                   <NA>   <NA>            <NA>
##         bridge.movable bridge.name bridge.structure building
## 4790718           <NA>        <NA>             <NA>     <NA>
## 4790735           <NA>        <NA>             <NA>     <NA>
## 8603359           <NA>        <NA>             <NA>     <NA>
##         building.architecture building.colour building.height building.levels
## 4790718                  <NA>            <NA>            <NA>            <NA>
## 4790735                  <NA>            <NA>            <NA>            <NA>
## 8603359                  <NA>            <NA>            <NA>            <NA>
##         building.material building.part  bus busway busway.right campusbuilding
## 4790718              <NA>          <NA> <NA>   <NA>         <NA>           <NA>
## 4790735              <NA>          <NA> <NA>   <NA>         <NA>           <NA>
## 8603359              <NA>          <NA> <NA>   <NA>         <NA>           <NA>
##         change.lanes.forward check_date class.bicycle comment condition
## 4790718                 <NA>       <NA>          <NA>    <NA>      <NA>
## 4790735                 <NA>       <NA>          <NA>    <NA>      <NA>
## 8603359                 <NA>       <NA>          <NA>    <NA>      fair
##         construction conveying covered created_by crossing crossing.island
## 4790718         <NA>      <NA>    <NA>       <NA>     <NA>            <NA>
## 4790735         <NA>      <NA>    <NA>       <NA>     <NA>            <NA>
## 8603359         <NA>      <NA>    <NA>       <NA>     <NA>            <NA>
##         crossing_1 crossing_ref cutting cycleway cycleway.both
## 4790718       <NA>         <NA>    <NA>     <NA>          <NA>
## 4790735       <NA>         <NA>    <NA>     <NA>          <NA>
## 8603359       <NA>         <NA>    <NA>     <NA>          <NA>
##         cycleway.both.lane cycleway.lanes.backward cycleway.left
## 4790718               <NA>                    <NA>          <NA>
## 4790735               <NA>                    <NA>          <NA>
## 8603359               <NA>                    <NA>          <NA>
##         cycleway.left.buffer cycleway.left.lane cycleway.right
## 4790718                 <NA>               <NA>           <NA>
## 4790735                 <NA>               <NA>           <NA>
## 8603359                 <NA>               <NA>           <NA>
##         cycleway.right.buffer cycleway.right.lane cycleway.right_1 denomination
## 4790718                  <NA>                <NA>             <NA>         <NA>
## 4790735                  <NA>                <NA>             <NA>         <NA>
## 8603359                  <NA>                <NA>             <NA>         <NA>
##         description designation destination destination.backward
## 4790718        <NA>        <NA>        <NA>                 <NA>
## 4790735        <NA>        <NA>        <NA>                 <NA>
## 8603359        <NA>        <NA>        <NA>                 <NA>
##         destination.forward destination.lanes destination.ref
## 4790718                <NA>              <NA>            <NA>
## 4790735                <NA>              <NA>            <NA>
## 8603359                <NA>              <NA>            <NA>
##         destination.ref.lanes destination.ref.to destination.street
## 4790718                  <NA>               <NA>               <NA>
## 4790735                  <NA>               <NA>               <NA>
## 8603359                  <NA>               <NA>               <NA>
##         destination.symbol direction driveway  ele embankment emergency fixme
## 4790718               <NA>      <NA>     <NA> <NA>       <NA>      <NA>  <NA>
## 4790735               <NA>      <NA>     <NA> <NA>       <NA>      <NA>  <NA>
## 8603359               <NA>      <NA>     <NA> <NA>       <NA>      <NA>  <NA>
##         floating foot footway ford former.name gnis.county_id gnis.county_name
## 4790718     <NA>  yes    <NA> <NA>        <NA>           <NA>             <NA>
## 4790735     <NA>  yes    <NA> <NA>        <NA>           <NA>             <NA>
## 8603359     <NA> <NA>    <NA> <NA>        <NA>           <NA>             <NA>
##         gnis.created gnis.feature_id gnis.import_uuid gnis.reviewed
## 4790718         <NA>            <NA>             <NA>          <NA>
## 4790735         <NA>            <NA>             <NA>          <NA>
## 8603359         <NA>            <NA>             <NA>          <NA>
##         gnis.state_id golf golf_cart goods handrail handrail.center hazmat
## 4790718          <NA> <NA>      <NA>  <NA>     <NA>            <NA>   <NA>
## 4790735          <NA> <NA>      <NA>  <NA>     <NA>            <NA>   <NA>
## 8603359          <NA> <NA>      <NA>  <NA>     <NA>            <NA>   <NA>
##         height  hgv hgv.conditional     highway historic           history
## 4790718   <NA> <NA>            <NA>     footway     <NA>              <NA>
## 4790735   <NA> <NA>            <NA>     footway     <NA>              <NA>
## 8603359   <NA> <NA>            <NA> residential     <NA> Retrieved from v1
##         horse hour_off hour_on  hov image incline indoor informal junction
## 4790718  <NA>     <NA>    <NA> <NA>  <NA>    <NA>   <NA>     <NA>     <NA>
## 4790735  <NA>     <NA>    <NA> <NA>  <NA>    <NA>   <NA>     <NA>     <NA>
## 8603359  <NA>     <NA>    <NA> <NA>  <NA>    <NA>   <NA>     <NA>     <NA>
##         junction.ref kerb landing landuse lanes lanes.backward lanes.forward
## 4790718         <NA> <NA>    <NA>    <NA>  <NA>           <NA>          <NA>
## 4790735         <NA> <NA>    <NA>    <NA>  <NA>           <NA>          <NA>
## 8603359         <NA> <NA>    <NA>    <NA>     1           <NA>          <NA>
##         layer leisure level light_rail  lit loc_name man_made massgis.ref
## 4790718     2    <NA>  <NA>       <NA> <NA>     <NA>     <NA>        <NA>
## 4790735  <NA>    <NA>  <NA>       <NA> <NA>     <NA>     <NA>        <NA>
## 8603359  <NA>    <NA>  <NA>       <NA> <NA>     <NA>     <NA>        <NA>
##         massgis.way_id maxheight maxspeed maxspeed.advisory maxspeed.type
## 4790718           <NA>      <NA>     <NA>              <NA>          <NA>
## 4790735           <NA>      <NA>     <NA>              <NA>          <NA>
## 8603359         194103      <NA>   25 mph              <NA>          <NA>
##         maxspeed.variable maxweight min_height motor_vehicle motorcar  mtb
## 4790718              <NA>      <NA>       <NA>          <NA>     <NA> <NA>
## 4790735              <NA>      <NA>       <NA>          <NA>     <NA> <NA>
## 8603359              <NA>      <NA>       <NA>          <NA>     <NA> <NA>
##         name.en name.etymology.wikidata name.mk name_orig natural noexit noname
## 4790718    <NA>                    <NA>    <NA>      <NA>    <NA>   <NA>   <NA>
## 4790735    <NA>                    <NA>    <NA>      <NA>    <NA>   <NA>   <NA>
## 8603359    <NA>                    <NA>    <NA>      <NA>    <NA>   <NA>   <NA>
##         note note.en note.lanes note.old_railway_operator notes official_name
## 4790718 <NA>    <NA>       <NA>                      <NA>  <NA>          <NA>
## 4790735 <NA>    <NA>       <NA>                      <NA>  <NA>          <NA>
## 8603359 <NA>    <NA>       <NA>                      <NA>  <NA>          <NA>
##         old_name old_railway_operator old_ref oneway oneway.bicycle oneway.bus
## 4790718     <NA>                 <NA>    <NA>   <NA>           <NA>       <NA>
## 4790735     <NA>                 <NA>    <NA>   <NA>           <NA>       <NA>
## 8603359     <NA>                 <NA>    <NA>    yes           <NA>       <NA>
##         oneway.conditional operator orig_name ownership parking
## 4790718               <NA>     <NA>      <NA>      <NA>    <NA>
## 4790735               <NA>     <NA>      <NA>      <NA>    <NA>
## 8603359               <NA>     <NA>      <NA>      <NA>    <NA>
##         parking.condition.both parking.condition.both.customers
## 4790718                   <NA>                             <NA>
## 4790735                   <NA>                             <NA>
## 8603359                   <NA>                             <NA>
##         parking.condition.both.maxstay parking.condition.both.time_interval
## 4790718                           <NA>                                 <NA>
## 4790735                           <NA>                                 <NA>
## 8603359                           <NA>                                 <NA>
##         parking.condition.left parking.condition.left.maxstay
## 4790718                   <NA>                           <NA>
## 4790735                   <NA>                           <NA>
## 8603359                   <NA>                           <NA>
##         parking.condition.left.time_interval parking.condition.right
## 4790718                                 <NA>                    <NA>
## 4790735                                 <NA>                    <NA>
## 8603359                                 <NA>                    <NA>
##         parking.condition.right.maxstay parking.condition.right.time_interval
## 4790718                            <NA>                                  <NA>
## 4790735                            <NA>                                  <NA>
## 8603359                            <NA>                                  <NA>
##         parking.lane parking.lane.both parking.lane.both_1 parking.lane.left
## 4790718         <NA>              <NA>                <NA>              <NA>
## 4790735         <NA>              <NA>                <NA>              <NA>
## 8603359         <NA>              <NA>                <NA>              <NA>
##         parking.lane.right parking.right.both postal_code private proposed
## 4790718               <NA>               <NA>        <NA>    <NA>     <NA>
## 4790735               <NA>               <NA>        <NA>    <NA>     <NA>
## 8603359               <NA>               <NA>        <NA>    <NA>     <NA>
##         proposed_name  psv public_transport railway ramp ramp.wheelchair
## 4790718          <NA> <NA>             <NA>    <NA> <NA>            <NA>
## 4790735          <NA> <NA>             <NA>    <NA> <NA>            <NA>
## 8603359          <NA> <NA>             <NA>    <NA> <NA>            <NA>
##         rcn_ref  ref religion roof.material route sac_scale segregated service
## 4790718    <NA> <NA>     <NA>          <NA>  <NA>      <NA>       <NA>    <NA>
## 4790735    <NA> <NA>     <NA>          <NA>  <NA>      <NA>       <NA>    <NA>
## 8603359    <NA> <NA>     <NA>          <NA>  <NA>      <NA>       <NA>    <NA>
##         shelter_type short_name shoulder sidewalk sidewalk.both
## 4790718         <NA>       <NA>     <NA>     <NA>          <NA>
## 4790735         <NA>       <NA>     <NA>     <NA>          <NA>
## 8603359         <NA>       <NA>     <NA>     <NA>          <NA>
##         sidewalk.both.kerb sidewalk.both.surface sidewalk.left sidewalk.right
## 4790718               <NA>                  <NA>          <NA>           <NA>
## 4790735               <NA>                  <NA>          <NA>           <NA>
## 8603359               <NA>                  <NA>          <NA>           <NA>
##         smoothness                             source source.addr
## 4790718       <NA>                               <NA>        <NA>
## 4790735       <NA>                               <NA>        <NA>
## 8603359       <NA> massgis_import_v0.1_20071008124914        <NA>
##         source.geometry source.hgv source.maxspeed source.name source.noname
## 4790718            <NA>       <NA>            <NA>        <NA>          <NA>
## 4790735            <NA>       <NA>            <NA>        <NA>          <NA>
## 8603359            <NA>       <NA>            <NA>        <NA>          <NA>
##         source.oneway source.surface source_ref sport start_date step_count
## 4790718          <NA>           <NA>       <NA>  <NA>       <NA>       <NA>
## 4790735          <NA>           <NA>       <NA>  <NA>       <NA>       <NA>
## 8603359          <NA>           <NA>       <NA>  <NA>       <NA>       <NA>
##         stroller surface tactile_paving taxi toll tourism tracktype
## 4790718     <NA>    <NA>           <NA> <NA> <NA>    <NA>      <NA>
## 4790735     <NA>    <NA>           <NA> <NA> <NA>    <NA>      <NA>
## 8603359     <NA>    <NA>           <NA> <NA> <NA>    <NA>      <NA>
##         traffic_calming trail_visibility train tram tree_lined trolley_wire
## 4790718            <NA>             <NA>  <NA> <NA>       <NA>         <NA>
## 4790735            <NA>             <NA>  <NA> <NA>       <NA>         <NA>
## 8603359            <NA>             <NA>  <NA> <NA>       <NA>         <NA>
##         tunnel turn turn.lanes turn.lanes.backward turn.lanes.forward  url
## 4790718   <NA> <NA>       <NA>                <NA>               <NA> <NA>
## 4790735   <NA> <NA>       <NA>                <NA>               <NA> <NA>
## 8603359   <NA> <NA>       <NA>                <NA>               <NA> <NA>
##         vehicle vehicle.lanes.backward website website.searchstring wheelchair
## 4790718    <NA>                   <NA>    <NA>                 <NA>       <NA>
## 4790735    <NA>                   <NA>    <NA>                 <NA>       <NA>
## 8603359    <NA>                   <NA>    <NA>                 <NA>       <NA>
##         width width.feet wikidata wikimedia_commons wikipedia
## 4790718  <NA>       <NA>     <NA>              <NA>      <NA>
## 4790735  <NA>       <NA>     <NA>              <NA>      <NA>
## 8603359  12.2       <NA>     <NA>              <NA>      <NA>
##                               geometry
## 4790718 LINESTRING (-71.02179 42.36...
## 4790735 LINESTRING (-71.03662 42.37...
## 8603359 LINESTRING (-71.08944 42.39...
ggplot() +
    geom_sf(data = calles_Boston)

#Exploramos y visualizamos el ejido municipal de interés.

calles_Boston <- st_intersection(calles_Boston, boston_poly)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries

#Visualizamos la geometría.

ggplot() +
    geom_sf(data = calles_Boston)

calles_Boston <- calles_Boston%>%
mutate(maxspeed = as.numeric(str_remove(maxspeed, "mph")),
lanes = ifelse(is.na(lanes), 1, as.numeric(lanes)))
## Warning: NAs introducidos por coerción

#Mapa donde se muestra las velocidades maximas en las calles de Boston.

ggplot(calles_Boston) +
    geom_sf(aes(color = maxspeed), alpha = 0.8) +
    scale_color_viridis_c() +
      theme_void() +
    labs(title = "Boston, Massachusetts",
         subtitle = "Calles",
         caption = "fuente: OpenStreetMap",
         color = "velocidad máxima")

#Buscamos contrastar la información proveniente de https://data.boston.gov con la de OpenStreetMaps, para ello desde la biblioeta de https://wiki.openstreetmap.org/wiki/Map_Features usando el key AMENITY descargarmos la informacion de las escuelas primarias y secundarias de la ciudad.

escuelas_Boston <- opq(boston) %>% 
  add_osm_feature(key = "amenity", value = "school") %>% 
  osmdata_sf() 
escuelas_Boston <- st_intersection(escuelas_Boston$osm_points, boston_poly)
## although coordinates are longitude/latitude, st_intersection assumes that they are planar
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries

#El mapa muestra la distribución de las escuelas en la ciudad.

ggplot() +
  geom_sf(data = calles_Boston, 
            color = "darkslateblue") +

  geom_sf_label(data = escuelas_Boston, 
                  aes(label = name), size = 3) +
  theme_void() +
  labs(title = "Boston, Massachusetts",
       subtitle = "Escuelas",
       caption = "Fuente: OpenStreetMap",
       color = "Escuelas primarias y secundarias")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data
## Warning: Removed 1428 rows containing missing values (geom_label).

#Agrupamos la cantidad de escuelas por barrio y filtramos las filas con “NA” para visualizar la información de la geometría correctamente.

 escuelas_en_Boston2 <-  escuelas_Boston%>%
       filter(!is.na(addr.city)) %>% 
       group_by(addr.city) %>% 
    summarise(cantidad=n())

#Información de OpenStreetMaps donde muestra el resultado del relevamiento realizado por usuarios para la cantidad de escuelas por barrio.

head(escuelas_en_Boston2)
## Simple feature collection with 6 features and 2 fields
## geometry type:  GEOMETRY
## dimension:      XY
## bbox:           xmin: -71.1615 ymin: 42.26485 xmax: -71.0044 ymax: 42.38846
## CRS:            EPSG:4326
## # A tibble: 6 x 3
##   addr.city   cantidad                                                  geometry
##   <chr>          <int>                                            <GEOMETRY [°]>
## 1 Allston            3 MULTIPOINT ((-71.13776 42.35216), (-71.13775 42.35209), ~
## 2 Boston            25 MULTIPOINT ((-71.13074 42.3556), (-71.12102 42.35199), (~
## 3 Brighton           4 MULTIPOINT ((-71.1615 42.35113), (-71.15299 42.35243), (~
## 4 Charlestown        1                                POINT (-71.06088 42.38126)
## 5 Dorchester        25 MULTIPOINT ((-71.08545 42.30134), (-71.08459 42.31616), ~
## 6 East Boston        4 MULTIPOINT ((-71.15892 42.26485), (-71.04006 42.37153), ~

#En el mapa se visualiza la distribucón del relevamiento.

#Podemos observar que la mayor distribución se encuentra al norte, que es también donde confluyen las principales calles y densidad de vías de circulación. Es decir, que asumimos será la zona céntrica, y entonces, la que contiene mayor densidad de población.

ggplot()+
  geom_sf(data = calles_Boston, alpha=0.1)+
  geom_sf(data = escuelas_en_Boston2, aes(color = addr.city))+
    labs(title = "Boston",
       subtitle = "Cantidad de escuelas por Barrio",
       caption = "Fuente: OpenStreetMap",
       color = "Escuelas primarias y secundarias")

#Información de https://data.boston.gov donde muestra el resultado del relevamiento realizado por el municipio para la cantidad de escuelas por barrio.

head(GRUPO_BOSTON_con_ESCUELAS)
## Simple feature collection with 6 features and 2 fields
## geometry type:  GEOMETRY
## dimension:      XY
## bbox:           xmin: -71.1615 ymin: 42.34203 xmax: -71.05749 ymax: 42.38011
## CRS:            EPSG:4326
## # A tibble: 6 x 3
##   Name      cantidad                                                    geometry
##   <fct>        <int>                                              <GEOMETRY [°]>
## 1 Allston          4 MULTIPOINT ((-71.14596 42.35043), (-71.1377 42.35205), (-7~
## 2 Back Bay         1                                  POINT (-71.07797 42.35057)
## 3 Bay Vill~        2      MULTIPOINT ((-71.06905 42.3484), (-71.06815 42.34876))
## 4 Brighton         6 MULTIPOINT ((-71.1615 42.35107), (-71.16076 42.35212), (-7~
## 5 Charlest~        4 MULTIPOINT ((-71.06723 42.37907), (-71.06443 42.37799), (-~
## 6 Chinatown        1                                  POINT (-71.06492 42.34797)

#En el siguiente gráfico de puntos visualizamos el contraste de la información relevada por el municipio y los usuarios de OpenStreetMap. El color azul muestra la distribución de la información de los usuarios y el color rojo muestra la distribución de la información del municipio.

ggplot() + 
  geom_point(data= escuelas_en_Boston2, aes(y = cantidad, x = addr.city, color="blue"))+
  geom_point(data= GRUPO_BOSTON_con_ESCUELAS, aes(x= Name, y= cantidad, color = "red"))+
    labs(title = "Escuelas primarias y secundarias en Boston",
         subtitle = "Cantidad de escuelas por barrio",
         caption = "Fuente: https://data.boston.gov/dataset, OpenStreetMap",
         x = "BARRIO",
         y = "CANTIDAD",
         color= "Contraste de relevamiento") 

#Cuando graficamos y observamos respecto al análisis anterior utilizando como fuente de datos la página oficial de datos abiertos de Boston, notamos una enrome diferencia entre una y otra. En el caso de la información cargada desde OSM, al filtrar aquellas escuelas con ciudad NA, perdemos información. A la vez, existe información dispar sobre los registros por barrio. Para verlo con mejor claridad utilizamos un gráfico de puntos cargando la cantidad de escuelas por barrio de cada dataset que muestra la diferencia existe entre una fuente y la siguiente.

#Para hacer un nuevo mapa de coropletas agregamos la información de OpenStreetMap al dataset del tp1.

escuelas_en_Boston3 <- escuelas_en_Boston2 %>% 
  rename(Name = addr.city) %>% 
  st_set_geometry(NULL)
BOSTON2 <- BOSTON %>% 
  left_join(escuelas_en_Boston3, by="Name")
## Warning: Column `Name` joining factor and character vector, coercing into
## character vector
names(BOSTON2)
##  [1] "OBJECTID"   "Name"       "Acres"      "Neighborho" "SqMiles"   
##  [6] "ShapeSTAre" "ShapeSTLen" "cantidad.x" "cantidad.y" "geometry"

#En el Tp1 el barrio con mayor cantidad de escuelas es el barrio de Dorchester al igual que en el relevamiento realizado por OpenStreetMap, como muestra el siguiente mapa.

ggplot() +
  geom_sf(data = BOSTON2, aes(fill = cantidad.y)) +
  geom_sf_text(data=BOSTON2, aes(label = Name), size=2, colour = "black") +
    labs(title = "Escuelas en BOSTON",
         subtitle = "Cantidad de escuelas por barrio",
         fill = "Cantidad",
         caption= "Fuente: OpenStreetMap",
         y="",
         x="") +
  scale_fill_gradient(low="gray", high="light blue")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

#En el tp1 el barrio con con mayor densidad de escuelas según el municipio de Boston es Charlestown, mientras que en el relevamiento realizado en OpenStreetMaps el barrio con mayor densidad de escuelas es Roxbury como muestra el siguiente mapa.

ggplot() +
  geom_sf(data = BOSTON2, aes(fill=(cantidad.y/SqMiles)*100)) +
  geom_sf_text(data=BOSTON2, aes(label = Name), size=2.5, colour = "black")+
    labs(title = "Escuelas en BOSTON",
         subtitle = "Barrio con mayor densidad de escuelas",
         fill = "Cantidad por ha",
         caption= "Fuente: OpenStreetMap",
         y="",
         x="") +
  scale_fill_gradient(low="white", high="blue")
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data