gelöschte_relation_nr_wieder_verwenden

Hallo,

wie kann ich mit der Nr. einer gelöschten Relation eine neue Relation bilden? Ich habe gelesen, dass dadurch die osm-Datenbank entlastet wird, indem sie von leere Relationen befreit wird.

Gruß,

Anselm

Soweit ich mit dem Konzept von MySQL vertraut bin, ist das was du ansprichst nichts was man als normaler Nutzer beachten muss. Wenn eine Relation (allgemein: ein Datensatz, also eine Zeile in einer Tabelle) gelöscht wird, wird sie in Wirklichkeit nicht gelöscht, sondern nur intern als gelöscht markiert. Sie verbraucht also weiterhin Speicherplatz und bremst (vor allem wenn sich in einer Tabelle über die Zeit viele gelöschte Datensätze gesammelt haben) die Performance. In SQL-Dumps ist sie aber beispielsweiseo schon nichtmehr enthalten. Ähnliche Effekte können unter Umständen auch bei umfangreichen Änderungen der Daten in der Tabelle auftreten. Es liegt nun am Admin, von Zeit zu Zeit einen OPTIMIZE TABLES Befehl auszuführen, der dann alle als gelöscht markierten Datensätze auch tatsächlich aus der Tabelle entfernt.

Ich habe auch gelesen, dass man gelöschte (bzw geleerte nicht mehr benutzte) Relationen wiederverwerten soll.

wenn du die ID der leeren Relation hast, dann ist das ganz leicht. (zumindest in Potlatch)

Einfach in Potlatch anstatt eine neue Relation zu erstellen, die ID bei “Finde eine Relation” eingeben…

Hat das keinen Einfluss auf die Historie, wenn IDs wiederverwendet werden? Zumal es dadurch unnütz schwieriger wird gelöschte Objekte wieder her zu stellen, wenn jetzt großflächig IDs recycled werden. Für mich hört sich das eher nach einen bösen Hack, als nach etwas sinnvollen an.

Relations wiederverwenden ist ziemlicher Unsinn, dadurch wird nur unnötig erschwert, Objekthistorien sinnvoll nachvollziehen zu können. Wenn die Entwickler wollten, dass Objekt-IDs recycelt werden, könnten sie das problemlos ohne unsere Hilfe veranlassen. Tun sie aber aus guten Gründen nicht.

Z.B. ist der Hinweis zu finden auf: http://wiki.openstreetmap.org/wiki/DE:Relations

Die Historien kann man doch trotzdem nachvollziehen. Mal ganz abgesehen davon, dass solche leeren Relation häufig beim zusammenlegen zweier Relationen entstehen. Wenn dann die Tags nicht entfernt werden. Sondern die Relation nur geleert wird, dann existieren nachwievor zwei Relationen mit den gleichen Tags. Findet dann jemand die leere Relation und ein Abschnitt der der anderen Relation noch nicht hinzugefügt ist, dann geht das Spiel von vorne los…

Wenn zum Beispiel vom Wiki auf eine leere Relation verlinkt wird. Und jemand denkt sich dann: “Oh da fehlt ja noch alles”, und legt los… Da fänd ichs besser, wenn er eine wiederverwendete Relation sehen würde. Dann würde er direkt sehen, dass der Link falsch ist. Was er ja auch ist, denn für die gewünschte Relation gibt es mit Sicherheit eine neue ID.

Ja, seit heute morgen. Ist die Aussage einer Einzelperson (ohne besondere Argumente) jetzt gewichtiger, weil sie im Wiki statt im Forum steht?

Deshalb lässt man die Relation ja auch nicht leer, sondern löscht sie. Dann kann man solche Links sogar potentiell automatisch finden – eine gelöschte Relation ist eindeutig erkennbar, eine umgewidmete nicht.

Wenn ein Editor das nicht kann, muss man halt einen anderen nehmen, wenn man Relationen beseitigen will. Oder den Entwickler dazu bringen, Features (wie Relation-Support) erst zu veröffentlichen, wenn sie fertig sind.

Oh stimmt … dann muss ich das woanders gelesen haben.

Ok, das macht Sinn. Leider hab ich diesbezüglich nix im Wiki gefunden…

Wie löscht man denn eine Relation? Ich bisher nur versehendlich gelöschte Relationen gesehen, die nur mit großem Aufwand wieder herzustellen waren.