Guten Tag,
ich möchte die Relationen, die zur Universität Stuttgart gehören, aufräumen und neu strukturieren. Das Problem ist, dass es mehrere nicht verknüpfte Relations mit dem Namen Universität Stuttgart gibt.
Ich würde die Änderungen gerne per XML machen, da man so automatisiert die Grundstruktur der Gebäude einheitlich aus uniinternen Daten erstellen könnte und dann die existierenden nodes und ways dazu verknüpfen kann.
Jetzt habe ich zwei Fragen, wie bekomme ich neue OSM-IDs zur Erstellung von neuen Relations und wie kann ich Änderungen, die auf OSM-XML basieren, hochladen?
ohne jetzt auf die Praktibalität und Sinnhaftigkeit deines konkreten Vorhabens einzugehen nur kurz zur technischen Seite:
Die realen ID werden beim Speichern in die Datenbank nach dem Hochladen vergeben. Bei der Neuanlage vom Objekten werden negative eindeutige Ganzzahlen als vorläufige ID verwendet, die Du selbst vergibst. Das Objektelement erhält dann das action-Attribut action=“modify”.
Indem du das entsprechende XML-Dokument z.B. in JOSM öffnest und damit hochlädst.
wie schon beschrieben mit Josm oder aber auch unter Benutzung der OSM-API.
Allerdings bewegst du dich auf äusserst dünnem Eis: Ein normaler Update besteht aus mehreren Schritten:
Laden der alten Daten mit derem Umfeld
Ändern der geladenen Daten
Hochladen der ÄNDERUNGEN
Um das technisch korrekt zu machen, musst du also quasi einen eigenen Editor schreiben, auch wenn dieser hier keine graphische Oberfläche braucht.
Beispiel: um eine Relation zu ändern, brauchst du die Ways (Member) der Relation, alle von den ways verwendeten Nodes und die Rel selber natürlich auch. Dann musst du jeden neuen/geänderten Node und entsprechend die Ways hochladen bzw löschen, falls die nicht mehr benötigt werden. werden diese Komponenten aber auch anderseitig verwendet, musst du diese Objekte ebenfalls berücksichtigen. Sonst machst du ein Objekt sauber und killst ein dutzend andere.
Dazu kommt noch die Quellenlage, die hier noch garnicht richtig angesprochen wurde.