Änderungen als XML Uploaden

Guten Tag,
ich möchte die Relationen, die zur Universität Stuttgart gehören, aufräumen und neu struk­tu­rie­ren. 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?

Gruß, Jonas.

Hallo Jonas,

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.

Gruß
Franz

Ich würde auch dringend empfehlen, den Editor JOSM zu verwenden, eventuell mit dem OpenData-Plugin.

Dürfen die “uniinternen Daten” denn überhaupt für diesen Zweck genutzt werden?

Hallo Jonas,

bitte nenne uns mal die Nummern (am besten per Link) der Relationen, welche du verbessern möchtest.

Dann sage uns, was an den Relationen im Detail falsch sein soll.

Denn unter Umständen benötigst du vielleicht keine neuen Relationen, sondern die bestehenden müssen einfach nur überarbeitet werden.

Ein Anfang für Faule: http://overpass-turbo.eu/s/eHs

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.

tl,dr: lass es.

Gruss
walter