Floods are one of the most devastating natural disasters, causing widespread damage to communities and infrastructure. As the frequency and intensity of extreme weather events increase, there is a growing need for effective flood risk management strategies. This is where flood inundation analysis comes in.
Click the picture to see our presentation video🎉
The purpose of this analysis is to create a predictive model that can estimate the likelihood of flooding in Calgary, Alberta, Canada, based on a range of factors that we have identified as being important. Then we use this model to predict the probability of flood inundation in a comparable city Pittsburgh, Pennsylvania, US, which helps us understand how our model might perform in different contexts.
Ultimately, our goal is that this analysis will provide valuable insights into flood risk management, and help planners make more informed decisions about how to protect their communities from the devastating effects of flooding.
From the city of Calgary we can see that Calgary is at its greatest risk of flooding during spring and summer. Additionally, heavy rainfall on the melting snowpack in the Rocky Mountains combined with steep, rocky terrain caused rapid and intense flooding in southern-Alberta watersheds. Flooding disrupted businesses, damaged critical infrastructure and also led to power outages across Calgary.
As a river city, it is important to prepare, respond and adapt to floods. Every spring, the city of Calgary actively monitor the rivers for flooding. They continuously improve the flood forecasting to provide citizens with the earliest possible warning.
Therefore, the information from this analysis can be used by city planners in Calgary to make informed decisions about land use, infrastructure development, and emergency preparedness. To deploy such an algorithm, we would first need to validate and refine the model using historical flood data and other relevant features. Once we have a model that fits well, we can use it to generate flood inundation maps for Calgary, and also the comparable city.
source("https://raw.githubusercontent.com/urbanSpatial/Public-Policy-Analytics-Landing/master/functions.r")
options(scipen=999, tigris_class = "sf")
<- theme_nice() +
mapTheme theme(axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank())
In this project, we have access to four datasets that will inform our inundation analysis for Calgary.
<- st_read("https://data.calgary.ca/resource/erra-cqp9.geojson") %>% st_union() Boundary
## Reading layer `erra-cqp9' from data source
## `https://data.calgary.ca/resource/erra-cqp9.geojson' using driver `GeoJSON'
## Simple feature collection with 1 feature and 2 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -114.3158 ymin: 50.84282 xmax: -113.8599 ymax: 51.21243
## Geodetic CRS: WGS 84
<- st_read("https://data.calgary.ca/resource/5fk8-xqeu.geojson") Rivers
## Reading layer `5fk8-xqeu' from data source
## `https://data.calgary.ca/resource/5fk8-xqeu.geojson' using driver `GeoJSON'
## Simple feature collection with 710 features and 1 field
## Geometry type: LINESTRING
## Dimension: XY
## Bounding box: xmin: -114.3489 ymin: 50.83672 xmax: -113.8103 ymax: 51.22879
## Geodetic CRS: WGS 84
<- st_read("https://data.calgary.ca/resource/47bt-eefd.geojson") water
## Reading layer `47bt-eefd' from data source
## `https://data.calgary.ca/resource/47bt-eefd.geojson' using driver `GeoJSON'
## Simple feature collection with 1000 features and 3 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -114.3252 ymin: 50.83457 xmax: -113.8373 ymax: 51.22713
## Geodetic CRS: WGS 84
leaflet() %>%
addTiles() %>%
addProviderTiles("Esri.WorldTerrain") %>%
setView(lng = -114.08165519085753, lat = 51.043599465458946, zoom = 9) %>%
addPolygons(data = Boundary,
fillColor = "#08306B",
fillOpacity = 0.2,
weight = 0.3,
color = "transparent") %>%
addPolylines(data = Rivers,
color = "#08306B",
weight = 1) %>%
addLegend("bottomright",
title = "Legend",
colors = "#08306B",
labels = "Rivers",
opacity = 1)