Dams and Bridges are two of the most important architectural structures that are built on rivers. In this computational essay, we explore them in detail and use WL's functionality to try and understand more from their data-points. Data-points are used to gain insights about Population-Density, River-Widths, Tributaries and Distributaries. We isolate dams from satellite images using color-processing. We also model the area of dams using geo-coordinates and the depth of dams using bathymetry and neural networks. In addition to this, we introduce the notion of bridge-density.

Merit for Analyzing Population Density Models

Calculating population density can tell us how "at-risk" an area is at risk for flooding, hence an important metric to measure. While there are some built-in functions (GeoRegionValuePlot), the functional range is too limited and small.

Large Scale Modeling of River Width

We can model the river width of a certain river and its contributing tributaries through determining the length of notable bridges that cross the river from its origin to its delta. Specifically, we will use the functions FilteredEntityClass and GeoRegionValuePlot to create our river width weights.
Here is an example from the Missouri River, let’s name it bridgeMissouri:
In[]:=
missouriRiver=EntityClass"River","Outflow"->
Missouri River
RIVER
//EntityList;​​bridgeMissouri=FilteredEntityClass"Bridge",EntityFunctionx,!MissingQ[x["Position"]]&&ContainsAnyx["Crosses"],AppendmissouriRiver,
Missouri River
RIVER
//EntityList;​​GeoRegionValuePlot[EntityValue[bridgeMissouri,"Length","EntityAssociation"],AspectRatio->1,MissingStyle->Transparent,GeoBackground->"Satellite"]
A more comprehensive example that incorporates the river delta in relation with the origin is the Mississippi River
​
Here, we can see the gradual increase of river width as it moves towards the river delta, let's name it bridgeMississippi:
In[]:=
mississippiRiver=EntityClass"River","Outflow"->
Mississippi River
RIVER
//EntityList​​bridgesMississippi=FilteredEntityClass"Bridge",EntityFunctiony,!MissingQ[y["Position"]]&&ContainsAnyy["Crosses"],AppendmississippiRiver,
Mississippi River
RIVER
//EntityList;​​MississipiPlot=GeoRegionValuePlot[EntityValue[bridgesMississippi,"Length","EntityAssociation"],AspectRatio->1,MissingStyle->Transparent,GeoBackground->"Satellite"]
Out[]=

Apple Creek
,
Apple River
,
Arkansas River
,
Bad Axe River
,
Battle Creek
,
Big Black River
,
Black River
,
Bois Brule Creek
,
Brazeau Creek
,
Catfish Creek
,
Chippewa River
,
Cinque Hommes Creek
,
Clearwater River
,
Crooked Creek
,
Crow River
,
Deer River
,
Des Moines River
,
Galena River
,
Hatchie River
,
Henderson Creek
,
Illinois River
,
Iowa River
,
Kaskaskia River
,
Little Elk River
,
Little Maquoketa River
,
Little Menominee River
,
Little Two River
,
Little Willow River
,
Loosahatchie River
,
Maquoketa River
,
Menominee River
,
Meramec River
,
Minnehaha Creek
,
Minnesota River
,
Missouri River
,
Obion River
,
Ohio River
,
Perch Creek
,
Pigeon River
,
Pine Creek
,
Pine River
,
Platte River
,
Plum River
,
Prairie River
,
Rabbit River
,
Red River of the South
,
Rice Creek
,
Rice River
,
River Aux Vases
,
St. Francis River
,
Saline Creek
,
Salt River
,
Sandy River
,
Sinsinawa River
,
Skunk River
,
Skunk River
,
St. Croix River
,
Swan River
,
Turkey River
,
Turtle River
,
Two River
,
Upper Iowa River
,
Upper Mississippi River
,
Vermillion River
,
Village Creek
,
Wapsipinicon River
,
Wells Creek
,
White River
,
Winnebago Creek
,
Wisconsin River
,
Wolf River
,
Yazoo River
,
Yellow River

Out[]=
The code in this section has been adapted from WaterGate : A project that was created by the author and George Cheng .

Using Bridges and Their Data

Getting tributaries for the famous Hudson River using the Outflow Functionality
In[]:=
hudsonRiver=EntityClass"River","Outflow"->
Hudson River
RIVER
//EntityList
Out[]=

Breakneck Brook
,
Casperkill
,
Cedar River
,
Coeymans Creek
,
Fall Kill
,
Fishkill Creek
,
Harlem River
,
Hoosic River
,
Maritje Kill
,
Mohawk River
,
Moodna Creek
,
Normans Kill
,
Patroon Creek
,
Pocantico River
,
Poesten Kill
,
Quassaick Creek
,
Rondout Creek
,
Sacandaga River
,
Saw Kill
,
Saw Mill River
,
Sparkill Creek
,
Thirteenth Brook
,
Wappinger Creek

