From OpenStreetMap Wiki
Jump to: navigation, search
Available languages — Tag:waterway=riverbank
Public-images-osm logo.svg waterway = riverbank
For tagging wide rivers which need to be defined by an area rather than just shown as a linear way.
Used on these elements
should not be used on nodesshould not be used on waysmay be used on areasshould not be used on relations
Status: In use

This describes the tagging scheme for large rivers, or sections of a river which are wide enough to "require" mapping of distinct areas of water/river banks. Example: River Thames as it flows through Central London.

For small rivers it is not necessary to draw an area for the riverbank, but it might still be interesting, especially if it is irregular.

How to map

illustration of the several involved ways in river mapping

The area of the river should be marked by a closed way (which represents an area in this case here) drawn along the riverbanks, and closed at each end (last node on the way is also the first on that way). In practice, as wide rivers tend to be long, the river will be drawn as a series of adjacent areas (ways 1 & 3 in image above).

These water areas should be tagged as either of waterway=riverbank OR natural=water + water=river.

The use waterway=riverbank is an alternative to natural=water + water=river and the former remains in widespread use and is still preferred by some mappers.

In addition (and like it is done for smaller rivers) a way tagged as waterway=river (way 4 in image above), must be drawn in the direction of the river flow (i.e. from source to sea). Ideally this should be placed along the thalweg or the deepest points of the riverbed. The exact location of this can be difficult to determine, as usual it is acceptable to try your best to approximately place it along the right path. Make sure that these ways are topologically correct like the highway=* tags.

Do not:

  • tag objects with both variants (waterway=riverbank+natural=water)
  • tag parent relations with natural=water
  • convert from waterway=riverbank to natural=water tagging scheme (or vice verso) without a good reason because doing so can be very tricky and trigger errors which are not easily visible and not reported by QA tools. For example, it must be assured that the use of natural=riverbank/natural=water is consistent in parent and child relations.


A multipolygon relation should be defined and the island and the main river bank included in the relation. The main riverbank way (way 1 in image above) will have the role 'outer' and the way for the island (way 2 in image above) will have the role 'inner'.

Unification of the island case and normal case with a multipolygon relation

Another way to tag those large rivers using multipolygon relations would be to create only one relation for the whole river. This avoids the need to create arbitrary cuts along the river. However, longer rivers mapped with that approach cause problems for some data users. As multipolygons for the entire river offer no tangible advantages, but place an unnecessary burden on data consumers, they should not be used. Use multiple small multipolygons instead. (See discussion)


Tags used are :

New tagging: type=multipolygon + natural=water + water=river + name=* + ...
  • Members ways 1 to 6 have role outer and way 7 has role inner
  • The individual ways shouldn't have tags, unless they are some separate feature on their own. Like barrier=retaining_wall if the banks are walled, or natural=wetland if the island is a wetland.
  • Direction of ways does not matter

River junctions

River crossing.svg

Way 1 and 2 should always get the tag waterway=river with additional tags as name=*. Also ensure they are connected. This could be important for boat routing or other river connection analysis.

For the river banks there are several possible approaches.

  • Simple tagging on ways - Rivers like this can be mapped with simple closed ways Area where 3,4 and 5 would all be the same way, with an additional section closing the loop at the top somewhere, and the tag waterway=riverbank or natural=water+water=river. Likewise 6,4,7,8 and some additional closing segments would be mapped as a single closed way. The section at 4 would be sharing the same nodes in both ways.
  • Multipolygon relations - Rather than closed ways you can use Relation:multipolygons Relation, containing the ways 4 and 6 to 8 for the horizontal river, and 3 to 5 for the vertical river. Multipolygons are more complex but have some advantages. They can be bigger, and they can exclude island areas ("inner"). The tags would be: type=multipolygon + waterway=riverbank

The above two approaches have an inaccuracy, because the way between the two rivers in a junction (number 4) is not a riverbank, so it ideally should not be tagged as one either.

Varying water level river

Many rivers vary strongly in water levels over time making it difficult to decide where exactly the boundary between water and land should be drawn. There is no definitive agreement on what water level should be taken as reference but there are a few guidelines that can help:

  • In case of rivers with tidal variation of the water level the high tide level should be mapped like in case of natural=coastline.
  • In case of rivers with strongly varying water levels but without a marked flooding period it is usually better to map the high rather than the low water level.
  • In the very common case of rivers subject to seasonal flooding with much higher water levels for a relatively short period for example during monsoon season or snow melt and low and relatively constant water levels for the rest of the year it is best not to map the water extent during flooding. A useful rule of thumb would be to map the median of the maximum water levels of all months of the year. For those areas water covered during floods there are some ideas for tagging like Proposed features/floodplain and Key:flood_prone.
  • Rivers with a fairly constant water level for most of the year often have a clearly visible (though sometimes frequently changing) river bed indicating the normal extent of the river even during the dry season when the actual water levels are much lower.
  • In case of intermittent rivers it makes sense to map the water extent at times the river is not dry and add intermittent=yes. Care should be taken in regions were water is diverted from the river for irrigation and other purposes since the river often does no more fill the river bed even during the wet season in such cases.

In general these rules can be followed more closely if we have better data (ideally someone living locally observing the river's position). When sketching from imagery, it is acceptable to just do our best based on what we can see (e.g., assume visible sandbanks get washed over as pictured below) Note that you should always be careful to avoid overriding valuable on-the-ground mapping with information sketched from imagery.

River islands and sandbanks

It is fairly common practice not to map non-permanent and quickly changing islands (sandbanks) in rivers. Vegetation cover on river islands can sometimes be used as an indicator for their permanency although it can also be misleading - there are many examples of vegetation free river islands that are stable for many years. When mapping from aerial or satellite imagery comparing images from different years can be very helpful.

Make river landsat.png


Restrictions go on the central way tagged with waterway=river.

Riverbank mapping hint

This describes how to use the "create parallel way" tool in Potlatch 2 to create a riverbank from a river. This method works best when mapping a section of river that has a consistent width and each side of the riverbank is nearly identical in shape.

  • Create a waterway=river down the middle of the river
  • Select a section of the river that has a consistent width
  • Select the parallel tool or type "p"
  • Adjust the new parallel way's distance from the original way so the new way is half the width of the river (zooming in helps)
  • Create a parallel way on the opposite side of the original river
  • Label both new ways identically as waterway=riverbank
  • Connect the ends of each new riverbank to create a closed loop
  • Use the "merge ways" tool to merge these into a single way representing the riverbank area.

See also