Section 6 Erosion pins

6.1 Dataset Building

6.1.1 Extracting elevation, slope, and curvature from DEMS to GPS points.

Import GPS data points saved in the G-drive (collected using Field Maps and downloaded through Arc Online). Transform into NAD83 zone 15N.

# load erosion pin points,
arb_gps_raw <- read.csv("C:/Users/natha/Documents/local_data/_data/_erosion_pins/_transect_gps/Erosion_Pin_Transects_1.csv") %>% 
  select(Latitude, Longitude) %>% 
  filter(Latitude < 45) # arb and lr are in the same file, split into 2

lr_gps_raw <- read.csv("C:/Users/natha/Documents/local_data/_data/_erosion_pins/_transect_gps/Erosion_Pin_Transects_1.csv") %>% 
  select(Latitude, Longitude) %>% 
  filter(Latitude > 45)

# above points are theoretically in WGS84. this tells r they are (which in R the crs is EPSG: 4326). this also makes them a simple features feature (sf)
arb_gps <- st_as_sf(arb_gps_raw, coords = c("Longitude", "Latitude"), crs = 4326)
lr_gps <- st_as_sf(lr_gps_raw, coords = c("Longitude", "Latitude"), crs = 4326)

# transform from WGS84 to NAD83 zone 15N to match lidar (EPSG: 4269)
arb_NAD <- st_transform(arb_gps, crs = 26915)
lr_NAD <- st_transform(lr_gps, crs = 26915)

lr_NAD <- lr_NAD[-31,] # remove junk point

Import dems from drive (created in 26_mapping).

# lr
lr_1m_dem <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_dem")
lr_1m_slope <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_slope")
lr_1m_curvature <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_curvature")

# arb
arb_1m_dem <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_dem")
arb_1m_slope <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_slope")
arb_1m_curvature <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_curvature")

Extract elevation, slope, and curvature (in 1/m) at gps points.

# arb
arb_NAD$elevation <- terra::extract(arb_1m_dem, arb_NAD)[,2]
arb_NAD$slope <- terra::extract(arb_1m_slope, arb_NAD)[,2]
arb_NAD$curvature <- terra::extract(arb_1m_curvature, arb_NAD)[,2]

# lr
lr_NAD$elevation <- terra::extract(lr_1m_dem, lr_NAD)[,2]
lr_NAD$slope <- terra::extract(lr_1m_slope, lr_NAD)[,2]
lr_NAD$curvature <- terra::extract(lr_1m_curvature, lr_NAD)[,2]

Export data sets to drive.

# export as shape files (.shp)
write_sf(arb_NAD, "C:/Users/natha/Documents/local_data/_data/_erosion_pins/_arb_geo_data_shp/arb_geo_data.shp")
write_sf(lr_NAD, "C:/Users/natha/Documents/local_data/_data/_erosion_pins/_lr_geo_data_shp/lr_geo_data.shp")

# export as tables (.csv)
write.csv(arb_NAD, "C:/Users/natha/Documents/local_data/_data/_erosion_pins/arb_geo_data.csv", quote = 1)
write.csv(lr_NAD, "C:/Users/natha/Documents/local_data/_data/_erosion_pins/lr_geo_data.csv", quote = 1)

6.2 Visualizing etc.

6.2.1 Spatial Plots

Import GPS and dem data.

# import shape files
arb_geo_shp <- read_sf("C:/Users/natha/Documents/local_data/_data/_erosion_pins/_arb_geo_data_shp/arb_geo_data.shp")
lr_geo_shp <- read_sf("C:/Users/natha/Documents/local_data/_data/_erosion_pins/_lr_geo_data_shp/lr_geo_data.shp")

# import elevation slope curvature data
arb_geo_data <- read.csv("C:/Users/natha/Documents/local_data/_data/_erosion_pins/arb_geo_data.csv")
lr_geo_data <- read.csv("C:/Users/natha/Documents/local_data/_data/_erosion_pins/lr_geo_data.csv")

# merge two above
arb_geo_data[1:2] <- st_coordinates(arb_geo_shp)
arb_geo_data <- rename(arb_geo_data, "latitude" = X, "longitude" = geometry)

lr_geo_data[1:2] <- st_coordinates(lr_geo_shp)
lr_geo_data <- rename(lr_geo_data, "latitude" = X, "longitude" = geometry)

# dems
lr_1m_dem <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_dem")
lr_1m_slope <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_slope")
lr_1m_curvature <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_lake_rebecca_topo/lr_1m_curvature")

arb_1m_dem <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_dem")
arb_1m_slope <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_slope")
arb_1m_curvature <- rast("C:/Users/natha/Documents/local_data/_data/_mapping/_arb_topo/arb_1m_curvature")

Plotting fun

arb_geo_data$site = NA
arb_geo_data[1:15,]$site = "ASH"
arb_geo_data[16:30,]$site = "MAG"
arb_geo_data[31:45,]$site = "WD"

ggplot(arb_geo_data, mapping = aes(latitude, longitude, group = site, color = curvature)) +
  geom_point(size = 2.5) +
  facet_wrap(~site)