Buffering Features

library(sf)
library(dplyr)
library(tmap)

ard_path <- "data/AnalysisReady/AnalysisReady.gpkg"

roads <- st_read(ard_path, layer = "roads")

plot(st_geometry(roads))

# Let's see how buffer works using a single feature
# Pull out feature 3
r <- roads[3,]
plot(st_geometry(r))
# Buffer it and visualize
rbuff <- st_buffer(r, dist = 100)
plot(st_geometry(rbuff))
plot(st_geometry(r), add = T)

# Buffer the full dataset and view
roads_buff <- st_buffer(roads, dist = 100)
plot(st_geometry(roads_buff))

tmap_mode("view")
tm_shape(roads_buff)+
  tm_polygons()
# Perform a union before buffering
roads_buff <- roads %>% 
  st_union() %>% 
  st_buffer(dist = 100)

tm_shape(roads_buff)+
  tm_polygons()