Hydrography90m
High-resolution global hydrographic dataset. 90 m stream network with stream segments as vectors.
A stream network extracted from MERIT Hydro with a minimum upstream area of 0.05 km², so it holds far more headwater streams than most global networks. Stream segments come as GeoPackage lines in 20° × 20° tiles, with stream order, slope, distance and sub-catchment rasters alongside.
- Source
- Leibniz Institute of Freshwater Ecology and Inland Fisheries
- Resolution
- 90 m (3 arc-second)
- Data type
- Lines and raster
- Time span
- Static (2022)
- Temporal
- Static
- Access type
- Direct download (external)
- Formats
- GeoPackage (segments), GeoTIFF (rasters)
- Coverage
- Global land (60°S – 85°N) (-180, -60, 180, 85)
- Licence
- See provider terms
- Provider page
- hydrography.org/hydrography90m/hydrography90m_layers
Cite as. Amatulli, G., et al. (2022). Hydrography90m: a new high-resolution global hydrographic dataset. Earth System Science Data, 14, 4525–4550. https://doi.org/10.5194/essd-14-4525-2022
Access
tilesStream segments, 20° × 20° GeoPackage tiles
20° × 20° tiles named by their south-west corner. Only tiles that exist are listed.
linkLayer list and download scripts
https://hydrography.org/hydrography90m/hydrography90m_layers
curl -fsSL "https://hydrological.org/api/v1/datasets/hydrography90m/links.txt?bbox=-75,-20,-50,5" \
| xargs -n 1 curl -fLO
import requests
urls = requests.get("https://hydrological.org/api/v1/datasets/hydrography90m/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/hydrography90m/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