Falsches Routing durch Baustellenstraße / Semmering

Diese Baustrasse darf öffentlich nicht befahren werden und aus meiner Sicht ist das auch richtig in OSM eingetragen. Dennoch nutzt Kurviger diese Straße.

Warum?

Ich denke das ‘motor_vehicle=permit’ sollte hier gelöscht werden, oder besser geändert werden in ‘private’
@Hobbyfahrer willst du das anpassen?
Die Notes sollten dann ebenfals geschlossen werden.

Es wäre gut wenn Kurviger da etwas zu sagt, bevor etwas geändert wird. Warum routet Kurviger überhaupt über einen Weg der access:no hat?

Wie wär es mit Lieferverkehr frei?

( access=no )
vehicle=delivery
traffic_sign=DE:250,1026-35

Da müsste an sich eine Warnung in Kurviger kommen?
Oder raus, die Baustellenfahrer werden schon wissen, wo sie rein müssen. Seltsamerweise habe ich kein tagging für Baustellenfahrzeuge (analog zu foresty, agricultural) gefunden.

Ich habe Google gefragt:
“ist es in OSM zulässig access=no und vehicle=yes gleichzeitig zu taggen. was bedeutet das für das Routing”

Die Antwort:

Ja, die Kombination von access=no und vehicle=yes ist in OpenStreetMap (OSM) zulässig und korrekt, wenn ein Weg für den allgemeinen Zugang gesperrt, aber für Fahrzeuge (Fahrräder, Autos etc.) als Ausnahme freigegeben ist. [1, 2]

Hier sind die Details dazu und was sie für das Routing bedeuten:

  1. Das Prinzip der Hierarchie

In OSM gilt eine strenge Vererbung und Hierarchie für Zugangs-Tags: [1, 2, 3]

  • access=* ist die allgemeinste Regel. Wenn dort no steht, gilt das Verbot zunächst für alle.
  • Spezifischere Tags (wie vehicle=* für alle Fahrzeuge oder motor_vehicle=* für Kraftfahrzeuge) überschreiben das allgemeinere Tag. [1, 2, 3]
  1. Was bedeutet das Tagging?
  • access=no: Der Weg ist für den allgemeinen Publikumsverkehr (z. B. Fußgänger) offiziell nicht zugänglich oder verboten (z. B. Privatstraße, Militärgelände).
  • vehicle=yes: Dieser spezifische Unterbereich ist für jeglichen Fahrverkehr (Fahrräder, Autos) ausdrücklich erlaubt. [1, 2, 3, 4]

Das Tag-Paar drückt also aus: “Hier darf niemand zu Fuß oder auf andere Weise drauf, es sei denn, er nutzt ein Fahrzeug.” [1]

  1. Konsequenzen für das Routing

Moderne Routing-Engines (wie GraphHopper, OSRM, Valhalla oder BRouter) werten diese Hierarchie aus: [1]

  • Fahrrad- und Auto-Routing: Der Weg ist für diese Fahrzeuge passierbar (da vehicle=yes das access=no überschreibt).
  • Fußgänger-Routing: Der Weg wird für Fußgänger gesperrt, da das access=no für sie greift und durch kein foot=yes aufgehoben wird. [1, 2, 3, 4, 5]

Damit ist immer noch nicht klar, was dort stehen muss, damit Kurviger dort nicht drüber routet.

Es wäre sehr hilfreich, wenn das jemand aus dem Kurviger-Team beantworten würde.

  1. Das spezifische motor_vehicle=permit überschreibt das allgemeine access=no
  2. ‘permit’ verbietet das Routing nicht, also routet Kurviger korrekt durch diese Straße.
  3. Wenn die Durchfahrt verboten sein soll, dann darf da nicht ‘permit’ stehen.

Ergo
‘permit’ ist falsch

Ich habe mir das nun auch angesehen und nachgelesen und

access=no
motor_vehicle=permit

ist in dem Fall nicht falsch sondern richtig aber Kurviger wertet aus meiner Sicht motor_vehicle=permit falsch aus.

Ich denke nicht. Laut dem oben verlinkten Wiki meint permit, dass ein Zugang aus irgendeinem Grund eine Erlaubnis benötigt, die aber als gegeben angenommen werden kann. Also permit für Routing ist mehr als wachsweich.

Hier z.B. Parkplatz. Der Parkplatz ist Privateigentum und normalerweise brauchst Du dafür eine Erlaubnis. Da der Parkplatz allgemein und nicht z.B. nur für Kunden zugänglich ist, kann die Erlaubnis als gegeben angenommen werden und Zugang ist erlaubt.


Oder das hier: Motorfahrzeuge nur erlaubt, wenn Waldbewirtschftung. Das tag access ist nicht notwendig, es ziehen Default-Werte z.B. foot=yes).

Im Prinzig fehlt eine Fahrzeugart für Baustellenfahrzeuge entsprechend forestry, dann wäre die Welt wieder rund. Und wie ich oben sagte, in Baustellen fährt ohnehin niemand, ausser mit “Berechtigung”. Daher am besten wie @linux-user meinte access=private wie Deine Hofeinfahrt. Einige dürfen - explizit von Dir erlaubt; aber bestimmt nicht leicht zu bekommen, also nicht permit sondern private. Ganz abgeshen davon, dass dort ein Schild stehen müsste.

@Toffel und @linux-user haben das aus meiner Sicht schon korrekt beantwortet, da gibt es aus meiner Sicht nicht mehr viel hinzuzüfügen :slight_smile:

Spezifischere Tags überschreiben allgemeinere Tags.

Ich persönlich bin ja kein Fan von dem permit Tag. Sollten wir eventuell als potenzielle Sperrung markieren? Blockieren wäre wohl eher falsch.

Jede Änderung in OSM hat ja nicht nur Auswirkungen auf Kurviger sondern eventuell auch auf Navigationsgeräte für Baustellenfahrzeuge. Deswegen frage ich auch so genau nach.

Fußgänger und Fahrzeugverkehr verboten.

Google Maps fährt richtig.
Kurviger fährt richtig, nur nicht wenn kleinste Straßen bis Stärke 2 aktiviert ist.

Kurviger mit „kleinste Straßen bis Stärke 2“ wird der Freifahrschein sein. :joy:

Das macht ja noch weniger Sinn, wenn Kurviger es mal erlaubt und mal nicht.

access=no heißt nicht, für alles und jeden gesperrt sondern nur die Öffentlichkeit. Und die Baustellenfahrer haben das im Griff. Wenn da permit steht, dann darf man durch.
Wie @linux-user meinte, das motor_vehicle raus und gut.

Wenn da noch gar keine Strasse ist und die erst gebaut wird? Die wären ganz schön lost.:sweat_smile:

Die Straße gibt es doch.

Ich meinte, dass Baustellenfahrzeuge m.E. sich nicht nach OSM richten. Da wo die großen Baustellen sind wird die Erde aufgerissen, Ausweichstellen gebaut und neue Strassen angelegt. Autobahn-Erweiterungen Spuren, Neubaugebiete. Wenn die fertig sind, dass kommen die Mapper.

Ich habe das hier nur aus dem GS-Forum übernommen.

Wer meint es richtige taggen zu können könnte es bitte machen oder es ist halt Pech wenn wenn man betroffen ist und Schilder lesen schadet auch nicht.

So würde ich das taggen.

Ja, potenzielle Sperrung wäre gut.
Blockieren wäre blöd, weil es mit ‘permit’ auch Straßen geben könnte, bei denen die Erlaubnis leicht zu bekommen ist. z.B. Nationalparks, oder was weiß ich.

Habe die Datensätze in OSM nun geändert.