Opened 7 weeks ago

Last modified 5 weeks ago

#23601 new enhancement

Warn about incorrectly connected highway with man_made=bridge or man_made=tunnel and different layer values

Reported by: skyper Owned by: team
Priority: normal Milestone:
Component: Core validator Version:
Keywords: layer connected highway man_made bridge tunnel Cc:


Copied from 9304#comment:21:

In the German forum a different (but real world) case regarding man_made=bridge was mentioned:

Copied from 9304#comment:26:

Well, highways should only start or end at the node sharing with the man_made=bridge and the highway on the bridge (inside the area) should have the same layer value.

Same is true for man_made=tunnel.

So we have two cases:

  • A highway sharing a middle node with a man_made bridge or tunnel seems to be an error in most (all) cases.
  • A highway sharing a start or end node with man_made bridge or tunnel and inside the area of the man_made needs the identical layer=* and a bridge=* resp. tunnel=* (not value no)

Attachments (1)

GWB.osm.bz2 (215.9 KB ) - added by GerdP 7 weeks ago.
George Washington bridge and surroundings

Download all attachments as: .zip

Change History (6)

comment:1 by GerdP, 7 weeks ago

As a start I'll collect test cases so that we agree about what should be flagged.

comment:2 by GerdP, 7 weeks ago

Owner: changed from team to GerdP
Status: newassigned

by GerdP, 7 weeks ago

Attachment: GWB.osm.bz2 added

George Washington bridge and surroundings

comment:3 by GerdP, 7 weeks ago

Looking at the George Washington Bridge I see a lot of highways inside the area but with different layer. I see four layers from -1 to 2. According to the wiki about man_made=bridge " the key layer=* should now contain the lowest number of all the features on the bridge", so according to this those highways should have layers from 1 to 4 or maybe fever different levels.
The big question is: How can we compute that a feature is on the bridge and not below or maybe even above on a different higher bridge?

What about those ways completely inside the man_made=bridge area which are not connected to it like
The test has to find out if this way can be below the bridge or not.
See e.g. this cycleway:
It is not connected to the man_made=bridge but to a way inside which is still on layer 0:
Only when I follow that way to way 46593991 I can be rather sure that the previous ways are on the bridge.

Another point not mentioned in the ticket: What about missing connections? If we can detects (parts of) ways to be on the bridge we could also flag ways like as it is not connected to the man_made=bridge way (and not split at that connection point).

If we implement this test I wonder what the warning messages could be. I don't like the idea that someone starts to change all kinds of layer tags or possibly corrupts routing where maybe only the man_made=bridge object is wrong.

comment:4 by GerdP, 6 weeks ago

Owner: changed from GerdP to team
Status: assignednew

I thought about this for a while and I have no idea how to implement a test for this with less than maybe 100 lines and in my eyes that's for sure too much complex code for a minor problem like this. Complex bridges like the George Washington Bridge or Köhlbrandbrücke in Hamburg are connected to many objects and I've no clue how to maintain white lists here.
I'd rather close this a wontfix.

comment:5 by skyper, 5 weeks ago

Ok, lets step back and have a look at some simple and obvious cases. Maybe some could be even written in MapCSS.

  • a high-, rail-, waterway way which crosses completely or crosses at one side and has start/end node sharing with an area man_made=bridge or man_made=tunnel:
    • with one node in common
      • should share non or two nodes
    • with more than one node in common and different layer=* (including one without the key)
      • either both objects should have the identical value or they should not share nodes
  • a high-, rail-, waterway way which shares both start and end node with an area man_made=bridge or man_made=tunnel (and is inside the area) should have the identical layer value.

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to skyper.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.