FlowManagement
HydroBASINS
Nested sub-basin boundaries, levels 1 to 12. Global watershed boundaries in a Pfafstetter hierarchy.
Sub-basins at twelve nested levels with topology (next downstream basin, distance to the outlet, Pfafstetter codes), so upstream areas can be traced without a DEM. The basin outlines on this map are built from level 4, merged to whole river basins.
- Source
- HydroSHEDS (WWF and McGill University)
- Resolution
- Polygons (levels 1 to 12)
- Data type
- Polygons
- Time span
- Static (v1c)
- Temporal
- Static
- Access type
- Direct download (external)
- Formats
- Shapefile
- Coverage
- Global land (-180, -56, 180, 84)
- Licence
- HydroSHEDS licence (free, attribution required)
- Provider page
- www.hydrosheds.org/products/hydrobasins
Cite as. Lehner, B., Grill, G. (2013). Global river hydrography and network routing: baseline data and new approaches to study the world's large river systems. Hydrological Processes, 27, 2171–2186. https://doi.org/10.1002/hyp.9740
Access
regionsLevel 4 sub-basins per HydroSHEDS region (change lev04 for other levels)
One archive per HydroSHEDS region that meets the box.
curl -fsSL "https://hydrological.org/api/v1/datasets/hydrobasins/links.txt?bbox=-75,-20,-50,5" \
| xargs -n 1 curl -fLO
import requests
urls = requests.get("https://hydrological.org/api/v1/datasets/hydrobasins/links.txt?bbox=-75,-20,-50,5").text.split()
for url in urls:
name = url.rsplit("/", 1)[-1]
with requests.get(url, stream=True) as r, open(name, "wb") as f:
for chunk in r.iter_content(1 << 20):
f.write(chunk)
const res = await fetch("https://hydrological.org/api/v1/datasets/hydrobasins/links?bbox=-75,-20,-50,5");
const { groups } = await res.json();
for (const g of groups) g.links.forEach(l => console.log(l.url));
Also available as JSON: links · manifest · dataset record