Ich tagge shoulder schon seit jahren relativ systematisch. Auf allem was track/service ist macht das keinen Sinn, bei allem darüber sehrwohl. Es gibt auch gut ausgebaute unclassifieds mit Standstreifen. Dazu kommt das die Maschine die darauf ja eine entscheidung treffen muss sowas wie “na meistens ist das eher nicht da” nicht im Entscheidungsbaum hat. Also lieber explizit taggen als irgendwelchen heuristiken überlassen die nur in 30% der Zeit richtig liegen.
Deine Beispiele waren jetzt auch alles höher klassige Straßen bei denen das unbedingt dazu gehört. Shoulder ist wie width, lanes, surface, lit, sidewalk, cycleway auch ein attribut der Straße das überall da sein sollte.
Und da muss ich auch vademecum ganz deutlich wiedersprechen. Es gibt keine bzw sehr wenige und eindeutige defaults bei OSM. Denn ein lit=no ist wie ein lit=yes wichtig. Denn nur so stellst du einen eindeutigen Zustand her und kannst auch zwischen “nicht erfasst” und “nicht vorhanden” unterscheiden.
Und das Datenbank aufblähen ist eher unproblematisch. Im pbf export ist es dank protobuf als duplicate string wegdedupliziert also irrelevantes Argument. (Und nebenbei wird diese “das ist alles unnötig” Diskussion seit dem ich bei OSM bin, was schon sehr lange ist, immer wieder geführt und jedesmal dieselben Argumente und jedesmal ist das Resultat dasselbe. Wir machen auch ein explizites “no” dran)
Und ich tagge auch bei unclassifieds
lit=no
shoulder=no
cycleway:both=no
sidewalk=no
lanes=1
surface=asphalt
Unvollständiges tagging ist nebenbei eines der größten Probleme im routing. Alles was tertiary und besser ist hat Super tagging, die Straßen die davon abzweigen nicht. Aber es knallt einer ein maxspeed=100 drauf. Zack wird die unclassified besser. Kann man dann z.b. mit lanes=1 z.b. heilen.
Deshalb bin ich ein Freund von möglichst vollständigem und flächendeckendem attributieren von Straßen.
Flo