Fixing "destination" tagging of ways

Hi,

It appears that many ways have been tagged with “destination=*” although they are not oneway streets. This means that it is not clear if the destination is reached by following the way forward or backward.

Using overpass I found almost 3000 instances of this worldwide. Definitely more than I can fix on my own! The following overpass query finds such bugs in your area (zoom to your area first):

[out:json][timeout:25];
way["destination"]["highway"][!"oneway"][!"junction"][!"waterway"]({{bbox}});
out geom;

I’ve excluded “junction” ways (to ignore roundabouts) and “waterway” ways (because their destination tag, if any, is not an issue).

Some ideas for fixing tagging mistakes:

  • If the way is connected to a oneway way with the same destination, coming from a junction, then you can probably delete the “destination” tag from the non-oneway street. The oneway way already provides all relevant destination information for drivers crossing the junction.
  • Otherwise check where the way goes. Typically, “destination” can be replaced either with “destination:backward” or “destination:forward”.
  • If “destination:ref” exists, it typically should be changed to “destination:ref:forward” or “destination:ref:backward”. Other subtags might have to be changed, too: “destination:colour”, “destination:symbol” etc.
  • “destination=yes” might be corrected to “motor_vehicle=destination”, “vehicle=destination” or similar. (“access=destination” is unlikely to be appropriate, see Tag:access=destination - OpenStreetMap Wiki .)

Please let me know if you find strange examples that need to be treated differently.

1 Like

There are a few (just 39 worldwide) man_made = gantry that are tagged with a destination=*. According to the wiki this is correct tagging.

The overpass line to find these was way["destination"]["man_made"="gantry"];.

[edit:] Your overpass query misses the opening bracket [out:json]....

Thanks, I suppose that any man-made objects are not so relevant and the search can focus on highways. I’ll edit the overpass query in my original post.

The updated query excluses approximately 1000 nodes. A quick analysis of a subset of the excluded ways shows:

  • These are gantries. (ok)
  • These are public transport platforms. (ok)
  • Wrong tagging of “access=destination”.
  • Typo: “destination” should be “description” (many!)
  • Removed highways.
1 Like

One more observation: iD appears to ask users to enter a destination tag, but does not offer to set the forward or backward modifier. Maybe iD should highlight the error and prompt users to fix it appropriately.

1 Like

When using signs seen by Mapillary, clicking[1] on a sign opens a new, blank tab. Sidebar contents stay at previous state.


  1. using Firefox (156.0) on windows ↩︎

I would treat the Overpass result as a review queue rather than an automatic cleanup. A two-way way can still carry a destination if the sign applies to one approach, especially near a junction or a lane split, so I would check the sign and the way’s direction before removing anything. It may be clearer to split the way at the decision point and put the destination on the affected segment; if the value applies only in one direction, use the directional form consistently with the surrounding mapping. For large batches, I’d make small changesets with an explicit comment and sample the edited ways afterward so a valid local sign pattern is not erased worldwide.

1 Like

I agree with your observation. An automatic cleanup is unlikely to work. I have found many unique situations.

Here’s a permalink to the relevant overpass filter: overpass turbo

Please zoom to your area before running it.

The filter is not yet perfect. The following search results do not need to be fixed:

  • highway = platform