Files came from John. These only have SLC WFO data. Larger area data is down below.
# read files
ffReports2021 <- read.csv("MonsoonData_fromJohn/2021_flashFloods_storm_reports.csv")
ffReports2022 <- read.csv("MonsoonData_fromJohn/2022_flashFloods_storm_reports.csv")
ffReports2023 <- read.csv("MonsoonData_fromJohn/2023_flashFloods_storm_reports.csv")
# cat into one data frame, remove other data frames
ffReports_allData <- rbind(ffReports2021, ffReports2022, ffReports2023)
rm(ffReports2021, ffReports2022, ffReports2023)
get most relevant data columns, drop rest.
good_colNames <- c("EVENT_ID", "BEGIN_DATE", "BEGIN_TIME", "BEGIN_LAT", "BEGIN_LON",
"DAMAGE_PROPERTY_NUM", "INJURIES_INDIRECT", "DAMAGE_CROPS_NUM",
"DEATHS_INDIRECT", "END_DATE", "END_TIME", "END_LAT", "END_LON")
ffReports <- select(ffReports_allData, good_colNames)
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
## # Was:
## data %>% select(good_colNames)
##
## # Now:
## data %>% select(all_of(good_colNames))
##
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
convert data frame to spatial data shapefile. CRS? assume WGS 84 (4326)
ffReports_sf <- st_as_sf(ffReports, coords = c("END_LON", "END_LAT"))
st_crs(ffReports_sf) <- 4326
create basemap
basemap <- leaflet() %>%
addTiles() %>%
setView(lng = -111.6021, lat = 37.76703, zoom = 7)
basemap
Add flood end point data
ffObs <- basemap %>%
addMarkers(data = ffReports_sf,
label = paste(
"Event ID: ", ffReports_sf$EVENT_ID, "<br>",
"Begin Date: ", ffReports_sf$BEGIN_DATE, "<br>",
"End Date: ", ffReports_sf$END_DATE, "<br>",
"Property Damage: ", ffReports_sf$DAMAGE_PROPERTY_NUM, "<br>",
"Crop Damage: ", ffReports_sf$DAMAGE_CROPS_NUM, "<br>",
"Injuries: ", ffReports_sf$INJURIES_INDIRECT, "<br>",
"Death: ", ffReports_sf$DEATHS_INDIRECT, "<br>",
"Event Timespan: ", ffReports_sf$END_TIME - ffReports_sf$BEGIN_TIME, "<br>"
) %>% lapply(htmltools::HTML)
)
ffObs
saveWidget(ffObs,
file = "MonsoonData_fromJohn/FlashFloodReports.html",
selfcontained = T)
#st_write(ffReports_sf, "MonsoonData_fromJohn/FFpoints21_23.shp",
# append)
# read file
flashfloods21_24 <- readxl::read_xlsx(path = "MonsoonData_fromJohn/FlashFloodReports_files/flashfloods_202101012015_202410011916_all.xlsx")
# format utc date
flashfloods21_24$ReportTime_UTC = strftime(flashfloods21_24$ReportTime_UTC,
format = "%Y/%m/%d %H:%M",
tz = "UTC", usetz = T)
Convert lat long to points, make to shapefile then display on map
ffReports_all_sf <- st_as_sf(flashfloods21_24, coords = c("Lon", "Lat"))
st_crs(ffReports_all_sf) <- 4326
#convert date back to characters
ffReports_all_sf$ReportTime_UTC <- strftime(ffReports_all_sf$ReportTime_UTC)
# create leaflet map
ffObs_all <- leaflet(ffReports_all_sf) %>%
addTiles() %>%
# addTitle("Flash Flood Reports for Western US States, 2021-2024 Monsoon Months") %>%
setView(lng = -111.6021, lat = 37.76703, zoom = 5) %>%
addCircleMarkers(radius = 5,
stroke = F,
fillOpacity = 0.7,
popup = paste(
"Report Date (UTZ): ",
ffReports_all_sf$ReportTime_UTC,"<br>",
"Location: ", ffReports_all_sf$Location, ", ",
ffReports_all_sf$County, ", ",
ffReports_all_sf$ST, "<br>",
"Source: ", ffReports_all_sf$Source, "<br>"
) %>% lapply(htmltools::HTML)
)
ffObs_all
load AOI for Southern Utah and surrounding areas in CO, AZ, NM
crop flood reports to only this area
aoi <- read_sf("Shapefiles/SoUT_AOI/SoUT_AOI.shp")
aoi <- st_transform(aoi, crs = 4326)
aoi_floods_sf <- st_intersection(ffReports_all_sf, aoi)
## Warning: attribute variables are assumed to be spatially constant throughout
## all geometries
map floods in aoi
# create leaflet map
ffObs_aoi <- leaflet(aoi_floods_sf) %>%
addTiles() %>%
# addTitle("Flash Flood Reports for Western US States, 2021-2024 Monsoon Months") %>%
setView(lng = -111.6021, lat = 37.76703, zoom = 5) %>%
addCircleMarkers(radius = 5,
stroke = F,
fillOpacity = 0.7,
label = paste(
"Report Date (UTZ): ",
aoi_floods_sf$ReportTime_UTC,"<br>",
"Location: ", aoi_floods_sf$Location, ", ",
aoi_floods_sf$County, " County , ",
aoi_floods_sf$ST, "<br>",
"Source: ", aoi_floods_sf$Source, "<br>"
) %>% lapply(htmltools::HTML)
)
ffObs_aoi