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

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.


But those are reservoirs along a river and would easily fit the exceptions to the rule.

I asking about this:

This seems like the right question to me, and I’m not sure there’s been a good answer yet.

I see three types of “stationary” (i.e. non-river) water bodies in this discussion:

  • Reservoirs
  • Lakes
  • Oceans

A reservoir results from the damming up of a river–in a sense it IS the river, just with impeded flow. Continuing the river flow line through a reservoir is logical.

A lake exists separately from any waterways flowing into or out of it. They start or end at the edge of the lake. There is a general flow through the lake but I don’t think there’s a strong case for connecting all the waterways that flow in and out.

Also note that some lakes have multiple exits, which I’ve just learned is called a “bifurcation lake.” The complexity of figuring out how to correctly connect all the inflows and outflows in this situation is another argument against mapping them in the first place.

Oceans are the last case since they have inflows but no outflows. So far everyone seems to agree that mapping rivers into oceans doesn’t make sense, except to cover the tidal situation.


I would say: It depends.
The Lake of Constance (Bodensee), which has already been mentioned earlier, is Germany’s largest inland waterbody and was largely formed by erosion in the Jurassic period. The river Rhine was deepened by pushing off the Rhine glacier, which finally formed a lake. Historically, the Rhine River existed first, and Lake Constance then formed around the river. (Very basic explanation)
It would be wrong, at least from my point of view, to interrupt the river and all connections at this point.

My personal argument for connecting rivers and streams through lakes and reservoirs is that 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.


I was going to say that too, but… but then I thought: you could draw that logic out to lakes being impeded rivers too. And… the ocean is all the rivers that have reached infinite obstruction :wink: So I removed it from my argumentation :sunglasses:

Trying to build a set of exact variables will be very hard. Likely there will always be grey areas, and cases that do not fit any rule, but I think as a mapper it should be possible to determine whether it is a transition from a river to a lake or, let’s say “an impeded or swollen river”.

But the river is interrupted… by the lake! :slight_smile: It may have been a river in the past, but now it is a typical lake. Now it is two rivers with a lake in between.

I think of it more like this:

Although this is not something I recommend. It's just illustrative to my point.

A similar example: The biggest lake in Sweden has a major river flowing into it (Klarälven), the water passes through the lake and enters the next river (Göta Älv). The situation is mostly the same (except Lake Väner was instead part of the ocean in the past), it’s just that people either assign the same, or two different names, to two separate rivers that are part of the same drainage system.

But that will happen anyway because the lake has an inflow and an outflow (or many). This means that the lake itself has a direction of flow, although it is usually unseen (and unmapped). It’s up to computation to determine the ultimate location of the boat - not the mapper.

I’ve added a paper-, and a plastic boat to my amazing map. They enter on one inflow each. They will ultimately both end up somewhere in Rotterdam, probably after bobbing around Lake Constance for a few decades.

Drawing a line through the lake would just be an attempt to predetermine the exact path the two boats will take for either routing- or analysis purposes.

@amapanda_ᚐᚋᚐᚅᚇᚐ As a test: could you render the basins using natural=water as part of the drainage basins? Norway has almost no connected basins in the current rendering. What would it look like if lakes were included. The water should be quite well linked so in theory, it should go from 0 to 100 if lakes were included.