Should river lines be mapped through lakes, estuaries, gulfs, and other large water bodies?

There is a great map that simulates this in the Oceans using NASA data: earth :: a global map of wind, weather, and ocean conditions

1 Like

Although the National Hydrography Dataset (NHD) is limited to the United States, it certainly is worth a look to see how geographers at the USGS handle this issue. I took a look at the NHD layers on the USGS National Map viewer and here are some screenshots:

Lake Superior:

Chesapeake Bay:

San Francisco Bay:

It looks like Artificial Paths are drawn through water bodies up to a certain size, but very large lakes like the Great Lakes do not get Artificial Paths through them. Likewise large bays like San Francisco Bay and Chesapeake Bay (both of which are also estuaries) don’t get Artificial Paths through them. I have not looked around for smaller bays or inlets to see if sometimes Artificial Paths are present outside of where the OSM coastline would be.

Of course OSM should not necessarily follow exactly what the NHD does, nor should the NHD be held up as a model of perfection. However, it is still useful to consider the choices made in this dataset and why they were made.

6 Likes

It would also be wrong (also from my point of view) to point at Lake Constance and say, “That’s the Rhine River!” :slightly_smiling_face:

But in practice, I agree with you that it depends. There may be situations (and Lake Constance may be one) where it makes sense to continue the river through the lake. In the general case, though, I don’t see what value it adds.

Yes, if I drop my paper boat in Lake Nipigon it will eventually Paddle-to-the-Sea its way to the Atlantic, but that journey can be stitched together using the lakes themselves, without needing additional ways added.

1 Like

