We are conducting a hot spot analysis of beaver dams on Spawn Creek in Logan Canyon, a canyon in northern Utah. We are doing this to see if dams are clustered together in any specific way along this creek, and how dam presence changes in the area over time. Beavers build dams as primary dams and a series of secondary dams. While our data doesn’t distinguish between primary and secondary dams, identifying hot spots on a fine spatial scale may help identify these clusters of primary and secondary dams. This analysis may help to identify clustering of dam complexes when a dam census is performed from aerial imagery. Typically one of the main characteristics of a primary dam is that the dam extends out onto the floodplain, while this is easy to identify on the ground it can be more difficult using imagery. Aerial imagery, particularly of more remote areas or when imagery is historical can be very low resolution. When imagery is low resolution it can be more difficult for censuses conducted aerially to accurately identify primary and secondary dams. Our primary question is whether or not it is possible to use fine scale hot spot analysis to identify a dam complex structure. We are also hoping to identify major year to year changes in dam presence throughout the area.
#Data Setup
SC2014 <- st_read("SpawnCreek_2014.shp")
SC2017 <- st_read("SpawnCreek_2017.shp")
SC2018 <- st_read("SpawnCreek_2018.shp")
SC2022 <- st_read("SpawnCreek_2022.shp")
SpawnCreek_Trail <- st_read("Utah_Trails_and_Pathways")%>%
filter(OBJECTID=="41168")
bound <- st_read ("bound.shp")
Dams_2014 <- st_transform(SC2014,"EPSG:5070")
Dams_2017 <- st_transform(SC2017,"EPSG:5070")
Dams_2018 <- st_transform(SC2018,"EPSG:5070")
Dams_2022 <- st_transform(SC2022,"EPSG:5070")
st_crs(bound) <- 4326
bound <- st_transform(bound, "EPSG:5070")
tmap_mode("view")
## tmap mode set to interactive viewing
#Map of region of interest
Region_of_Interest <- qtm(SpawnCreek_Trail, bbox=tmaptools::bb(xlim=c(-111.55851175461251,-111.56855394516427), ylim=c(41.8345594113765,41.83961127775711)))+
tm_shape(Dams_2022)+
tm_symbols(col="black",shape = 21, size = 0.25)+
tm_scale_bar(position = c("right","bottom"))+
tm_add_legend('symbol', col="black", shape = 21, size = 0.25, labels = "2022 Dam")+
tm_layout(title = "Present Dams Along Spawn Creek, UT") +
tm_legend(show = TRUE)
Region_of_Interest
## only legends of type "fill" supported in view mode
This map shows the region of Spawn Creek where we will be conducting our hotspot analysis, and the dams currently present there (Shown in Black) This map is interactive to provide a basemap for geographic context, to view a legend please click on the layered squares shown at left.
Dam locations: collected by Kori Kurtzeborn from Google Earth and Ally Smith and Kori Kurtzeborn using GPS units. This data captures dams from 2014, 2017, 2021 using Google Earth. Points were dropped on dam observations. The potential error on the historic data comes from the potential mis-identification of woody jams as beaver built dams. Dams could also have been missed due to vegetation cover, or mistaken as woody jams and not marked.
2022 data was collected using a garmin GPSMap 64 device where way points were marked as close to dams as we could comfortably get. Slight errors exist in the coordinates of 2022 dam data as we kept safe distance between us and the dam, typically staying on trail. As such, some of these points appear floating off of the stream though they represent a dam in the water.
Trail shapefile data was sourced from Utah UGRC Authoritative Data
We will be using hotspot analysis to find dam clusters along Spawn Creek, and using spatial comparison to see change over time.
#hiding the first 10 rows since those are from google myplaces and are not our points
SC2014 <- SC2014[-c(1:10), ]
SC2017 <- SC2017[-c(1:10), ]
SC2018 <- SC2018[-c(1:10), ]
df <- data.frame (Year = c("2014", "2017", "2018", "2022"),
Count = c(14, 10, 19, 21)
)
plot <- ggplot(data=df, aes(x=Year, y=Count), fill = x) +
geom_bar(stat="identity", width = 0.5) +
scale_fill_manual(values = c("2014" = "red",
"2017" = "green",
"2018" = "blue",
"2022" = "yellow")) +
geom_text(aes(label=Count), vjust=-0.3, size=3.5)+
labs(title = "Spawn Creek Dams Over Time")+
theme(
panel.grid = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank(),
panel.background = element_blank(),
axis.line.x = element_line(colour = 'black', size=0.5, linetype='solid'),
plot.title = element_text(hjust = 0.5))
plot
This bar chart is of the change in beaver dam count over time for a section of Spawn Creek. This bar chart shows that the dam counts along our study site in Spawn Creek do change and that there could have been some event between 2014 and 2017 that caused some of the dams to fall.
TempleFork<-st_read("Utah_Trails_and_Pathways")%>%
filter(PrimaryNam=="Temple Fork Sawmill")
Dams_TF_2022<-st_read("TempleFork.shp")
#Historic tmap
SC_Dam_Map <- qtm(SpawnCreek_Trail)+
tm_shape(TempleFork$geometry)+
tm_lines()+
tm_shape(Dams_2014)+
tm_symbols(col="red", shape = 21, size = 0.25)+
tm_shape(Dams_2017)+
tm_symbols(col="green",shape= 21, size = 0.25)+
tm_shape(Dams_2018)+
tm_symbols(col="blue",shape = 21, size = 0.25)+
tm_shape(Dams_2022)+
tm_symbols(col="black",shape = 21, size = 0.25)+
tm_shape(Dams_TF_2022)+
tm_symbols(col="black",shape = 21, size = 0.25)+
tm_scale_bar(position = c("right","bottom"))+
tm_add_legend('symbol', col="red", shape = 21, size = 0.25, labels = "2014 Dam")+
tm_add_legend('symbol', col="green", shape = 21, size = 0.25, labels = "2017 Dam")+
tm_add_legend('symbol', col="blue", shape = 21, size = 0.25, labels = "2018 Dam")+
tm_add_legend('symbol', col="black", shape = 21, size = 0.25, labels = "2022 Dam")+
tm_view(view.legend.position =c("top","right"))+
tm_layout(title = "Historic and Present Dams along Spawn Creek")
SC_Dam_Map
## only legends of type "fill" supported in view mode
## only legends of type "fill" supported in view mode
## only legends of type "fill" supported in view mode
## only legends of type "fill" supported in view mode
This plot shows temporal dam data along Spawn Creek, and current dams along Temple Fork. By comparing these data sets spatially we can see changes in Beaver presence over time throughout the creek. Though we ended up not using Temple Fork data for analysis, we chose to include it here for reference, and further appreciation of Beaver presence in the area. This is an interactive map, please zoom in and out for further clarity on specific areas of interest. Dams from 2014 are shown in red, dams from 2017 are shown in green,2018 dams are shown in blue, and present day (2022) dams are shown in black.
grid <- st_make_grid(bound,
cellsize = 10,
what = "polygons",
square = FALSE) %>% st_cast("POLYGON")
dams <- Dams_2022 %>%
filter(Type >= "WPT")
dams2022 <- st_sf(data.frame(Count = lengths(st_intersects(grid, dams)), geom=grid))
queen <- poly2nb(grid, queen = T)
coords <- st_centroid(bound)
#plot(bound$geometry)
binaryqueen <- nb2listw(queen)
print(binaryqueen)
summary(sapply(binaryqueen$weights, sum))
Gstat <- localG(dams2022$Count, listw = binaryqueen)
Gstat
dams2022$Gstat <- Gstat
tmap_mode("plot")
## tmap mode set to plotting
Gstat_plot<-tm_shape(dams2022) +
tm_fill("Gstat",
palette = "-RdBu",
style = "pretty") +
tm_borders(alpha=.4)
Gstat_plot
## Variable(s) "Gstat" contains positive and negative values, so midpoint is set to 0. Set midpoint = NA to show the full spectrum of the color palette.
This image shows clusters of dams, while dams at the upstream (right) are too close to indicate distinct complexes the downstream (left) have separate clusters that may be complexes.
Using a 10m by 10m hot spot region helped identify clusters of dams. These clusters seem distant enough to potentially be individual complexes made up of one primary and several secondary dams. They could also be areas that dams are blowing out less frequently or areas that are where beaver want to spend more time so they are building more dams. We also see an overall increase in beaver presence through the years in question along Spawn Creek.
Present day data collection was divided between the two of us, Kori handled historical data collection and trail data sourcing. The visualizations (Bar chart by Ally & Historical Map by Kori) were improved upon by their original authors from the Project Proposal. The site reference map was completed by Kori, and the Hot Spot analysis completed by Ally. Organization of the final document was headed by Kori with large contributions from Ally. We took input we received on the project proposal in moving towards a hot spot analysis in the first place, and choosing interactive maps for our historical analysis allowing for more detailed comparison. Though lots of methods were attempted to find a basemap for a static site reference, none were fruitful and time constraints led to the need for an interactive basemap.