Hauszufahrten - Falsch zugeordnet / Routing

Nominatim gibt eine Fläche als Ergebnis (in dem Fall der uns interessiert), und da darf der Router eben nicht den Mittelpunkt nehmen sondern einen geeigneten Punkt, z.B. den Haupteingang oder Hauptzugang, bzw. könnte es auch erkennen dass es mehrere Eingänge gibt und nochmal nachfragen…

Ja, damit sollten sich die meisten Fälle erschlagen lassen, wenn man zusätzlich die Zugangswege (auch Fußwege) beim Routing berücksichtigt.

Also: Adressbuilding hat ein entrance=main Node (oder genau einen entrance=yes):
Diesen als Routingziel nehmen anstelle des Mittelpunkts.

Fußwege berücksichtigen hatten wir oben Diskutiert - Nein - hilft nicht.

Und Entrance hilft auch nicht wenn der näher an Straße B als an A ist.

Flo

Ich geh mal mit einer Steilen These Vorran: Du schreibst den Entscheidungsbaum als “Pseudocode” und ich suche dir 100 Beispiele die damit nicht funktionieren.

Du kannst mir glauben das ich das seit 8 Jahren oder so immer wieder durchdenke. Und vor 8 Jahren hab ich auch mit automatischen Auswertungen angefangen die dieserlei Probleme automatisch findet.

Und ein Thema was ich da identifiziert und in den letzten Jahren bei mir gefixed habe in der Ecke sind tracks als Hauszufahrten, mit der Gießkanne verteilte access tags und fehlende Hauszufahrten.

Und jetzt bleibt halt ein Bodensatz an Problemen die sich durch fälschen von OSM Daten nicht lösen lässt.

Flo

Und hier ein paar Beispiele aus meiner Auswertung die dann zu fixen wären durch den Automatismus.

Wer da selber suchen will - Es sind herrliche Beispiele dabei - Hier ein Link auf die Interaktive Karte - hier NRW - Dortmund Fußgängerzone.

https://osm.zz.de/dbview/?db=addresses-nrw&layer=routeable#51.51429,7.46469,18z

Hier nur ein paar Beispiele:

Fußgängerzone Köln:

Kaserne Augustdorf. Es würde sinn ergeben alle Adressen zur Pforte zu delegieren. Aktuell gehen die zu diversen Straßen denen Access tags fehlen oder eben auf die Panzerringstraße nach außen:

Müngstener Brücke - Ein teil der Adressen geht richtigerweise zum Parkplatz vor der Schranke. Eine Adresse geht auf das gegenüberliegende Wohngebiet:

Die Kapelle auf dem Friedhof Schildesche - Sollte auf den Parkplatz gehen, geht zur Schäferstraße die gar keinen Zugang zum Friedhof hat:

Und es gibt auch noch so absurde Dinge wie die nächstgelegene Straße ist ein Tunnel:

Oder der nächstgelegene Punkt ist auf der anderen seite der Bahnlinie:

Oder der nächstgelegene Punkt ist auf einer Autobahn Auf-/Abfahrt:

Das “Kfz”-Profil eines Routers müsste, so denke ich, dahingehend angepasst werden, dass highway=footway auch mit in die Routingentscheidungen einfließen, sofern solche Fußwege nur am Start bzw. Ende der gesamten Route auftreten. Das würde Fälle wie auch diesem helfen.

Wenn man dann noch Fußwege bis zur Haustürnode gemappt hat, ist auch der “final gap” (also Lücke zwischen letzter graphisch erreichbarer OSM-Node zur ultimativ gewünschten Ziel-GPS-Position) sehr gut minimiert, sodass es in vielen Fällen nichts ausmacht, wenn addr: auf dem Gebäudezentroid statt dem Fronteingang liegt.

Zumindest das letzte Beispiel sollte sich leicht beheben lassen: dem Grundstück mit immerhin 4 Hausnummern fehlt ein Zufahrtsweg.

Verstehe jetzt die Argumentation nicht ganz. Vielleicht ist das Beispiel nicht brauchbar.
Das auf das ich hinaus möchte, zeigt das Beispiel der Fußgängerzonen am Besten. Die Probleme gibt es in dem Fall nämlich nur per KFZ. Zu Fuß nämlich nicht! Vorausgesetzt der Router beherrscht Routing auf Flächen… :wink:
Per KFZ sollte einem vielleicht das nächstgelege Parkhaus geliefert werden, per Fahrrad der Fahrradständer in der Nähe, … und wer in eine Fußgängerzone liefern möchte muß die Bestimmungen beachten (Anlieferung z.B. Werktags nur zwischen 6 - 10 Uhr).

