Bulk dublizieren eines Tags (danach umbenennung des Tags)

Ich würde gerne zusätzliche Informationen zu vielen Tags gleichzeitig hinzufügen.

Mein Beispielhaftes Ziel ist es eine hohe Anzahl von Strassen, die alle mit einem “ref=” Tag versehen sind, mit einem weiteren Tag namens “ref2=” der den selben Inhalt wie “ref=” besitzt zu erstellen.
Also möchte ich den Tag “ref” duplizieren und mit einem neuen Tagnamen versehen z.B. “ref2=”. Am Ende steht in dem Way der ursprüngliche “ref=value” und zusätzlich “ref2=value”.

Vorher:


name      |  ref  
strasse A |  11   
strasse B |  22   
strasse C |  33   
strasse D |  44   

Nacher:


name      |  ref  | ref2
strasse A |  11   | 11
strasse B |  22   | 22
strasse C |  33   | 33
strasse D |  44   | 44

Es ist kein Problem eine CSV Datei zu erstellen, bei der man ja einfach nur die Spalte duplizieren kann.
Nur leider habe ich bisher keinen Weg gefunden diese CSV Datei wieder in OSM zu importieren und damit die vorhandenen Wege mit einem neuen Tag zu versehen.

Dies ist wie geschrieben eine Beispielanwendung und keine Sorge, ich werde nicht einfach irgendeinen Blödsinn hochladen.

Auch wenn sich mir beim besten Willen nicht erschließt, wozu das gut sein soll:

cat quelldatei.osm | sed '/k="ref"/{p;s/ref/ref2/}' > zieldatei.osm

Das scheint für ein Linux System zu sein.
Wie würde man das auf einem Windows 7 durchführen oder gibts “cat” auch für Windows?

Variante ohne cat:

sed '/k="ref"/{p;s/ref/ref2/}' quelldatei.osm > zieldatei.osm

Natürlich. Es gibt diverse Portierungen der Linux/Unix Commands für Windows, ich persönlich
habe mit cygwin die besten Erfahrungen gemacht.

“cat” heißt unter windows cmd.exe “type”

cat ist in den GNU coreutils und sed im sed enthalten, es gibt neben Cygwin (POSIX-API-Emulator-DLL) auch diverse native Portierungen z.B. http://sourceforge.net/projects/getgnuwin32/
Vielleicht geht es ja auch irgendwie mit der besseren Windows-Shell (Powershell (ab Version 2.0, die 1.0 ist nur nen Spielzeug)).

Nach langem Hin und Her hat es funktioniert. Habe mich einer anderen Lösung anvertraut um SEG auszuführen:
http://gnuwin32.sourceforge.net/packages/sed.htm

Das Problem bei mir lag an den Hochstrichen die mit einem Backslash versehen werden mussten:

sed /k=\"ref\"/{p;s/ref/ref2/} quelldatei.osm > zieldatei.osm

Allerdings stellt sich nun die Frage wie man diese OSM Daten am besten wieder zu Openstreetmap hochlädt.
Ich habe bisher nur den Weg gefunden die OSM Daten in JOSM zu laden , tag verändern und wieder zurück ändern. Nur dann wird es hochgeladen.

Habt Ihr einen besseren Vorschlag?

Dann wirst du wohl einen Bot schreiben müssen :roll_eyes: - denke aber bitte blos nicht, dass da weitere Tips (von mir) kommen, solange du nicht damit rausrückst, was du eigentlich vor hast.
Zudem mußt du richtig gut programmieren können.

Gruss
Walter

Hallo Walter, Willy

@Willy:
Du musst in der Datei noch auf JOSM-Art markieren, welche Objekte durch den Edit geändert wurden. Wie das JOSM macht, musst du dir an einer kleinen JOSM-Datei selber ansehen.

Weiter solltest du dir klar machen, dass ab einer gewissen Größe der Änderungen die Regeln für mechanische Edits respektive Importe greifen (Ankündigen, Diskutieren, Dokumentieren, …). Da man über mechanische Edits in kurzer Zeit sehr viel auch gegen den Willen der Community ändern kann, wird das durchaus kritisch gesehen.

