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

If we map a stream/river relation, does leaving out the lake sections not cause validators to act up with ‘you’ve got a gap’. If only consumers would be able to interpret the omnidirectional areas as part of the route we’d be done.

At any rate, as it is now got a reservoir that before it became one had 3 torrents converging in it and now the map show depending on the zoom all these names in the reservoir on top of the reservoir name. Fortunately the streams themselves don’t render in the standard issue else it would look a little perverted. It certainly would break in the present config Amanda’s river basin project showing the total tributary distances of watersheds like the sample below. Most of the 212km feeding the Tavo would be gone. Not ready for that yet.


1 Like

note that “should not be done for Great Lakes” does not mean that it should not be done and should not be required in general and “document that it isn’t required” should not imply this

“lakes smaller than Great Lakes” covers A LOT :slight_smile:

1 Like

I don’t think we necessarily need a solid rule here - we just need to make sure that people don’t rely on (or massively over-map) these “virtual waterways”. But a good rule of thumb might be:

If the same named river flows in and out of a lake, then it should continue through the lake (and other inflows should join it). Otherwise the inflows should terminate at the edge of the lake, or at the lowest water line if the level is variable.

1 Like looks like counterexample to me (river joins another river, does not exit reservoir - similar would apply if that would be natural lake)

I think this works - my rule says this should be joined together. Maybe I didn’t explain clearly enough - because a river flows through that reservoir, it should be joined up. If the lake is the source of its outflow, then anything which flows into it should not be joined up.

(I’m sure there are lakes which have multiple outflows but that’s an uncommon edge case.)

1 Like

I previously floated the idea of mapping a channel through certain linear gulfs:

However, I didn’t consider the implication of also extending every inflow to meet this channel. I could see that being problematic, in that the majority of a very short stream could lie within the gulf, causing an unsophisticated renderer to place its label misleadingly inside the gulf.

As others have indicated, there’s a difference between a linear representation of an elongated body of water (which some renderers can generate automatically) and a waterway channel that happens to be submerged beneath the body of water (i.e., a dammed river through a reservoir). In the latter case, the thalweg is valuable additional information that renderers can use. The geometry is nonarbitrary and not quite the same thing as a waterway=fairway.


my european-waterway-router example takes care of waterway=fairway:

To avoid the weird render label issue, you can always make a separate waterway= way without the name that is the connector way.

I’ve been continuing major named waterways (and cleaning up their relations) through water bodies but having the named portion of smaller side streams stop at the larger water= boundary. As many have noted, the lake/reservoir is there because of the river way. Alternatively, there’s still a river, it’s just covered by a lake!

1 Like

there’s still a river, it’s just covered by a lake!


1 Like

I think there’s agreement that there should be a waterway continuing through the lake at least in some circumstances. In my opinion there’s still a waterway but it’s not a river. So just like a river can switch to a waterway=stream for a bit (or vice versa), I think it should switch to a waterway=lake for these segments.


In the case of a reservoir, some American topo maps depict the river’s original course at the bottom of the lakebed and label it as the river. If this is unwanted, a renderer could layer the reservoir over the waterway or perform a spatial query to knock it out. Perhaps the possibility of a spatial query means we don’t need a new tag for the submerged portion of the river?

Like many others, I’m broadly in favour of mapping rivers through waterbodies, if it “seems like they flow through it”.

Things like the Bristol Channel, or St. Lawrence Estuary are coastlines, not lakes, so I wouldn’t put a river through them.
I don’t know about the local geography, but do people think Lake Victoria, or the Great Lakes are “lakes that are on rivers” or “lakes that are just there”? For some larger lakes, it makes sense to map through the lake, such as the lakes along the river Shannon in Ireland, or probably the Zambezi through Lake Kariba. (I will admit to having connected a few rivers throught that one).

We already map linear waterways through a natural=water (when people map the river area). So it sorta makes sense then for a river to go through a lake.

A waterway=river turning into a =canal is very common.

Ahhh! :weary: I don’t like when people map a river (waterway=river) through a lake, but without the name. e.g. the Rhine through Lake Constance. It was discussed on the forum #1, #2, #23. If you map waterway=river then you’re saying there is a river there. OK, so does this river have a name? Yes, it’s the Rhine. So why not put a name tag there? It sounds like just mapping for the renderer

[quote=“Minh Nguyễn, post:27, topic:104438”]
a renderer could layer the reservoir over the waterway or perform a spatial query to knock it out. Perhaps the possibility of a spatial query means we don’t need a new tag for the submerged portion of the river?[/quote]

I have no strong opinion on waterway=river or =lake for the way through a lake. I don’t think you’ll ever get OSM carto to change. :rofl:

I’m currently working on repairing the river basins map update process. Maybe I can add something that looks at natural=water.

The Great Lakes are connected by a series of natural rivers and artificial canals. (Two of the lakes are connected by a strait and sometimes considered to be a single lake.) Since each connecting river has a distinct name, we wouldn’t be able to name any “river” way going through one of these lakes. The overall system of navigation through these lakes is known as the Great Lakes Waterway, but that’s more like a route or maybe a waterway=fairway than a river.

Thats a usable definition. Flows through, or flows into.

If the river creates a continuous flow in a lake, then it makes sense to have something that is seen as a lake also have a river centerline. But a large body of water does not have this through-flow. It just has inputs and outputs.

