JOSM Relations and Turn Based Restrictions

From OpenStreetMap Wiki
Jump to navigation Jump to search

Turn based restrictions (such as "no left turn at this intersection") can be input into the database using a relation as documented here. This page shows how to add such a relation using JOSM.

In the most simple case, a turn based restriction consists of three members and is assigned two tags:

  • the tag type=restriction flags the relation as turn restriction
  • the tag restriction=no_left_turn,no_right_turn,... indicates the type of turn restriction
  • there is one member with role from referring to an oSM way
  • there is one member with role to referring to an oSM way
  • there is one member with role via referring to the node where the way from and the way to meet

Using the turnrestrictions plugin

The turnrestrictions plugin provides a custom editor for entering and editing turn restrictions in JOSM. Below is a sample screenshot of the basic editor panel on which basic components of a turn restriction can be edited:

  • you can select the type of turn restriction from a drop-down list
  • you can drag-and-drop or copy/paste a way onto the input field From:
  • you can drag-dan-drop or copy/paste a way onto the input field To:

Additional required tags and the via-node are maintained automatically in the background. If necessary, you can edit them in the Advanced panel.

More information:

The Basis editor panel provided by the turnrestrictions plugin


Using JOSM relation editor

Alternatively, you can use JOSMs generic relation editor to create or edit a turn based restriction.

  • note: There exists a preset for turn-restriction (because of a bug the dialog only opens without any selction, so far).
Screenshot of the generic JOSM relation editor, currently editing a turn based restriction


Assigning the correct tags

Make sure that the required tags type=restriction and restriction=* are assigned. Here's an example screenshot:

Tags assigned to a relation representing a turn based restriction


In addition to these required tags you can add optional tags, i.e.

  • source=* to indicate the source of information
  • name=* to give the turn based restriction a name
  • etc.

Including the correct members

Make sure the member table in the generic relation editor include the following members:

  • a member with role from referring to an OSM way
  • a member with role to referring to an OSM way
  • a member with role via referring to an OSM node
    The via-node should be the node where from and to are connected.
    Sometimes, but not often, the via member must be an OSM way. In those cases the turn from the from way to to way would depend on how the from way was reached. Currently known software can't handle such cases, so, when possible, it's better model the restrictions with a via node.


In contrast to the editor in the turnrestrictions plugin, the generic relation editor doesn't check the data you enter. You have to carefully check yourself that the turn based restriction consists of the expected relation members.

Required members of a turn based restriction, entered in JOSMs generic relation editor