Hallo, Ekkehart wrote: > Wenn alle sicher sind, daß das funktionieren wird
Ich habe geschrieben: "Ich gehe davon aus, dass...". Nicht: "Alle sind sicher, dass...". > muß es doch irgendwo > auch einen Plan geben, wie. Nicht alle Plaene, die es im Projekt gibt, stehen auch im Wiki ;-) im Wiki und den Mailinglisten suchen hilft oft, aber wenn man da nichts findet, heisst das beileibe nicht, dass es einen entspr. Plan nicht gibt. Es stand vorher schon auf der "Collected Ways"-Relationsseite, aber ein bisschen un-offensichtlich. Ich habe das mal ausdrücklicher formuliert: http://wiki.openstreetmap.org/wiki/Relations/Proposed/Collected_Ways Es gibt da noch eine gewisse Unschaerfe zwischen den "Route" und "Collected Way"-Relationen (eine Route ist eher attributiv, ein "collected way" eher konstitutiv, falls man das so sagen kann). > - Welche Rollen müssen subrelationen haben? > - Welchen Typ müssen Superrelationen haben? > - Welche Tags müssen Superrelationen haben? Eine Subrelation weiss nicht, dass sie Subrelation ist, genauso wie ein Wegstück einer Relation nicht unbedingt weiss, das es zu einer Relation gehört. Durch Karlsruhe verläuft die A5. Sie besteht aus vielen einzelnen Ways. Die sind derzeit alle noch mit "highway=motorway, ref=A5" getaggt. Zugleich befinden sie sich in einer Relation für die A5. Die Vererbung von Tags (alles bis auf "type" wird abwärts vererbt, Way schlägt Relation) ist derzeit, wie Du vermutlich weisst, noch nicht flächendeckend implementiert, das heisst, man kann das "highway=motorway, ref=A5" an den einzelnen Ways noch nicht entfernen, aber eines Tages wird man das können und einfach nur die Relation entsprechend taggen. Das einzelne Wegstück wird dann unter Umständen *gar keine* Tags mehr haben (genauso wie Nodes oft *gar keine* Tags haben, weil sie eben nur als Bausteine für einen Way gebraucht werden). Später wird das gleiche Verfahren kaskadierbar anwendbar sein, d.h. es gibt dann eventuell eine deutschlandweite Relation fuer die A5, die als Member nicht jedes einzelne Karlsruher Wegstueck hat, sondern nur eine Relation, die z.B. etwas darstellt wie "A5 in Baden-Wuerttemberg" oder "A5 in Karlsruhe" oder so... > - Wie findet man vorhandene Superrelationen? Der "map"-Aufruf des API hat bereits eine einstufige (!) Rekursion eingebaut, d.h. Du bekommst eventuelle Superrelationen zu heruntergeladenen Relationen mit (aber nicht deren Superrelationen). Zu meiner Schande muss ich gestehen, dass dieses Feature (einstufige Rekursion bei Relationen) sich bislang nur denen erschloss, die den Source (sites/rails_port/app/controllers/api_controller.rb) gelesen haben. Ich habe das jetzt in der Dokumentation ergaenzt: http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.5#Retrieving_nodes.2C_ways.2C_and_relations Es gibt ausserdem einen speziellen API-Aufruf, der im Augenblick allerdings einzeln fuer jede in Frage kommende Relation aufgerufen werden muss, um eventuelle diese Relation enthaltende Relationen zu finden: http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.5#Finding_Back_References > - Wie funktioniert Mehrfachvererbung? Dazu habe ich mir keine Gedanken gemacht. Bei attributiven Relationen (das sind die allermeisten!) soll ja ohnehin keine Vererbung stattfinden - bloss weil irgendwas Teil eines Abbiegeverbots ist, "erbt" es deswegen ja nichts. Nur bei konstitutiven Relationen ("besteht aus") ist das m.E. interessant. Aber das ist sicherlich noch ein Thema, das man weiter formalisieren muss. Insbesondere kann man nicht von Clients erwarten, dass sie eine staendig aktualisierte Liste aller denkbaren Relationen haben, es muss also ein allgemeines Konzept her. > - was machen bei mehreren, widersprüchlichen Superrelationen? Das waere zum Beispiel der Fall, wenn zwei Autobahnen sich irgendwo des gleichen Stuecks Asphalt bedienen. Das ist aber ein Problem, das durch Superrelationen nicht neu eingefuehrt wird; bei Superways besteht das ja schon genauso. Muss man dann schauen, wie man das löst. Ich würde sagen, dass manche Tags sich in so einem Fall addieren (Way gehört zu einer Relation mit Ref=A5 und einer mit Ref=A45, dann laufen hier beide Autobahnen auf dem gleichen Stueck), andere aber widersprechen sich (maxspeed=50 und maxspeed=70), dann muesste der Way selbst entsprechend getaggt werden. (Hm, es gibt doch in D auch so Faelle, in denen eine Bundesstrasse ein Stueck auf einer Autobahn verlaeuft, oder? Da traefen sich dann highway=primary und highway=motorway auf dem gleichen Stueck Fahrbahn - aber das geht ja schon von der StVO her nicht, entweder ist was ne Autobahn oder ne Bundesstrasse...). > - Kann irgendein Editor damit umgehen? JOSM und Merkaartor können kaskadierende Relationen erzeugen und verarbeiten, aber zumindest JOSM bietet noch keine Möglichkeit, sich mit dem o.g. API-Aufruf in einem eventuellen Relationsbaum nach oben zu hangeln. Eventuell muss man da auch die API noch verbessern, indem man bei diesem Aufruf mehrere Relations-IDs zulaesst, damit das schneller geht. Bye Frederik -- Frederik Ramm ## eMail [email protected] ## N49°00'09" E008°23'33" _______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

