1. Set Up

pkgs <- c('tidyverse',
          'rgdal',
          'devtools',
          'tigris',
          'leaflet',
          'sp',
          'ggmap',
          'maptools',
          'broom',
          'httr')

sapply(pkgs, require, character.only = TRUE)
devtools::load_all()

2. Load and Process Data

noise_data <- get_311_noise_data()
nyc_neighborhoods <- get_nyc_neighborhoods()
nyc_neighborhoods_df <- get_nyc_neighborhoods(tidy = TRUE)

3. Mapping

nyc_map <- get_map(location = c(lon = -74.00, lat = 40.71), 
                   maptype = 'terrain', zoom = 11)

ggmap(nyc_map) + 
  geom_polygon(data=nyc_neighborhoods_df, aes(x = long, y = lat, group = group), 
               color = 'blue', fill = NA)
leaflet(nyc_neighborhoods) %>%
  addTiles() %>% 
  addPolygons(popup = ~neighborhood) %>%
  addProviderTiles("CartoDB.Positron")
polys = attr(nyc_neighborhoods, 'polygons')
npolys = length(polys)
for (i in 1:npolys){
  poly = polys[[i]]
  polys2 = attr(poly, 'Polygons')
  npolys2 = length(polys2)
  for (j in 1:npolys2){
     coords = coordinates(polys2[[j]])
  }
}

extractCoords <- function(sp.df)
{
    results <- list()
    for(i in 1:length(sp.df@polygons[[1]]@Polygons))
    {
        results[[i]] <- sp.df@polygons[[1]]@Polygons[[i]]@coords
    }
    results <- Reduce(rbind, results)
    results
}
library(sf)
# Shapefile from ABS: 
# https://www.abs.gov.au/AUSSTATS/abs@.nsf/DetailsPage/1270.0.55.004July%202016?OpenDocument
map = read_sf("data/ABS/shapes/SUA_2016_AUST.shp")

pnts_sf <- st_as_sf(pnts, coords = c('y', 'x'), crs = st_crs(map))

pnts <- pnts_sf %>% mutate(
  intersection = as.integer(st_intersects(geometry, map))
  , area = if_else(is.na(intersection), '', map$SUA_NAME16[intersection])
) 

pnts


hnguyen1174/NycNoiseViz documentation built on Jan. 1, 2021, 3:18 a.m.