Graphhopper / access

Hi,
wieso beachtet Graphhopper im Auto-Modus kein motor_vehicle=agricultural;forestry?

Das Tag ist immerhin 9000 mal in der DB.

https://www.openstreetmap.org/directions?engine=graphhopper_car&route=51.9503%2C7.3718%3B51.9605%2C7.3657#map=15/51.9545/7.3797
(Das mittlere Teilstück, Baumberg)

Warum das als unclassified und nicht als track gemappt ist soll hier nicht diskutiert werden.

Weil er den Wert “agricultural;forestry” nicht kennt. Er wird somit als motor_vehicle=yes interpretiert.

Dass Graphhopper unbekannte Wert als “yes” einstuft, ist zwar meiner Meinung etwas irre, aber nicht ganz neu. Siehe https://forum.openstreetmap.org/viewtopic.php?pid=693073#p693073

Auszug aus Tagwatch zu “unbekannten” Werten bei motor_vehicle=

military
mining
unkown
agriculture
restricted
prohibited
unsuitable

=> Da routet Graphhopper vermutlich drüber :frowning:

Das ist aber vielleicht eine Ursache, das eine unclassified default mit https://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access-Restrictions#Germany access=yes ist. Dann sollten zwar weitere ausgewertet werden, aber wer rechnet auf einer “Autobahn” mit motor_vehicle=agricultura - auf track dann schon eher.

Was soll ein Router denn machen, wenn er auf ein unbekanntes Tag stößt? Eine Strecke auf Verdacht zu sperren ist auf jeden Fall schädlicher als ein unbekanntes Tag zu ignorieren (was übrigens auch jeder Renderer mit unbekannten Tags tut :slight_smile:

Falls eines dieser Tags sehr häufig verwendet wird, könnte man über eine Erweiterung nachdenken - allerdings sollte man vorher auch darüber nachdenken es im Wiki zu dokumentieren.

Aber Tags wie “unknown” oder Tippfehler wie “agriculture” sollten definitiv am besten ignoriert werden.

Ich finde es besser, wenn der Router bei unbekannten Accesswerten die Strecke sperrt und den Fahrer nicht dort langroutet. Brouter oder die Freizeitkarte machen das bereits vorbildlich und wenn sich ein Fahrer wundert, warum er über einen bestimmten Weg nicht geroutet wurde, kann er es melden, wie z.B. hier https://forum.openstreetmap.org/viewtopic.php?pid=736969#p736969 geschehen.

Die Routerentwickler können dann die Sache analysieren und bei Bedarf den Router anpassen. Das ist bedeutend besser für den Fahrer, als wenn er unerlaubt im Steinbruch landet und dann im Nachhinein dem Fahrer zu erklären, der Router kannte halt den Accesswert nicht.

… oder auch die Karte. Das war/ist ein Teil meiner Bemühungen mit dem “suspect-scan”, zumindest im Fern- und Landstrassennetz diese Dinger zu finden ( http://brouter.de:443/brouter/suspects )

Und zu Beginn habe ich da tatsächlich einiges an “unbekannten” access Tags bereinigt, von access=“green_sticker_germany”, “yes|no|yes”, “Kraftverkehr”, “unknown” war wirkllich alles dabei, oder z.B. access=military nodes auf der A73 bei Bamberg.

Diese Sachen sind jetzt wirklich weg (und kommen auch kaum nach) und das ist die Vorraussetzung, dass der pessimistische Ansatz funktioniert. Vielleicht kommt der optimistische Ansatz in Graphhopper noch aus der Zeit, wo noch zuviel Steine im Weg lagen?

BRouter nutzt aber auch nur fü Auto-Routing den pessimistischen Ansatz, für’s Faahrrad-Routing arbeitet der auch optimistisch.

Ups, ja natürlich, da hast du recht
a) Bei falschen Access-Tags: Korrektur in den Kartendaten
b) Bei Access-Tags, die der Router noch nicht kannte, aber kennen sollte: Korrektur im Router