Edbert (EvanE)

Einfach einen ref2 Key erfinden und den hochladen wollen? Was ist denn die Intention dahinter?

Nicht umsonst standen in der ursprünglichen Codezeile zwei single quotes.

Ich möchte Dich einmal an Dein eingangs gegebenes Versprechen erinnern:

Ohne diese Zusage hätte ich die obige Hilfestellung (ein “Danke” habe ich übrigens noch nicht gelesen) nicht gegeben; ich bin davon ausgegangen, daß Du nur irgendwelche lokalen Daten verändern willst. Insofern bin ich keineswegs erfreut, daß Du nun doch vorhast, auf diese Weise vorgenommene Änderungen hochzuladen. Auf die “Mechanical Edit Policy” wurde bereits verwiesen, abgesehen davon sind mechanische Edits keine Aufgabe für jemanden, der bisher keine einzige (!) Bearbeitung in OSM vorgenommen hat.

Also bitte endlich Butter bei die Fische: Welche Änderung(en) willst Du vornehmen (ref/ref2 war ja angeblich nur ein Beispiel)? Aller Wahrscheinlichkeit bzw. aller bisherigen Erfahrung mit ähnlichen Vorhaben nach ist die Änderung überflüssig bis unsinnig. Sollte sie wider Erwarten doch sinnvoll sein, kann Dir möglicherweise jemand helfen bzw. einen besseren Weg aufzeigen.

ich hab da so ein ungewisses Grummeln im Bauch: Haben wir her nicht einen parallelen Thread , in dem es u.A um “komische Ref-Nutzung” ging? Neuer Forum-User ohne eigene Edits und dann sowas? Spätestens wenn ref2=“A4 - Ausfahrt Richtung Posemuckl” kommt, … Naja, eventuell lieg ich ja auch daneben.

Gruss
walter

Ach kommt schon Jungs (und Mädels)… warum vermutet Ihr denn nur schlechtes?
Ich will halt nicht mit meinem eigentlichen Vorhaben rausrücken, aber das muss doch nun wirklich nicht heißen das ich jetzt alle Strassen mit einem Ref2 Tag versehen werde.
Keine Sorge!

Ich bin mir bewusst, dass ich vor größeren Edits bzw. Bulkuploads eine Diskussion starte und mir anhöre was andere dazu zu sagen haben.

Und ich muss tatsächlich zugeben das ich bisher noch nicht gedankt habe und das ist wirklich unentschuldbar!

@Oli-Wan: Danke für den Tip mit den Regular Expressions. Es ist immer wieder schön, wenn man mit so einfachen Mitteln so komplexe Aufgaben abarbeiten kann.
@EvanE: Danke, Ich werde mir die JOSM Dateien mal genauer ansehen.
@all others: Danke für die vielen Hinweise und Kniffe.

@wambacher: Das Grummeln im Bauch könnte auch an Mangel an Essen liegen :slight_smile: Ich habe definitiv nichts mit komischen Ref Nutzungen zu tun. Es geht hier nur beispielsweise, um den Ref Tag.

Der zweite Satz beantwortet schon die Frage im ersten Satz. Das “Open” in OpenStreetMap hat eine Vielzahl von Interpretationen und Implikationen, eine ist: man geht offen damit um, was man in OSM bearbeitet (deswegen gibt es unter anderem Änderungssatz-Kommentare). “Heimliche” Vorgänge wecken da ein gewisses Mißtrauen, auch aus der Erfahrung heraus.

Meine Vermutung ist ja, daß es eigentlich um name- bzw. name:*-Tags geht. Das kann sinnvoll sein oder auch nicht. Die meisten systematischen/großskaligen/mechanischen Bearbeitungen in diesem Bereich waren jedoch Teil von Namensdisputen in Regionen mit einschlägigen Konflikten - was mich in meinem Mißtrauen bestärkt.