Es gibt eben nicht zwingend die eine Koordinate an denen einen der Router schicken soll.

Zumindestens bei den Standardfällen könnte man das durch eine Trennung von Adresse für die Darstellung und Anfahrtsadresse vollständig erschlagen. Die Anfahrtsadresse wird genau so positioniert, das mit dem Routing klappt.
Der Versuch das mit Relationen zu lösen ist für mich im Moment zu hoch gegriffen.

Deine Beispiel zeigen ja auch deutlich: Das Problem sind nicht die nicht vorhandenen Wege sondern die Beschränkungen der Benutzbarkeit. Im KFZ Modus kann halt nur der nächst gelegene Punkt anvisiert werden der per KFZ zu erreichen ist. Auch wenn das Mist ist.
Ergänzend zur Idee Anfahrtsadressen zu pflegen wäre noch ein Attribut notwendig, daß das Verkehrsmittel definiert. Auto hier, Fahrrad hier, Lieferanten hier, …

Genau, der Router müsste eigentlich noch sehen, wie man da weiter kommt, d.h. wenn Eingänge gemappt sind ggf. Fußweg zu diesen, etc… Es hilft einem nichts, wenn der Zielpunkt die am nächsten gelegene Straße ist, wenn dann ein Fluss ohne Brücke zwischen dem Routingziel und dem gewünschten Ziel liegt.

Das wird zwar meistens noch scheitern weil die Fußwege und privaten Zuwegungen nur sporadisch gemappt sind, aber auf lange Sicht ist das erfolgsversprechend.

Was Eingänge angeht, so reichen “main” und “yes” als Hierarchie nicht aus. Habe bemerkt dass man mapper da “secondary” als Wert eintragen, was ich noch unterhalb von “yes” interpretiere und in meinem Mapping aufgegriffen habe. Analog ist m.E. auch noch Raum für “tertiary”, also Punkte wo man zwar in ein Gebäude reinkommt, aber das entweder nie genutzt wird, oder es sich z.B. um eine Sackgasse handelt (z.B. Zugang zu Abstellraum oder Müllraum, Haustechnikraum der von außen zugänglich ist), also Eingänge, die man als Router nicht oder nur zu allerletzt berücksichtigen sollte wenn es keine Alternativen gibt.

Ja, das sehe ich auch als Datenproblem an, einer der Wege ist kein track sondern vermutlich service.

Stimme ich zu. Nur muss man vor Ort überprüfen, ob die Zufahrt wirklich als service getaggt werden darf. Ich habe hier leider so einen Fall. Zufahrt zu einem Haus über einen “Feldweg” der mit 250 oder 260 (das weiß ich gerade nicht aus dem Kopf) für den (KFZ-)Verkehr gesperrt ist. Ohne Ausnahme. Somit auch kein hw=service. Der Briefkasten steht auch vor dem Weganfang.

Ich bin voll auf Deiner Seite bezüglich der von Dir vorgeschlagenen Relation.
Deine Beispiele hinken aber zum Teil. In o.g. Beispiel ist doch die Zufahrt falsch eingezeichnet, oder ?
Hast Du dazu mal einen Link auf die OSM-Daten?

Edit:
Hier die Links zu den Zufahrten:
1.) https://www.openstreetmap.org/way/34138133/history
2.) https://www.openstreetmap.org/way/34138135/history
Nach meiner Auffassung ist die Straßen-Klassifizierung (track statt service / unclassified) bei 1.) auf der ganzen Strecke und bei 2.) auf einem Teil des Weges falsch.

Vermutlich ja. Diesen Fehler sehe ich auch öfters, da der Weg nach Optik und nicht nach Funktion gemappt wird. Aber kennst Du die Beschilderung vor Ort?

Das Grundproblem läßt sich auch durch 100% korrektes taggen von Wegen/Straßen nicht lösen.

Der Router wird und muss immer den nächst möglichen Ort zum Ziel (Luftlinie) suchen.
100 Meter Fußweg sind nunmal 100 Meter Fußweg und für KFZ nicht befahrbar. Da nimmt der Router logischerweise den Punkt der 99 Meter vom Ziel (Luftlinie) entfernt ist auch wenn dazwischen eine Bahntrasse liegt.

Einem Router die Logik beizubringen, das Luftlinie nicht das beste Kriterium ist, das der Router weiter denken muss halte ich im Moment für Wunschdenken.

