NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

In an area I am mapping there is a large river. It has been mapped as a series of multi-polygon riverbanks - each for part of the river's course. The river is untagged apart form that. Ideally should I:

  1. Add a 'river' way(s) that marks the centre line
  2. Create a relation for the river

Should the relation contain all the ways (riverbank and river)? Should just the relation be given a name tag or all the ways (river and riverbank)?

asked 13 May '13, 11:11

RobChafer's gravatar image

accept rate: 0%

A river usually consists of a way with the waterway key (or multiple ways for longer rivers) and optionally an area with the waterway=riverbank tag (or multiple areas for longer rivers). The way usually runs through the center or, if known, along the deepest points of the river and is always required. The riverbanks are only optional.

For longer rivers the ways are often grouped in a relation (example: Likewise the riverbanks can be grouped in a relation, too, but this is usually not the case.

tl;dr: Yes, add the center way and create a relation consisting of all your center river ways if you feel familiar enough with relations.

permanent link

answered 13 May '13, 13:07

scai's gravatar image

scai ♦
accept rate: 23%

edited 13 May '13, 13:40

SomeoneElse's gravatar image

SomeoneElse ♦


A couple more examples - here is the relation for the Danube, and here is one for the Douro / Duero (though that, for some reason, has two relations for it). None of these example relations have riverbank polygons as part of the "river" relation.

(13 May '13, 13:43) SomeoneElse ♦

I found a relation of riverbanks but this seems to be rather uncommon.

(13 May '13, 13:54) scai ♦

Thanks @scai - would the riverbank normally be named?

(13 May '13, 14:19) RobChafer

@RobChafer Thats a good question. Some have a name and some don't have one. taginfo shows that around 12% of the riverbanks have a name tag which is not very much compared to 71% of the rivers.

(13 May '13, 15:01) scai ♦

If I may add a suggestion: this should be illustrated in a diagram and posted to the wiki.

(14 May '13, 09:43) Russkel

@Russkel What exactly? The wiki already has pages about rivers and riverbanks. And of course everybody is welcome to improve them, including you :).

(14 May '13, 09:51) scai ♦

@scai sorry, nevermind, I reread your answer and it's not nearly as complicated as I thought it was (I imagined some multi-way river system with relations, for some reason). It's been a long day.

(14 May '13, 09:56) Russkel
showing 5 of 7 show 2 more comments

Normally, bigger rivers are tagged with a waterway=river for the main stream(s) where the water flows and waterway=riverbank for the whole extension of the waters the rivers contain.
(For such questions it is mostly a good idea to search for several big, already mapped objects of the same kind and use their mapping as example)

For my part, I do map rivers and riverbanks with name=*, national names and source= all the same except the waterway tag.

As the (now) top voted answer sais: rivers are often mapped with relations.

IMO this has "historic" reasons since in earlier times this was the only way to handle bigger rivers in one go.

But now the times and the tools have changed.
There is the Overpass API to query for anything you can describe, there is WIWOSM, there is a watershed map which just uses connections and directions of waterways so IMO there is no need to use relations on complete rivers anymore - I don't use them. Of course you still need multipolygon relations for riverbanks encircling islands.

permanent link

answered 13 May '13, 21:01

malenki's gravatar image

accept rate: 6%

edited 13 May '13, 21:06


That's correct, the grouping aspect of the relation is no longer necessary. But it seems easier to put all the additional tags like name:<lang>, wikipedia etc. to a single relation instead of keeping all individual ways up to date and consistent with each other. Also tags like length seem to belong to the relation and not to a single element because that might be misleading.

(14 May '13, 06:28) scai ♦

I consider length= as superfluous since this can be derived from the object(s) themselves.
What do you do if length= doesn't match the objects length? Though a relation maybe can be updated more easily - but it also breaks more easily.

(18 May '13, 14:10) malenki

The length can only be derived from the object if it has been completely mapped.

(19 May '13, 17:09) scai ♦

Where else would you get the length from?
Recently I mapped a river which Wikipedia told is 233km long. I traced it to about 257km before I had to stop due to the poor imagery...

(20 May '13, 00:23) malenki

I guess there is always something you could call an "official length" and a "real length". And the length in the OSM database, of course.

(20 May '13, 08:57) scai ♦

Hi RobChafer did you read this page of the wiki ? If you’re working in Potlach (2), there’s a limit of 2000 nodes, so dont make ways bigger than that. Or your work cannot be saved.

permanent link

answered 13 May '13, 11:48

Hendrikklaas's gravatar image

accept rate: 5%

Ok, so that means I should to add a river way. What about the relation bit?

(13 May '13, 12:11) RobChafer

To be clear:

1) The 2000-node limit is an API restriction, not an editor restriction.

2) It's spelt "Potlatch".

(13 May '13, 12:37) SomeoneElse ♦

What do you mean with the relation bit? The mainstream is the centre. The riverbanks are a separate part or relation of the system. And can be added to the system later but not necessary. IMHO it looks better if a water system becomes visible on display, although it almost as if it’s tagging for the renderer.

(13 May '13, 12:57) Hendrikklaas

I meant should the riverbanks be added to the relation for the river as a whole.

(13 May '13, 17:04) RobChafer

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 13 May '13, 11:11

question was seen: 4,853 times

last updated: 20 May '13, 08:57

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum