American Rivers Dam Removal Database
Dam removals in the United States, 1912–2025. Compiled by American Rivers.
2,126 dam removals (of 2,325 total; records without valid coordinates excluded) | Points | CC BY 4.0
Source: Figshare (DOI: 10.6084/m9.figshare.5234068)
Files
PMTiles source-layer name: dam-removal
DuckDB Example
1INSTALL spatial; LOAD spatial;
2INSTALL httpfs; LOAD httpfs;
3SET s3_endpoint='s3-west.nrp-nautilus.io';
4SET s3_url_style='path';
5SET s3_use_ssl=false;
6
7-- Top states by dam removals
8SELECT State, COUNT(*) AS removals
9FROM read_parquet('s3://public-rivers/american-rivers/dam-removal.parquet')
10GROUP BY State ORDER BY removals DESC LIMIT 10;
11
12-- Dams removed for ecology since 2000
13SELECT Dam_Name, River, State, Year_Removed, Miles_Restored_US
14FROM read_parquet('s3://public-rivers/american-rivers/dam-removal.parquet')
15WHERE Reason_for_removal ILIKE '%ecology%'
16 AND TRY_CAST(Year_Removed AS INTEGER) >= 2000
17ORDER BY TRY_CAST(Year_Removed AS INTEGER) DESC
18LIMIT 20;
1INSTALL spatial; LOAD spatial;
2INSTALL httpfs; LOAD httpfs;
3SET s3_endpoint='s3-west.nrp-nautilus.io';
4SET s3_url_style='path';
5SET s3_use_ssl=false;
6
7-- Top states by dam removals
8SELECT State, COUNT(*) AS removals
9FROM read_parquet('s3://public-rivers/american-rivers/dam-removal.parquet')
10GROUP BY State ORDER BY removals DESC LIMIT 10;
11
12-- Dams removed for ecology since 2000
13SELECT Dam_Name, River, State, Year_Removed, Miles_Restored_US
14FROM read_parquet('s3://public-rivers/american-rivers/dam-removal.parquet')
15WHERE Reason_for_removal ILIKE '%ecology%'
16 AND TRY_CAST(Year_Removed AS INTEGER) >= 2000
17ORDER BY TRY_CAST(Year_Removed AS INTEGER) DESC
18LIMIT 20;
MapLibre GL JS Example
1const map = new maplibregl.Map({ /* ... */ });
2
3map.on('load', () => {
4 map.addSource('dam-removal', {
5 type: 'vector',
6 url: 'pmtiles://https://s3-west.nrp-nautilus.io/public-rivers/american-rivers/dam-removal.pmtiles'
7 });
8
9 map.addLayer({
10 id: 'dam-removal-points',
11 type: 'circle',
12 source: 'dam-removal',
13 'source-layer': 'dam-removal',
14 paint: {
15 'circle-radius': 5,
16 'circle-color': '#2196F3',
17 'circle-opacity': 0.8,
18 'circle-stroke-width': 1,
19 'circle-stroke-color': '#fff'
20 }
21 });
22});
1const map = new maplibregl.Map({ /* ... */ });
2
3map.on('load', () => {
4 map.addSource('dam-removal', {
5 type: 'vector',
6 url: 'pmtiles://https://s3-west.nrp-nautilus.io/public-rivers/american-rivers/dam-removal.pmtiles'
7 });
8
9 map.addLayer({
10 id: 'dam-removal-points',
11 type: 'circle',
12 source: 'dam-removal',
13 'source-layer': 'dam-removal',
14 paint: {
15 'circle-radius': 5,
16 'circle-color': '#2196F3',
17 'circle-opacity': 0.8,
18 'circle-stroke-width': 1,
19 'circle-stroke-color': '#fff'
20 }
21 });
22});