Considering the above definitions: Let’s assume this is the large lake-case. There is a river that flows into the lake, and one out of the lake. If you take the name out of consideration, you could easily consider these two separate rivers. For varying reasons, these rivers are either given one name each - or the same name.

But it does not mean there is a river inside the lake. Any centerlines through lakes, and networks of rivers (for example. Lake Ladoga) are virtual connections that are not made for the purpose of mapping whats on the ground, but mapping for the .

If a long NAMED river passes a lake, then the river enters the lake in one location, and exits in another. The body of water that constitutes the lake is PART OF the RIVER SYSTEM (basin), but it is not THE RIVER.

Thats what I think anyway :sun_with_face:


I was reading about the lake Constance and it seems the river might actually somehow be flowing through the lakes as the river water doesn’t completely blend with the water of the lake, at least this is what WP hinted at in one article. On the other hand, looking at the names is somehow revealing.

For non-German speakers, for the following paragraph you only have to know that “See” in German means lake. Now to the names: there is the “Alpenrhein”, which commonly is seen ending at its inflow in the lake (Obersee), then there is the “Seerhein”, which is actually just the 4km of connection between the Obersee and Untersee, and leaving the lake, there is the Hochrhein, but between the Alpenrhein and the Seerhein there is the “Obersee” for about 30-40km and no indication of any river in the name, while between the Hochrhein and the Seerhein in the Untersee, part of it is called the “Rheinsee”, what a nice mix of river and lake, although the classification indicates “lake”.

While there clearly is continuity in the river names (all Rhein), the parts in the bigger lake are just named as lake, because this is what you perceive.

I am not opposing the idea to have continuity between inflows and outflows, but these should not be tagged as waterway=river or at least have an additional tag like river=lake (oxymoron?) where there isn’t any river (flow). I could imagine this continuity requirement already be satisfied by connecting the inflows and outflows to the lake outline, but I would also be ok with explicit connections if they are deemed advantegous.


To identify water basins, I suggest : Waterway River lines should be mapped through lakes, estuaries and other large water bodies. Not in gulfs and oceans. As it has been told already, Rendering problems should not be fixed by removing waterways. Renders can take care how to render Lakes.

The Saint-Lawrence waterbody was given many times as an example. Note that the Great lakes and all the waterways that flow into the Saint-Lawrence are part of this basin, this until the end of the estuary. The waterway=fairway in the Great Lakes can be considered a derivative of the waterway=river with exception that it is located in the navigable way.

Note that estuaries (this is where tides are observed) are part of the rivers. If we would eliminate the estuary, the Saint-Lawrence waterbody would stop between Montréal and Québec in Lac Saint-Pierre. The gulfs and oceans start at the end of the estuary and yes should be ignored.

The coastline is an artificial definition to help manage oceans in OSM. The Great lakes and all the Saint-Lawrence used to be part of the coastline and later removed because the coastline was constantly broken and this made the lakes disappear ! Lets not adapt the waterbodies definition to coastlines.

Worth noting that the NHD has a specific attribute, something like 55800 Artificial Path (see table in wiki page), which is used for maintaining the continuity of waterways within reservoirs and lakes. It may be useful to mark such waterways in a similar way on OSM


I agree with this. In places where the low tide mark is a significant distance from the high tide mark, and the natural=coastline is at the high tide mark, then mapping river lines to the low tide mark seems reasonable to me. In places where the difference is not so large, ending river lines at the natural=coastline instead seems fine too.

I can see the logic here, but if waterway lines are to extend (significantly) past the coastline to the ends of large estuaries, then why not also extend them into narrow gulfs and bays? The Saint Lawrence Estuary appears to be around 120km wide at it’s widest point, and the Rio de la Plata gets up to 220km wide. There are many bays and small gulfs narrower that this.

The Encyclopedia Brittanica claims about the Rio de La Plata:

While some geographers regard it as a gulf or as a marginal sea of the Atlantic, and others consider it to be a river, it is usually held to be the estuary of the Paraná and Uruguay rivers

So there isn’t even consensus that it is an estuary. The position of the natural=coastline in OSM may be somewhat artificial, but at least we have some level of consensus about it. It seems to me that ending waterways at or near the already agreed upon location of this coastline would be much simpler than than developing new guidelines about which situations it either is or is not acceptable for a waterway line to extend hundreds of kilometers past the coastline.

1 Like

Actually, this would mean that the lakes would not be made a part of the basin when calculating it - because the waterway takes its place; but if it IS made part of it anyway, in addition to the waterway, then why would you need the waterway drawn through it?

What is the actual purpose of having waterways through lakes?

  • Calculate basins? (could be done by including the lakes)
  • The same river on both sides of a lake? (could be done with relations)
  • Boat routing? (boats can go anywhere on the lake, not just the river-centerline, job for router engines)
  • It’s pretty? (:thinking:)
  • Link tributaries? (either they flow into a lake, or into a river)
1 Like

Sometimes it’s just to reflect a popular understanding of where a river is located. In Austin, Texas, the Colorado River (not the one that forms the Grand Canyon) flows through Lake Austin and Lady Bird Lake, two reservoirs so linear that no one considers the river to end and resume at the Austin City Limits (not the concert series). Any mid- or low-zoom level rendering of this metropolitan area ought to depict a continuous Colorado River. A chatbot ought to tell you that Austin sits on the Colorado River, and only then mention these lakes as additional detail.