Cognised existence: Surface freshwater bodies are the visible hydrological features of the landscape — rivers, streams, lakes, ponds, reservoirs, and canals. They are both ecological habitats and infrastructure.

Question: What surface freshwater bodies exist at a location and how do they flow?

OSM wiki: https://wiki.openstreetmap.org/wiki/Key:waterway | https://wiki.openstreetmap.org/wiki/Tag:natural%3Dwater


Realisations

OpenStreetMap — waterway=*, natural=water

OSM covers rivers, streams, lakes, and canals globally. Linear waterways are tagged on ways; standing water bodies on closed ways or relations.

osmnx access

import osmnx as ox
ox.settings.cache_folder = ".cache/"
 
# Rivers and streams (linear)
waterways = ox.features_from_place(
    "Copenhagen, Denmark",
    tags={"waterway": ["river", "stream", "canal", "drain"]}
)
 
# Lakes and ponds (polygon)
water_bodies = ox.features_from_place(
    "Copenhagen, Denmark",
    tags={"natural": "water"}
)

Geofabrik layers

LayerContent
gis_osm_waterways_free_1.shpRivers, streams, canals — LineString
gis_osm_water_a_free_1.shpLakes, ponds, reservoirs — Polygon

Key OSM tags

TagMeaning
waterway=riverRiver
waterway=streamStream
waterway=canalCanal
waterway=drainDrainage channel
natural=waterWater body (lake, pond, reservoir)
water=lakeLake (sub-tag of natural=water)
water=reservoirReservoir
water=pondPond
name=*Name of the water body

Natural Earth — Lakes and Rivers

Natural Earth includes ne_10m_lakes, ne_10m_rivers_lake_centerlines, and related ocean basin polygon variants at three scales. Best used for continental or global overview contexts.

Python load

import geopandas as gpd
 
lakes = gpd.read_file("ne_10m_lakes.shp")
rivers = gpd.read_file("ne_10m_rivers_lake_centerlines.shp")
 
# Optional: filter to major rivers only
major_rivers = rivers[rivers["scalerank"] <= 4]

Key attributes

FieldMeaning
featureclaFeature class (Lake, River)
nameFeature name
scalerankProminence rank (lower = larger/more important)
min_zoomSuggested minimum display zoom

Geometry Representations

Rep IDSource DatasetGeometry TypeNative CRSSuitable ForNot Suitable For
freshwater_osm_linesOSM via GeofabrikLineStringEPSG:4326Network tracing, flow direction, river mappingCatchment area calculation
freshwater_osm_polygonsOSM via GeofabrikPolygonEPSG:4326Surface area, shoreline mappingFlow routing, upstream/downstream analysis
freshwater_ne_10m_lakesNatural Earth 10m lakesPolygonEPSG:4326Global lake context, continental overviewSmall or sub-regional lake detail
freshwater_ne_10m_riversNatural Earth 10m rivers and lake centerlinesLineStringEPSG:4326Global/continental river context, atlas mappingTributary-level hydrological analysis

Important: For catchment / drainage basin analysis, a DEM-derived hydrological network (e.g. Copernicus DEM + SAGA/WhiteboxTools) is more reliable than OSM waterways.


Limitations

  • Small streams are under-mapped in many regions.
  • Flow direction is implied by way direction but not always correct.
  • For hydrological modelling, supplement with DEM-derived data.