Ich hatte ja bereits den Vorschlag für spezielle Anfahrtsadressen gemacht. Diese auch mit Angabe der Fahrzeugart. In solchen Fällen bekommt man bei der Navigation zur Bachtalstraße 100 nicht einen Treffer sondern mehrere.

  • Bachtalstraße 100 (ohne eine Angabe, der klassische POI)
  • Bachtalstraße 100 - KFZ Anfahrt
  • Bachtalstraße 100 - Lieferantenanfahrt
  • Bachtalstraße 100 - Per Fahrrad

Ich mache das mal deutlich an der kleinen Zeichnung die ich spontan auf dem Papier gemacht habe. Straße A ist eine mehrspurige Straße mit Radweg und Halte/Parkverbot. Straße bei ist die Straße zu der das Haus gehört mit dem zum Haus gehörigen Parkplatz.

Straße A liegt deutlich näher. Ich möchte das die Navigation mich zum zum Haus gehörigen Parkplatz routed der über Straße B erreichbar ist.

Das war meine Überlegung - Aber nicht begrenzt auf “Adressen” sondern beliebige OSM Objekte. Das macht immer Sinn wenn das OSM Objekt eine große Fläche ist. Industriegebiet, Großer Gebäudekomplex, Campingplatz, Flughafen etc und eben der Automatismus keine schöne Lösung findet.

Und das ein “Router weiterdenkt” ist vielleicht schön, aber es gibt immer fälle die anders sind, die der Automatismus maximal daneben liegt so das man dem Automatismus helfen muss.

D.h. mache eine relation mit


type=navaid
mode=car
name=Pforte Gfm. Rommel Kaserne Augustdorf

Roles:
destination <hier beliebige OSM Objekte>
final           <OSM Node>

destination darf beliebig viele Objekte beinhalten. Also alle Gebäude des Bundeswehrstandortes, den Fußballplatz des Standortes was auch immer gefunden werden könnte um dorthin zu navigieren.

mode beschreibt den modus des transports, also sowas wie car, foot, bicycle, hgv und ggfs sowas wie “public transport” wäre auch denkbar. D.h. ich kann die beste Haltestelle markieren für einen POI.

name beschreibt den user visible namen der dann angefahren wird. Z.b. sinnvoll wenn ein objekt an mehreren Relationen hängt z.b. “Flughafen Frankfurt” hängt an den relationen für “Abflug Terminal 1”, “Ankunft Terminal 1”.

“final” enthält einen Punkt der dann angefahren werden soll - Und ja - Das MUSS ein Punkt sein. Sondern haben wir eine Rekursion.

name/mode sind optional.

Natürlich “name” auch mit extension “name:de” “name:en” - ist ja user presentable.

Flo

In diesem Fall führt aber eine Straße direkt bis zum Haus. :rage:
Bitte nicht Äpfel mit Birnen vergleichen! :roll_eyes:

wie hast du den Parkplatz gemappt und dass er zu dem Haus gehört?

Für deinen Wunsch müsstest du dem Router beibringen, dass er dich zum (fußgängerroutingtechnisch) nächstgelegenen Parkplatz (oder potentiellen Parkplatz) bringt. Jemand anderes will ja vielleicht nur jemanden absetzen oder das Haus kurz von außen ansehen welche Farbe es hat, da ist ihm die andere Straße lieber, auch wenn sie nicht zu dem Haus „gehört“

Das ist das regionale wissen das wir als mapper einbringen. Alternativ nimm den Parkplatz eines Supermarktes. Da ist es sehr offensichtlich.

Der Wunsch derer die dann zu dem Supermarkt routen ist zum Parkplatz zu kommen. Wie stellst du das sicher?

Flo

Beim Supermarkt ist es genauso, vielleicht willst Du nur Deinen Freund abholen, der dort arbeitet oder einkaufen war? Wenn Du mit dem Auto einkaufen willst, ist der Parkplatz sicherlich angemessen. Ohne dass man es spezifiziert, kann der Router nur raten.
Wenn der Supermarkt als area gemappt ist, und der Parkplatz Teil davon ist, dann kann der Router es “einfach” bestimmen (außer es gibt mehrere Parkplätze, dann muss man wiederum entscheiden, zu welchem man will, das ist bei großen Geschäften wie Einkaufszentren, oder auch IKEA etc., oft der Fall.)

Ich vermute der Anspruch der Router ist derzeit, einen in die Nähe des Ziels zu bringen, und die letzten Meter erledigt dann Brain 1.0, aber wenn man wirklich bis zum Milchregal geführt werden will, dann muss natürlich auch gemappt sein, wo das Milchregal ist (wenn nicht, dann könnte der Router z.B. wissen, dass die Milch in Supermärkten normalerweise ganz hinten ist und mangels konkreter Daten dies als default annehmen). Das würde man im Moment aber wohl nichtmal von Google erwarten :stuck_out_tongue: