WaterwayMap.org is not ʲᵘˢᵗ a map

WaterwayMap.org is not ʲᵘˢᵗ a map

WaterwayMap.org is, also, now, a database! Check it out here: https://waterwaymap.org/river/.

It’s a web directory & interface of all the rivers & streams of the world, from 100% OpenStreetMap data, updated daily. I connect all the waterway ways with the same name, and make one page for every “river”. (Although OSM has a “river relation”, those aren’t used at all). As well as some standard properties of the river (e.g. length), it also shows which rivers it flows into (or where it flows “into the sea”), and what rivers flow into it (it’s tributaries), and rudimentary support for total upstream flow numbers.

Start Navigating

The first page lists the big rivers that don’t flow into anything else. There’s also an alphabetical list of all rivers. Find your favourite river and go up- or downstream! :rowing_woman::rowing_woman:

I hope that this will be useful to OSMers as a QA tool, and useful outside OSM, and also just plain interesting. :sweat_smile:

Mapping Mistakes

Showing OSM data like this, can show tagging & connectivity mistakes. e.g.: Here’s a river, Verioja, which appears to have many small breaks in its name (click on the “load distributaries” to see the unnamed gaps).

Personally, I think we should not have the word “River” in a name, it is up to local communities to decide that. But surely there’s something mis-mapped when the River Wye flows into the Wye which flows into the River Wye. :wink:

We all know OSM is a database. WWM now shows our data, but not as a graphical map image, but how we humans understand it. We don’t think in OSM ways, but “this bunch of things is a river, and it flows into that river”.

OSM data can flow elsewhere

I hope this website could be useful outside OpenStreetMap. Information about rivers & waterways, but presented in a way that’s more legible than previously. Maybe people writing Wikipedia articles can use WWM (and thus OpenStreetMap) as a source for lengths of rivers? OSM can be the global database of all geodata. If we present our data, then people can use it. What type of information should I collect & show on WWM? If you want to help boost this OpenStreetMap-based tool, please link to it from your website, so others can easily find it.

FOSSGIS

I will be at FOSSGIS 2025 Conference in a few weeks. Feel free to chat.
I’ll be speaking about WaterwayMap.org at at 9am @ Fr. 28.03., incl, this feature.

Warning: Bugs Submerged Rocks

This is still beta quality, with lots of hacks and not-yet implemented features. Maybe when you read the post in 5 years time these’ll all be fixed

  • Multilingual names are not handled at all. This means rivers which change name are not connected up together. e.g. the Rhine is split. Please don’t “misttag for the WaterwayMap”, and don’t rename the river to match it up (though I presume experienced OSMers know this :wink:).
  • Graphically pretty bare and dull. The text & copy needs improvements.
  • Which river it assigns the “total upstream” is buggy.
  • I need something better than an alphabetical list of all rivers in the world, :sweat_smile::sweat_smile:. I’d like to use OSM admin boundaries.
  • Like the rest of WWM, OSM waterway relations are completely ignored. However, they’re probably the solution to “river name changes”, so watch this space. :thinking:.
  • Map & html style is pretty basic
  • “Load this in JOSM” uses Overpass. If it breaks on special characters (due to multiple levels of encoding), please let me know.

Staying Connected

On the Fediverse/Mastodon, you can get latest news about WaterwayMap.org, or follow me (@amapanda@en.osm.town) there.

29 Likes

Are all named waterway=river supposed to be in Index of names of Rivers ?

How often is the database updated?

Daily, as per first post. :slightly_smiling_face:

Oops, I missed that, but it does not seem to be accurate, as I made changes 5 days ago that do not show in the database.

1 Like

Multilingual names are not handled at all. This means rivers which change name are not connected up together. e.g. the Rhine is split.

This is close to fatal.
Have you any ideas for fixing it ?

I cannot find either the Amazon or the Nile in either the “longest 500” or the index.

The 5 longest rivers in List of river systems by length - Wikipedia all have compound names, presumably because the “name” tributary is not always the longest. This means that a name as shown on a map is never going to be a satisfactory key into a river database.

I’ve never seen the Mississippi–Missouri marked on a map, but it comes up often in discussions of long rivers. If I were to be picky the Missouri is marked flows into Mississippi River so should not appear in the “Top 500 rivers that flow into the sea”.

1 Like

Saint Lawrence / Saint-Laurent - Great Lakes network is an other example with the serie of Great Lakes followed by the river. Wikipedia talks about the identification of the source and reports it as 3,058 km long, while WaterwayMap reports the section Fleuve Saint-Laurent of 1,137 km long.

I tried looking at the Congo, and found an unnamed tributary. Investigating further, I came ut with this changeset.