The government of Canada is also publishing the National Hydro Network - NHN ( JOSM wms https://maps.geogratis.gc.ca/wms/hydro_network_fr?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.1.1&SERVICE=WMS&REQUEST=GetMap&LAYERS=nhn:nhn&STYLES=&SRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox} ) where the linear water flow goes through lakes and rivers this including the Saint-Lawrence river up to the end of the estuary. The image below shows Lac Saint-Pierre and the beginning of the estuary.

The NHN also covers the Great Lakes where the river line is traced closed to the border of the lakes on the Canadian side.

2 Likes

Does the NHN data also have an attribute/feature type equivalent to “artificial path”?

But for what purpose does NHN etc. add these virtual waterways? Maybe they’ve made the same mistake as OSM :wink:

Maybe they have a very specific use-case for it that is not relevant for OSM.

I feel like there should be a proverb that fits in here.

1 Like

I cannot find such info in the documentation in the NHN. Looking for Québec, I cannot either find the info in the GRHQ, the original source for this province.

As imported through CanVec it does, but I don’t know if that was derived by intersecting features or is something in the upstream data itself.

NHD and other U.S. federal government datasets such as TIGER and ARNOLD are used for not only cartography but also network analysis, statistical analysis, and other purposes. These use cases aren’t entirely out of scope for OSM, as @amapanda_ᚐᚋᚐᚅᚇᚐ’s river basin map demonstrates.

NHD’s standards describe artificial paths as being useful for hydrologic modeling (i.e., where will my message in a bottle end up):

An Artificial Path is an abstraction to facilitate hydrologic modeling through open waterbodies.
[…]
Artificial paths shall be placed in all polygons except isolated reservoirs, isolated lake/ponds, and isolated basins (reservoirs, lake/ponds, and basins not connected to the stream network). Artificial paths shall represent the shortest path from the inflow to the outflow without crossing through banks or islands.

The draft standards for NHD’s original 1999 edition (pages 2-8–2-9) specifies some limits:

The limit of ARTIFICIAL PATH is:

  • the connection between the inflow and outflow points of an in-line open water body;
  • the line through a head or terminal open water body that connects to the inflow or ouflow point;
  • shorelines for the Atlantic Ocean, Pacific Ocean, Gulf of Mexico, and the Great Lakes

NHD conforms to the Geographic Information Framework Data Content Standard, which also calls for artificial paths:

This part of the standard supports a continuous linear representation of the surface water
network, although it permits the management and exchange of non-networked features. The
network is composed of features that are represented as line strings whose connectivity
relationship is known. The logical network is composed of linear representations of hydrography
features and centerlines (artificially derived flow paths) within area representations such as
reservoirs, rivers, and lakes. A “flows-through” relationship exists between centerlines and the
area feature representations through which they flow. The geometric representation of features
supported by this part of the standard includes point, line, and area representations only
(GM_Point, GM_Curve, GM_Surface).

Network analysis is obviously a motivation here, but artificial paths are also used in cartography. For example, here’s The National Map, a map produced for a general audience by the federal government, overlaid with NHDPlus High Resolution artificial paths and their names, zoomed in on a reservoir in Ohio. The basemap’s labels are clearly based on artificial paths, even if the paths themselves are invisible:

If we compare these artificial paths to old topographic maps, notice how the artificial path doesn’t strictly follow the reservoir’s centerline, but neither does it follow the historical path of the river, which remains as a channel that meanders back and forth along the lakebed. I don’t know exactly what process the USGS used to derive the path from the lake’s geometry, but it is pleasant to look at. As it happens, the topo map also labels the lake along the artificial path, more or less, ignoring the river channel:

I have previously argued that any waterway we draw through a reservoir should ideally hew to the river channel where known. This is perhaps not as convenient for labeling as a hand-drawn artificial path, but it’s consistent with how waterway=river should ideally hew to the thalweg of a river. But even if we decide to keep it simple like the mapmakers above did, it would still be consistent with the guidelines for mapping natural=valley ways without fussing over every meander.

Regardless, to the extent that artificial paths through waterbodies intentionally hew to a “centerline” rather than the thalweg, I would support some kind of tagging to clarify the intent. waterway=artificial seems like a reasonable tag for an artificial path. It’s documented as deprecated out of an assumption that it was just another mistake from the NHD imports, but if the community agrees that the concept has merit, we can simply relegitimize its thousands of occurrences across the country. Alternatively, artificial_path=yes, used mainly in the UK, would enable us to keep the river/stream/canal distinction in waterway for backwards compatibility.

3 Likes

I live somewhere with lots of lakes, and next to a fairly large river.

For rivers themselves, standard practice is a waterway=river way down the middle of the river, with a natural=water water=river area for the water area. Generally this doesn’t have a name on the area, but at least around here there’s a lot of CanVec stuff where the tagging needs cleanup. Historically it was waterway=riverbank, but we separate this from other water types less than before. I’m not going to attempt to define “middle of the river”, since in practice we seem to have no difficulty finding something appropriate.

Wider bodies of water often form on rivers. When they’re wide enough, we call them lakes. Sometimes they look like lakes, but we don’t call them that and consider it a different object. I think we should have have a waterway=river way through these.
image

Sometimes we don’t map a line in the lake. I think we should.

I don’t think we should have centerlines on the Great Lakes or Stave Lake. We also have ponds that we don’t map centerlines on.

These views have some contradictions, as it’s difficult to draw a line between rivers on the one end and bodies of water like ponds and the Great Lakes on the other.

3 Likes

if I throw a small paper boat in at any spring in the Rhine catchment area, that paper boat (or microplastic) will sooner or later end up in the North Sea.

no, it could also remain trapped in the Obersee, sink to the ground and integrate with the sediment.

Thank you for the National Hydro Network links. I took a look using JOSM and see that this dataset has a very detailed network of water lines through larger water bodies. Here are some sections from the widest part of the Saint Lawrence Estuary. These images each represent an area of approximately 84km x 52km.

In Lake Huron and the other Great Lakes, these water lines stay near the shore. In the also quite large Lake Winnipeg they go straight through the middle.

1 Like

The UK national map service, Ordnance Survey (OS), also makes available a main Rivers / Waterways map.

Similar to the mentioned “National Hydra Network” data, the OS data shows waterways continuing through inland open water bodies. The data also has the waterway as flowing through tidal sections, it appears up to “low tide” points. Data available does not include minor waterways (ditches, leats, etc).
All waterways are ‘tagged’ as either InlandRiver, Lake, TidalRiver, or Canal. (Canal are man made waterways for boats).

An example of waterway continuing beyond the high tide point.

Below is a link to the data using the arcgis website. OS Rivers is placed above OSM main map.

https://arcg.is/1a9Di80

I believe that waterways should be tagged through large open water bodies. For example it provides data on flow & catchment areas. I’ve always felt that when a waterway goes through a lake it should not be tagged as river/stream, but something different.

I also think, looking at the OS Data, that it would reasonable to map a waterway to the low tide, but the tidal section must also be tagged. This is already available through the tidal tag.

2 Likes

The OS Open Rivers dataset is clearly intended for standalone use, and therefore continuity of rivers within watersheds is necessary: this is fairly typical of classic GIS layers. OSM is not a set of thematic layers but a totally integrated dataset. We should not expect mappers to have to perform actions, such as adding artificial paths which are appropriate for a single thematic derived dataset. Of course they can choose to do so, and if that is the case, such ways should be easily found through explicit tagging.

It is very unlikely that paths through all waterbodies will be mapped and therefore for a comprehensive approach it will likely always be necessary to process data on the basis that they are not. Note that the conventions of individual national datasets seem to be at variance with each other, or even lack internal consistency too.

OTOH it means we must identify ways to suitably portray this information downstream from OSM. There are various approaches. Here I illustrate a very simple one: using DBScan clustering to identify watersheds. I merged lines from waterway=stream, waterway=river and the exterior rings of all natural=water. Then using ST_ClusterDBScan I identified clusters based on lines touching each other & with a minimum cluster size of 1 (isolated ponds etc).

The first image shows a single cluster (in blue) including Windermere. Note the oddities, that it also includes other watersheds, notably that of the Derwent (Derwent Water, Bassenthwaite etc) and the River Crake (Coniston etc). These are correct, there are oddities in the data I used (tidal rivers & a stream flowing into two watersheds). The Russland watershed is not connected because the outflow is connected to coastline not the tidal river.

The second image shows larger clusters in the same area (more than 200 OSM ways).

These are produced by very simple SQL queries (assuming OSGB geometry) with minimal change to the OSM data. No doubt they can be improved, but so can the data.

WITH as wways (SELECT osm_id, 'line' geom_type, waterway, name, way
from planet_osm_line
where waterway in ('stream','river')
UNION ALL
SELECT osm_id 'poly', "natural", name, st_exteriorring(way)
from planet_osm_polygon
where "natural"='water') 
SELECT ST_ClusterDBScan(way,0.1,1) over() as cluster_id, *
from wways
3 Likes

Canada has some interesting examples of rivers through valleys that at some places become wide enough to be called lakes. Example: Way: ‪Columbia River‬ (‪543211217‬) | OpenStreetMap
These lakes are usually not very wide and they have a clear flow direction, so I think linear waterways through them are totally valid. The same thing goes for many estuaries.

I probably wouldn’t map linear waterways in gulfs outside the coastline or through wide, open lakes like the IJsselmeer.

Worse things have been done to the waterway network. :wink:

1 Like

That was my motivation to start programming around this. I wanted to be able to answer that question myself.

6 Likes

You’ve succeeded here, with flowing colors, through all the weirs, dams, reservoirs the River Vomano went from 274 to 326km, the plastic bathtub duck experiment ongoing (there was a real one on Greenland IIRC), from the Gran Sasso ridge to the Adriatic, anywhere on the east side of the ridge, which so happens to be the admin border line between 2 provinces too

And still not finished finding and mapping out all the little tributary streams.

1 Like

The idiom actually reads “flying colors”. I’m not sure if you typed that accidentally or purposefully, but it was very appropriate in this context. :slight_smile:

1 Like

A waterway=river through a lake (to connect) is logical enough to me. A waterway=stream through the lake is more correct than incorrect, but seems a little fishy. But what should we do with waterway=canal or ditch which flow into a lake? Usually I tag the lake part as a river. Maybe we need some other tagging scheme.

There’s precedent. We already have waterway=fairway for “a navigable route in a body of water such as a lake or sea”. These features aren’t “visible as waterways on the ground”, but are mapped. There are many waterway values which map things that aren’t the ways of flowing water (e.g. waterway=dam).

2 Likes