[Talk-de] Vollständigkeit von Route-Relationen

Mario Salvini salvini at t-online.de
Sa Jul 26 13:10:21 UTC 2008


Rolf Gehring schrieb:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hallo,
>
> es ist mir immer noch nicht gelungen, Buslinien so in eine Relation
> einzubinden, dass sowohl die Haltestelle als auch der Name der Buslinie in
> der Karte korrekt angezeigt wird. Kann mir mal jemand die korrekten Einträge
> in die entsprechenden Relationen nennen? Die Wiki scheint in dem Punkt etwas
> veraltet zu sein. Noch einmal zur Erinnerung: Es geht um Relationen. Bitte
> keine Hinweise, wie ich eine Bushaltestelle in eine Node eintrage solle.
>
> Rolf
>
>  
>
>   
>> -----Ursprüngliche Nachricht-----
>> Von: talk-de-bounces at openstreetmap.org 
>> [mailto:talk-de-bounces at openstreetmap.org] Im Auftrag von Andreas Titz
>> Gesendet: Freitag, 25. Juli 2008 19:51
>> An: talk-de at openstreetmap.org
>> Betreff: [Talk-de] Vollständigkeit von Route-Relationen
>>
>> Hallo Liste!
>>
>> Inzwischen gibt es ja einige Relationen, die Routen der 
>> verschiedensten 
>> Art abbilden, z.B. (Rad)wanderwege, Buslinien, Bundesstraßen. Im 
>> Idealfall sind solche Routen ja eine kontinuierliche 
>> Aneinanderreihung 
>> von ways, d.h der Endnode eines way ist der erste node des 
>> anschließenden way - die Richtung der ways mal außen vor gelassen. Da 
>> die API die memebers einer Relation nun aber in willkürlicher 
>> Reihenfolge zurückliefert, kann man das nicht mehr so einfach 
>> überprüfen, um Lücken aufzuspüren.
>>
>> Ich habe daher ein Perl-Skript geschrieben (siehe Anhang), 
>> das eine oder 
>> meherere relations über die API lädt und dann zählt, wie oft 
>> die Nodes 
>> an den "Enden" der member-ways verwendet werden. Es werden 
>> die ID aller 
>> Nodes ausgegeben, die != 2 mal Verwendung finden.
>>
>> Dabei sind wahrscheinlich allerdings auch einige "false 
>> positive" dabei, 
>> z.B.
>> - Der Anfang und das Ende der Route werden jeweils nur einmal 
>> verwendet,
>>    wenn es sich nicht um einen Rundweg handelt.
>> - Bei Alternativrouten wird der Node an der Verzweigung nur 
>> einmal (wenn
>>    einer der ways dort nicht gesplittet wurde) oder dreimal 
>> am Ende eines
>>    Member-ways auftauchen. (Ein Kreisverkehr ist übrigens auch eine
>>    Alternative in diesem Sinne - es geht ja je nach Fahrtrichtung über
>>    einen anderen Teil des Kreisels.)
>> - Die berühmte Buslinie, die zweimal über die Kreuzung fährt:
>>            _______
>>           |       |
>>           A       |
>>           |       |
>>    <--B---K---C---/
>>           |
>>           B
>>           |
>>           ^
>>    Hier kann der Kreuzungsnode K viermal auftauchen, wenn 
>> nämlich A, B, C
>>    und D selbständige ways sind.
>> - vielleicht noch andere Fälle.
>>
>> Dennoch habe ich gestern damit einige fehlende Brücken (und weitere 
>> Fehler) im Radweg Berlin-Kopenhagen gefunden.
>>
>> Das Skript wird einfach von der Befehlszeile aus aufgerufen 
>> und erhält 
>> als Parameter die ID der zu untersuchenden Relation(en).
>>
>> HTH, Gruß Andreas
>>
>>
>> PS: zu Debugging-Zwecken gab das Skript eine OSM-Datei aus, der 
>> entsprechende Code ist auskommentiert. - Um ihn wieder zu verwenden, 
>> einfach die beiden Zeilen, die mit "=head1" bzw. "=cut" anfangen, 
>> löschen oder durch Voranstellen eines "#" auskommentieren.
>>
>> PS2: Kann man in JOSM eigentlich ein Objekt über dessen ID auswählen?
>>     
ich suche da gerade auch noch brauchbaren Infos. Eigentlich müßten ja 
nur die Nodes in die Relation, weil der Weg zwischen den Punkten sich ja 
je nach Baustellen und Straßensituation ändern kann (und schließlich 
sind nur die Haltestellen interessant, weil man ja zwischendurch nicht 
aufsteigen kann).
Nur müßte man dann den Members als "role" eine durchlaufende Nummer 
geben, weil sie ja sonst willkürlich sortiert werden (in der Map wäre 
das egal, aber später zum Routing wäre das unbrauchbar) und damit die 
Reihenfolge verloren gänge.

--
 Mario




Mehr Informationen über die Mailingliste Talk-de