I suppose one of the benefits of WaterwayMap.org is making it easier to find such things.
It will of course require human interpretation and knowledge to decide whether to make such canges to the map data. I am not totally sure on my own changeset. As far as I have gotten to know OSM data features are always mapped in a logical representation. E.g. a freeway will be mapped by two “roads”, one in each direction, and each of the two having tags expressing number of lanes and purposes of these lanes. Thus OSM is not an attempt of making an areial image of the world, but a database with mappable features in it, describing purposes and physical properties.

This is a rather wordy explanation to justify that a part of the OSM path for the river Lomami is crossing part of the real world expanse of the Congo (River) in order for it to to be logically connected to the OSM path for the Congo (River).

However, in the case of my changeset, the name property of this specific path may have been left intentionally blank. The path is part of a waterway relation for the river Lomami, and the OSM Carto rendering of the area is not happy with my changeset. Note the misplaced name “Lomami” in the middle of the Congo.

I am thus greatly inclined to revert my changeset.

Perhaps finding a method for WaterwayMap.org to automatically handle such unnamed paths where the tributary waterway “tapers into” a large main stem would be beneficial? In the case of my changeset there already exists in OSM a River Area multipolygon that covers the physical expanse of the Congo, and the previously unnamed tributary is exactly encompassed by this multipolygon. I suppose other main stems would be similarly mapped, at least for major rivers.

If I remember correctly from Geograpy, the issue with Mississippi-Missouri is that the length of a river is determined by its naming in a rather specific way. If a river joins another river at some point along the river’s expanse, the compound length does not count. This is the case of Missouri-Mississippi. If a river simply changes its name, as with Lulaba-Congo, the compound length counts towards the total rating of the length of the river. Expressing such things in the OSM database is beyond my aptitude.

I’m pretty sure there’s very official reasons for rivers name change here and there in the world that is beyond OSM means to gracefully solve, like disputed territories.
The ground truth rule may not help WWM.

Yeah, I think I’ll have to use river relations:


They don’t speak English where the Nile is. so it’s in as النيل, but also split into many different rivers, due to different name tags.

It looks like the Amazon is made up of ways without a name, but name:XX. e.g. the river relation has members like this without a name. Hmm, that seems wrong to me?

Perhaps river relations will solve that. But maybe we should highlight that the Amazon river segments don’t have a name tag?

4 Likes

Yeah, it’s not 100% obvious which is correct. Are you mistagging for WaterwayMap (by including name), or would leaving the name off be mistagging for osm carto?

This sounds like the “should rivers go through lakes” discussion.

I think so - it looks like several of these had name removed when adding name:kn, which seems more likely to be a mistake than anything intentional.

First of all – this is neat! Thanks for making it!

It looks like the Name Index is very incomplete, though – if it is supposed to show all the named rivers that empty into the sea, it is missing, for example, the Charles River in MA, USA.
(edit: Ah, the index is split – the Charles River is listed on Index Cha → Chastlerbach . More explanation of that would be good.)

Also, one copyedit: “Here is a directory of all rivers & waterways in the world, take from OpenStreetMap.” on WaterwayMap Rivers → “take” should be “taken”

2 Likes

Another option would be merging the “tapering” end of Lomami to the rest of the river path. But then you carry over the “boat=no” tag, which I am quite unsure of.

Really, my business of doing micromapping remotely (I live in Norway, which is quite far from the Congo) is limited. Perhaps it is better to leave this kind of detail to someone who is actually on the ground in the area.

I have now reverted the changeset. Given I do not have personal knowledge of the area and have not performed a survey, this seemed the right thing to do. It also gave me the opportunity to try out the osm-revert tool and see how it shows up in the edit history of the waterway path.

This is a reminder for me to keep edits atomic, that is try and edit as few features as possible in one upload. That will make it easier to revert the changeset if needed.

I tempted the Demo Gods, and they smacked me down. :laughing::laughing: As soon as I posted this I made some code changes which broke the data updates. I’ve fixed it, and should be working now. :slightly_smiling_face:

5 Likes

This is very cool.

I looked at my nearby rivers and was a little surprised to see Otra, Norway not being recognised as a continuous river by WaterwayMap. Any guesses to why?

The tagging seems to support it, modulo the lakes, which still do seem to work fine for other rivers.

nwr["waterway"="river"]["name"="Otra"];

I think I realised it’s about the lakes after all. If the lakes don’t have a flow line, the river isn’t continuous.

3 Likes

There was this waterway=flowline discussion to map connections thru waterbodies. Used the tag a few times and in fact it’s proliferated past 15K uses. Guesstimating this is a tag considered by @amapanda_ᚐᚋᚐᚅᚇᚐ

1 Like