a-b-street / osm2lanes

A common library and set of test cases for transforming OSM tags to lane specifications
https://a-b-street.github.io/osm2lanes/
Apache License 2.0
34 stars 2 forks source link

Lane surface (and smoothness) #80

Open tordans opened 2 years ago

tordans commented 2 years ago

Reading https://github.com/a-b-street/osm2lanes/issues/79, I was wondering what a similar ticket would look like for an easier tagging topic (than width), like surface (and very similarly smoothness).


Goal

Each lane should have a fallback or direct(ly taggeg) surface tag. Including separator-"lanes".

Links

Lanes

What tags to consider…?

Sidewalk

  1. sidewalk:<Side|None>:surface 11,300 Left https://taginfo.openstreetmap.org/keys/sidewalk%3Aleft%3Asurface 14,800 Right https://taginfo.openstreetmap.org/keys/sidewalk%3Aright%3Asurface 6,400 https://taginfo.openstreetmap.org/keys/sidewalk%3Asurface
  2. Local default
    • paving_stones in Germany, I would say

Parking

  1. parking:lane:<Side>:surface 124 Left https://taginfo.openstreetmap.org/keys/parking%3Alane%3Aleft%3Asurface 149 Right https://taginfo.openstreetmap.org/keys/parking%3Alane%3Aright%3Asurface 0 https://taginfo.openstreetmap.org/keys/parking%3Alane%3Asurface
  2. Fallback highway=*.surface

Cycleway Lane

  1. cycleway:<Side|none>:surface 3,300 Left (all cycleway types) https://taginfo.openstreetmap.org/keys/cycleway%3Aleft%3Asurface 7,300 Right (all cycleway types) https://taginfo.openstreetmap.org/keys/cycleway%3Aright%3Asurface 48,200 (all cycleway types) https://taginfo.openstreetmap.org/keys/cycleway%3Asurface
  2. Fallback highway=*.surface

Cycleway Track

This has different fallbacks IMO, that is why I list it separately. Only PBL could fall back to the highway-surface IMO, but those are not mapped explicitly via one tag, so we have no way of identifying them.

  1. cycleway:<Side|none>:surface
  2. Local default
    • paving_stones in Germany, I would say – at least for the existing, old infrastructure we have now. In Berlin the mobility law defines asphalt for new cycleways AFAIK.

Cycleway separately mapped

The combination highway=cycleway + surface=* has 750,000 objects https://taginfo.openstreetmap.org/tags/highway=cycleway#combinations.

Highway lanes

  1. highway=.surface
  2. Local default depending on the highway-type
    • For example track > ground
    • most other asphalt in Germany

For a local analysis, I used this mapping to provide fallback values for missing data: https://github.com/FixMyBerlin/osm-scripts/blob/main/ZESPlus/Highways-SurfaceData/utils/assumedSmoothnessBasedOnHighway.ts#L3-L24. However, this is part of a script that adds smoothness values to all highways using multiple layer of fallbacks, so that is what it is optimized for.

todo: buffers

To complete this list, I should look at the types of buffer and other lanes, that osm2lanes creates …


I will update this based on feedback and what comes to mind later.