Hallo, On Sunday, 6 April 2008 13:28:56 +0200, qbert biker <[EMAIL PROTECTED]> writes: > > Daher: Fuer einen Router ist ein "Anlieger frei" am leichtesten so zu > > implementieren, dass ein Uebergang in Richtung "normaler" auf > > "Anlieger-frei"-Strasse ein Flag gesetzt wird, das besagt, dass danach > > auf der Route ein erneuter Uebergang weder in die eine > > (Anliegerstrasse/-gebiet verlassen) noch in die andere Richtung (in > > selbe/neue Anliegerstrasse/-gebiet einfahren) moeglich sein darf. > > Ich mach das so, dass die Vorgabe ist, dass erstmal alle > 'Anlieger frei' einen Widerstand von 'undurchfahrbar' bekommen. Wenn > keine Route möglich ist,
Mmmh, wenn du letzlich einen Dijkstra (+ Heuristiken) verwendest, dann suchst du da unnoetig lange, bis du mit "keine Route" abbrichst. > wird überprüft, warum das so ist und > ob die Unerreichbarkeit aufgelöst werden kann. In diesem Sinn > wäre das Szenario iterativ lösbar. Flags als an- abschaltbare > Schranken würde ich meiden, da mir das Verfahren etwas zu > fehleranfällig erscheint (Ausbruch über Feldweg, etc.). Auch nicht fehleranfaelliger als alle andere Loesungen, nur hast du da den Spezialfalls fuer "Anlieger-frei" (oder Privat- und Wegstrassen) durch das Flag-Konzept sehr einfach und in einem Durchlauf abgehakt. (Bzgl. Ausbruch ueber Feldweg: Fall 1: Wenn Feldwege als nicht-Anlieger- Strassen getaggt sind/angenommen werden, dann ist der Uebergang Anlieger-Nichtanlieger verboten, wenn du vorher von Nichtanlieger nach Anlieger gewechselt hast. Fall 2: Wenn Feldwege als Anlieger getaggt sind/angenommen werden, dann kommst du entweder ueber diesen ans Ziel oder musst irgendwann auf eine Nicht-Anlieger wechseln, so dass du wieder Fall 1 vor dir hast.) > Eine andere Sache ist, welchen Aufwand man in einen derartigen > Exoten investiert ;) Ich habe zwar keine Statistik vorliegen, wieviel Prozent der Haushalte, also der moeglichen Start- und Zieladresse in einer Anlieger-Strasse wohnen, aber ganz so exotisch duerfte der Fall auch nicht sein. > > Damit dies klappt, muessen _alle_ Strassenbestandteile bzw. alle > > Strassen des Gebietes zusammenhaengend und vollstaendig mit "Anlieger > > frei" getaggt sein. > > Volle Zustimmung. ... andererseits muessen alle Router mit fehlerhaften Daten klarkommen koennen (weder OSM noch die kommerziellen sind 100% fehlerfrei). Und mit einigen Besonderheiten muss man leben oder sich ueberlegen, wie man diese abhandelt, so dass die Ergebnis-Route so auch gefahren werden darf. Beispiel: | | A B | | +--X---+---Y-- | | A B | | Die Strassen A und B sind Durchgangsstrassen, X und Y sind Anlieger-Strassen ("Anlieger frei"). X und Y haben damit das Tag "access=destination" und besitzen einen gemeinsamen Knoten, da die Kreuzung so klein ist, dass man sie nicht detaillierter abbildet. Darf ein Verkehrsteilnehmer (also auch ein Router) nun von Strasse A kommend ein Ziel in Y erreichen, indem er durch _X_ durchfaehrt und dann in Y _einfaehrt_? Oder muss ich einen weg um X herum finden? IMHO darf man nicht durch X durchfahren ... aber wie sehe ich als Router aus den OSM-Daten, dass das Anlieger-frei-Schild von X durch die Strasse B _beendet_ (/_unterbrochen_) wird? Waere in diesem Fall B "nur" ein Fussweg, dann gelte X und Y als "eine" durchgehende Strasse, so dass man durch X zu Y durchfahren darf. Gruss, -bernd _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de