Hi! Relationen sind ein ganz schwieriges Kapitel. Erstmal stellt sich die Frage, um was für Relationen es geht. Es gibt quasi niemanden, der "Relationen" als solche in aller Allgemeinheit auswertet für irgendwas. Denn für was sollen die denn gut sein? Relationen stellen ja nur erstmal Verbindungen zwischen verschiedenen OSM-Elementen her. Was diese Verbindungen bedeuten sollen, das ergibt sich aus dem Typ der Relation, den Tags und den Roles. Es gibt viele verschiedene Typen von Relationen, z.B. Multipolygone, Routes, Abbiegerelationen, usw. Etwa ein halbes Dutzend, die eine Rolle spielen. Genauso wie bei Tags gilt auch hier, jeder kann Typen von Relationen erfinden, das heisst aber nicht, dass die jemand auswertet.
Multipolygon-Relations (bzw. boundary) sind die einzigen, die von vielen Leuten wirklich ausgewertet werden. Das liegt daran, dass dafür Support in osm2pgsql und diverser anderer Software vorhanden ist. Es gibt einige Leute, die sich Spezialsoftware geschrieben haben für Routenrelationen. Aber schon da gibt es Unterschiede. Wanderrouten sind halt was anderes als ÖPNV-Routen. Es braucht da jede Menge Spezialhandling. Abbiegerelationen werden von einigen Navi-Programmen verwendet. Die Flexibilität von Relationen macht sie so schwierig in der Handhabung. Immer wird auf andere Elemente verwiesen. Die muss man also auch vorhalten, um eine Relation verarbeiten zu können. Und das ganze kann rekursiv sein, also von einer Relation kann auf eine andere verwiesen werden. Geographisch können Relations sehr sehr gross werden ("Grenze von Russland"), man kann also einen großen Job nicht so einfach in Teile aufteilen, wie das bei anderen OSM-Daten manchmal geht. Da sich OSM-Daten ständig ändern, muss man die Daten nachführen. Ändert sich ein Node in Siberien, der in einem Way ist, der in einer Relation ist, so ändert sich was auch immer diese Relation darstellt. Dazu kommt, die schlechte Definition, was denn genau welches Tag, welche Role in einer Relation bedeutet. Vielfach gibt es deutliche Unterschiede, wie verschiedene Leute diese Relations im Detail taggen. Damit muss man dann auch umgehen. Das ist mit Tags an Nodes und Ways auch nicht anders, aber es gibt viel mehr Freiheitsgrade, viel mehr Variation, viel mehr durcheinander, wie Leute Taggen. Und es gibt auch viel mehr Möglichkeiten, die Daten fehlerhaft einzutragen. Es ist z.B. schwierig einen kompletten Satz Grenzen aus OSM-Daten zu extrahieren, weil jeden Tag irgendwelche davon kaputt sind. All diese Dinge kann man für kleine Datensätze vielleicht in den Griff bekommen und wenn man keine Updates fahren will. Aber für den ganzen Planeten und immer aktuell und schnell in der Verarbeitung, das ist schwierig. Das sieht man auch daran, wie wenig Leute das wirklich machen. Jochen On Sat, Jul 07, 2012 at 11:09:31PM +0200, Jan Tappenbeck wrote: > Date: Sat, 07 Jul 2012 23:09:31 +0200 > From: Jan Tappenbeck <o...@tappenbeck.net> > To: Openstreetmap allgemeines in Deutsch <talk-de@openstreetmap.org> > Subject: [Talk-de] Relationen aus der Sicht der Auswertung - Segen oder > Fluch?? > > Moin ! > > ich möchte mal wieder eine Frage an die Allgemeinheit stellen auch > auf die Gefahr hin zerrissen zu werden. > > Es geht konkret um ein Zenario was Relationen und Hausnummern > betrifft und nachfolgend bitte keine Diskussion über "diese Relation > ist aber doof, weil ...". Es geht um die Frage wie ist soetwas > überhaupt vernünftig und performant in der Auswertung zu > realisieren. Das Beispiel kann sicherlich auch auf andere Relationen > übertragen werden. Immer werden verschiedene Elemente bei Relationen > zusammengeführt die irgendetwas gemeinsam haben und man so > verhindern will das Redundante Daten entstehen. > > Auf dem letzten Stammtisch in Lübeck [1] haben wir über die > verschiedenen Geschäfte und die Adressen gesprochen. > > Einfacher Fall: in einem Gebäude sind mehrere Geschäfte enthalten. > Nun macht es keinen Sinn auf jeden POI eine Adresse zu legen und > deshalb gibt es zum Beispiel die Building-Relation [2] (zu der wir > uns in etwas abgewandelter Form [1] entschieden haben) um Gebäude, > Eingänge, Geschäfte miteinander zu verknüpfen. Wie gesagt nur ein > Beispiel - geiches läßt sich auch auf Straßen-Relationen etc. > übertragen (Straßenname am Objekt überflüssig, weil Gebäude gehört > ja zur Straße). > > Die Frage die ich nun stellen möchte - ist es überhaupt irgendwie > möglich solche Verbindungen performant aufzuschlüsseln? und gibt es > vielleicht schon Programm(teile) dafür von denen ich nicht weiß. > > Ein weiteres Beispiel hierzu. Ich habe das ganze einmal mit der > OpenLinkMap [3] abgecheckt und da werden solche Verbindungen über > Relationen nicht ausgewertet. Dann habe ich mich an Alexander > gewandt und nachgefragt. Ich fasse die ausführliche Antwort kurz > zusammen: "Er sieht keinen einfachen Lösungsansatz dazu und > vermutlich wird zuviel Performance dabei auf der Strecke bleiben". > > Wenn dem so ist - wir zwar nicht für die Renderer (damit auch nicht > für andere Programme) mappen - ja wofür brauchen wir denn > Relationen, wenn diese sowieso nur sehr sehr schwer auszuwerten > sind??? > > Also nochmal die beiden Fragen: > * welche Ansätze für die Auswertung gibt es? > * gibt es Software die die Relationen aufschlüsselt - zum Beispiel > die Daten aus den Relationen auf die beteiligten Elemente > "überträgt"? > > Gruß jan :-) > > [1] http://wiki.openstreetmap.org/wiki/L%C3%BCbecker_Mappertreffen > -> Archiv-Beitrag Nr. 40 vom 5.7.2012 > [2] http://wiki.openstreetmap.org/wiki/Relations/Proposed/Buildings > [3] http//www.openlinkmap.org > > _______________________________________________ > Talk-de mailing list > Talk-de@openstreetmap.org > http://lists.openstreetmap.org/listinfo/talk-de > -- Jochen Topf joc...@remote.org http://www.remote.org/jochen/ +49-721-388298 _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de