Ich habe eine riesige Liste von Ebenen in einem Projekt, die in einer Fremdsprache benannt sind. Ich möchte den englischen Titel übersetzen und dem Namen hinzufügen.
Wenn ich mit der rechten Maustaste auf eine Ebene klicke Properties -> General
und den Ebenennamen auswähle und ändere, wird er im Ebenenbaum angezeigt, aber die Originaldatei bleibt gleich.
Gibt es eine Möglichkeit, den Namen der Originaldatei in QGIS zu ändern?
Es gibt so viele, dass das Durchsuchen aller in meinen Ordnern zu lange dauern würde.
Antworten:
Dazu müssten Sie i) die Ebene aus dem ToC entfernen, ii) die Dateien umbenennen, die dem Shapefile entsprechen (dh shp, dbf, shx, prj und dergleichen), und iii) die umbenannte Ebene in laden QGIS. Aber wir müssen diesen Workflow automatisieren!
Wenn Sie sich die Schritte ansehen, ähneln sie denen des Table Manager-Plugins. Also habe ich den Code eines solchen Plugins angepasst, um Shapefiles umzubenennen. Sie können ihn hier herunterladen .
Sie können es auf diese Weise verwenden (versuchen Sie es zuerst mit einem kleinen Sicherungsprojekt, um zu sehen, wie es funktioniert):
Kopieren Sie dort das nächste Code-Snippet:
Das ist es! Ich habe es unter GNU / Linux, QGIS 2.6 getestet. Die Reihenfolge der Ebenen im Inhaltsverzeichnis variiert nach dem Ausführen des Codes.
Lassen Sie mich wissen, wenn Sie ein Problem haben.
Wenn Sie die Ebenenreihenfolge beibehalten möchten, stellen Sie eine neue Frage, vielleicht kann ich sie mir ansehen :).
quelle
Für R-Benutzer habe ich eine schnelle R-Funktion geschrieben, mit der die .shp-Datei und alle zugehörigen Dateien im Stapel umbenannt werden. Es ist ziemlich nackt und es gibt keine Fehlerprüfung usw. Wenn es fehlschlägt, müssen Sie eine kleine Untersuchung durchführen.
quelle
Wenn Sie ein konsistentes Schema zum Umbenennen haben, können Sie dies in einem Python-Skript tun. Eine Methode in Python ist os.rename (src, dest) . Spezifische Details hängen davon ab, wie der Algorithmus zum Umbenennen der Dateien lautet. Dies dient zum Umbenennen der eigentlichen Dateien, nicht nur der Ebenennamen im Inhaltsverzeichnis.
Ansonsten kenne ich keine Alternative zum manuellen Umbenennen, da Sie sie übersetzen müssen. Theoretisch könnten Sie ein Wörterbuch mit Übersetzungen in Python erstellen, aber das Codieren würde wahrscheinlich genauso lange dauern wie das manuelle Ausführen. Beachten Sie außerdem, dass das Umbenennen von Dateien selbst Datenquellen beschädigt. Das Umbenennen nur der Ebenennamen im Inhaltsverzeichnis sollte in Ordnung sein, aber ich bin mit QGIS nicht so vertraut wie Arc.
quelle
Ich schlage vor, dieses Programm zu verwenden, um Ihre Dateien umzubenennen http://www.bulkrenameutility.co.uk/Main_Intro.php . Es ist offen und einfach zu bedienen. Nachdem Sie Ihre Datei umbenannt haben, müssen Sie mit einem Texteditor Ihre qgis-Projektdatei öffnen (versuchen Sie es mit Notepad ++) und das gleiche Suchen und Ersetzen durchführen.
quelle