Creating a filtered entity class for those bridges that cross the hudson and it's tributaries and for which the position property is available
In[]:=
bridgeHudson=FilteredEntityClass"Bridge",EntityFunctionx,!MissingQ[x["Position"]]&&ContainsAnyx["Crosses"],AppendhudsonRiver,
Hudson River
RIVER
//EntityList
Out[]=

112th Street Bridge
,
145th Street Bridge
,
Alexander Hamilton Bridge
,
Alfred H. Smith Memorial Bridge
,
Bear Mountain Bridge
,
Bridge 8
,
Broadway Bridge
,
Castleton Bridge
,
Collar City Bridge
,
Congress Street Bridge
,
Dunn Memorial Bridge
,
George Washington Bridge
,
Green Island Bridge
,
Hadley Parabolic Bridge
,
Hamilton Fish Newburgh-Beacon Bridge
,
High Bridge
,
John T. Loughran Bridge
,
Kingston–Port Ewen Suspension Bridge
,
Kingston–Rhinecliff Bridge
,
Livingston Avenue Bridge
,
Macombs Dam Bridge
,
Madison Avenue Bridge
,
Mechanicville Bridge
,
Menands Bridge
,
Mid-Hudson Bridge
,
Moodna Viaduct
,
North Creek Bridge
,
Park Avenue Bridge
,
Patroon Island Bridge
,
Walkway over the Hudson
,
Putnam Bridge
,
Rip Van Winkle Bridge
,
Riparius Bridge
,
Robert F. Kennedy Memorial Bridge
,
Rosendale Trestle
,
Schuylerville Bridge
,
Spuyten Duyvil Bridge
,
Stillwater Bridge
,
Tappan Zee Bridge
,
Tappan Zee Bridge
,
Thaddeus Kosciusko Bridge
,
The Glen Bridge
,
Third Avenue Bridge
,
Thurman Station Bridge
,
Tioronda Bridge
,
Troy–Waterford Bridge
,
University Heights Bridge
,
Verrazano-Narrows Bridge
,
Wards Island Bridge
,
Washington Bridge
,
Willis Avenue Bridge

GeoRegionValuePlot on a Satellite Map
In[]:=
HudsonBridges=GeoRegionValuePlot[EntityValue[bridgeHudson,"Length","EntityAssociation"],AspectRatio->1,MissingStyle->Transparent,GeoBackground->"Satellite"]
Out[]=
Population Density of New York State and the length of bridges in meters on the same graph
In[]:=
Show[{NY,HudsonBridges}]
Out[]=
There seems to be some correlation between the population density of a place, and the length of the it's longest bridge (on the hudson river and it's tributaries).
Now, we plot the graph of the Mississippi River with respect to the population of states in the United States

Study of Bridges in Cities

Bridge Density

We define the bridge density of a city to be the percentage of area covered by bridges to the percentage of area covered by water
Hence, the percentage covered by Bridges in New York is 2.7%
Hence, water covers approximately 18.3865% of New York.
We can wrap all of this up neatly in a function.

Comparing Branching of Rivers and Bridges

It seems intuitive to think that bridges would be strategically placed at places where a river meanders or branches. However, empirical data from New York shows that this is not necessarily the case
Extract river from the image & Use Cleaning Functions such as Thinning, DeleteSmallComponents, Dilation, ColorNegate to obtain an accurate image of rivers
Use Morphological Branch Points to judge where the river meanders/branches
Rivers of New York State

Using Dams & Their Data

Extracting Dams from Satellite Images

Extracting the dam using the same methods as before
Hence, the Tehri cover approximately 2.44169% of the surrounding area

An Attempt to Compute the Volume & Area of Dam using Satellite Images

Finding Area

Creating a dam contour by manually using the Geo-Coordinates Tool
The area is relatively accurate.

Finding Depth

a) Using pure bathymetric functions

Use bathymetry to find the volume

b) Using Neural Networks

Code for the area has been provided by Gianluca Gorni, University of Udine

Plotting Dams & Bridges on the same Map

Creating Functions

In this section, we create a bunch of helper-functions to perform operations on Dams using their properties
Create EntityClass of all the dams on a particular river
Get the position of all the Dams
Position for the Ganges River
Get Images of Dams on a particular River
Assort Dams by their length in Descending order

Tying Everything Together

Create an entity class of all the tributaries of the Mississippi river
Create an entity class of all the Dams of the Mississippi river and it's tributaries if and only if their positions are known
In[]:=
Map of Dams and Bridges of the Mississippi River
This shows a positive correlation between the location of tall dams and long bridges.

CITE THIS NOTEBOOK

Holistic examination of bridges & dams for analysis of river-systems​
by Navvye Anand, Student Ambassador - Wolfram Research
Wolfram Community, STAFF PICKS, September 27, 2023
​https://community.wolfram.com/groups/-/m/t/3022090