[Talk-de] osmosis-bug in Geofabrik-Extrakten?
Sarah Hoffmann
lonvia at denofr.de
Fr Okt 29 17:45:14 UTC 2010
On Fri, Oct 29, 2010 at 08:36:37AM +0200, André Joost wrote:
> Hallo,
> auf folgendes Problem bin ich gerade gestoßen:
>
> Die line-relation gemäß oxomoa-Schema für die Aachener Buslinie 1 sieht
> in der api so aus:
>
>> <osm version="0.6" generator="OpenStreetMap server">
>> <relation id="969861" visible="true" timestamp="2010-07-12T13:13:26Z" version="4" changeset="5198960" user="wonk" uid="79958">
>> <member type="relation" ref="969505" role=""/>
>> <member type="relation" ref="86812" role=""/>
>> <member type="relation" ref="1066454" role=""/>
>> <member type="relation" ref="1066614" role=""/>
>> <member type="relation" ref="1066633" role=""/>
>> <tag k="line" v="bus"/>
>> <tag k="name" v="Bus 1"/>
>> <tag k="network" v="AVV"/>
>> <tag k="operator" v="ASEAG"/>
>> <tag k="ref" v="1"/>
>> <tag k="type" v="line"/>
>> </relation>
>> </osm>
>
> Im Extrakt der Geofabrik sieht sie dagegen so aus:
>> <relation id="969861" version="4" timestamp="1969-12-20T21:22:32Z" uid="79958" user="wonk" changeset="5198960">
>> <member type="relation" ref="969505" role=""/>
>> <member type="relation" ref="86812" role=""/>
>> <tag k="line" v="bus"/>
>> <tag k="name" v="Bus 1"/>
>> <tag k="network" v="AVV"/>
>> <tag k="operator" v="ASEAG"/>
>> <tag k="ref" v="1"/>
>> <tag k="type" v="line"/>
>> </relation>
>
> Irgendwie fehlen da drei Relationen. Sie sind zwar selber im Extrakt
> drin, aber nicht in der Line-Relation. Die fehlenden kreuzen auch nicht
> die Grenzen des Extrakts.
>
> Nun weiß ich ja, dass Relationen in Relationen nicht gern gesehen
> werden, aber Oxomoa hats nun mal so gewollt.
>
> Wenn alle oder keine Relationen drin wären könnte ich dass ja verstehen,
> aber warum nur zwei von fünf?
>
> Hat jemand ne Erklärung oder Lösung?
Das liegt daran, dass osmosis die Eingabedatei nur einmal durchparst beim
Ausschneiden. Wenn es nun bei verschachtelten Relationen vorbeikommt,
übernimmt es nur die Relationen, von denen es bereits weiss, dass sie
im auszuschneidenden Gebiet enthalten sind. Anders gesagt, du findest
alle Relationen, die eine kleinere OSM-ID haben, aber die mit grösserer
OSM-ID fehlen.
Ob das ein Bug oder Feature von osmosis ist, da kann man sich streiten.
Die andere Möglichkeit, die osmosis hätte, wäre alle Unterrelationen
ohne Check zu übernehmen. Aber dann kann es passieren, dass nicht
vorhandene Relationen referenziert werden und das ist manchmal auch nicht
gewollt.
Gruss
Sarah
Mehr Informationen über die Mailingliste Talk-de