Hallo, Am Sonntag, den 22.07.2012, 21:22 +0200 schrieb Stefan Keller: > 1. Sind OSM ID's wirklich instabil? bzw. Wann ändern IDs > "ungewollt/unfreiwillig"? > > Oben wird die Overpass Permanent ID erwähnt > (http://wiki.openstreetmap.org/wiki/Overpass_API/Permanent_ID ) und > dort steht: "...you shouldn't use an object ID, because the OSM IDs > may change at any time." Das würde ich gerne mal näher analysieren: > > Ein klarer Fall für ein Löschen und Neu-Einfügen (mit neuer ID) > scheint mir zu sein, wenn das auch in der realen Welt der Fall ist: > Wenn z.B. ein Gebäude abgerissen und neu erstellt wird, oder ein > wichtiger Einzelbaum gefällt und neu gepflanzt wird. > > Soeben realisiere ich, dass wenn Nodes (mit Tags) lagemässig > verschoben werden, ein neuer Node mit neuer ID und neuen Koordinaten > und den "geretteten" Tags erzeugt wird (zumindest in JOSM), während > dessen alte Koordinaten als "normaler Way-Node zurückbleiben. Das ist > aber kein logisch zwingender Grund, sondern technischer Mangel.
Dieses Problem lässt sich umgehen, wenn man nicht mit der Version des Weges arbeitet, sondern zusätzlich mit einem Datum. Ein way X lässt sich zu jedem Zeitpunkt und immer gleich aus OSM (und der OSM-Historie) extrahieren. Dieses Objekt(mit Datum) ist stabil. Diese Information ließen sich cachen und bei Bedarf gegen die Objekte mit aktuellerem Datum abgleichen. Wie kommt man an das Objekt mit ObjektID+Datum? --> alle referenzierten Objekte mit dem entsprechenden Datum ermitteln. Die Ermittlung ist ohne komplette Datenbank mit OSM-Historie sehr aufwändig. Vor einigen Jahren habe ich mal einen Prototypen geschrieben, der über die API aus der OSM-DB ein Objekt zu jedem Zeitpunkt ermitteln kann: Beschreibung: http://www.h-renrew.de/h/osm/tools/osmhistory.html Quelltext: https://github.com/werner2101/python-osm Anmerkungen: * Bei der Eindeutigkeit gibt es eine gewisse Unschärfe, weil die Changesets AFAIK nicht atomar in die OSM-Datenbank eingetragen werden. * Ich weiß nicht ob der Code mit Objekten noch geht, die vom Redaction Bot verändert wurden. Grüße Werner _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de