Dateispeicherorte in QGIS-Projekten aktualisieren?


15

Ich habe ungefähr 30 verschiedene QGIS-Projektdateien für 30 verschiedene Kunden. Jedes wird auf meinem Computer gespeichert und alle relevanten Vektor- und Rasterdateien werden lokal gespeichert.

Wir sind gerade dabei, das Büro zu verlegen und unsere Computer zu aktualisieren.

Infolgedessen muss ich alle meine Dateien von meinem Computer auf das Netzlaufwerk verschieben und so alle vorherigen Dateiverweise löschen.

Abgesehen davon, dass Sie manuell auf jede Datei klicken und nach dem neuen Speicherort suchen, gibt es keine andere Möglichkeit, dies zu ändern.

(Jedes Projekt könnte ein paar hundert Links haben, die aktualisiert werden müssen.)

Antworten:


20

Ich bin nicht sicher, welche Version von QGIS Sie verwenden, aber in v> 2.0.1 können Sie das Dialogfeld "Fehlerhafte Ebenen behandeln" wie folgt verwenden:

Bildbeschreibung hier eingeben

  1. Wählen Sie alle Ebenen im gemeinsamen Verzeichnis aus, während Sie die Strg-Taste gedrückt halten
  2. Doppelklicken Sie auf den zuletzt ausgewählten
  3. Verlegen Sie eine der Ebenen neu und wählen Sie Öffnen
  4. Wiederholen Sie den Vorgang für weitere Verzeichnisse

Dadurch werden dateibasierte Ebenen nach Verzeichnis (nicht Datenbankebenen) stapelweise aktualisiert:

Bildbeschreibung hier eingeben


1
Vielen Dank für den Hinweis! Ich habe nach einer solchen Funktion gesucht, seit ArcGIS vor einigen Versionen die Option "Datenquelle reparieren" hinzugefügt hat.
HeyOverThere

Ich wusste nicht, dass Sie mehrere Ebenen gleichzeitig mit einem gemeinsamen Verzeichnis aktualisieren können. Vielen Dank!
SAnderka

Prost! das scheint das zu sein, wonach ich suche. Ich habe es noch nicht ausprobiert, werde es aber heute tun. Wenn es funktioniert, werde ich die Antwort akzeptieren.
Ger

Es ist nett, aber es scheint nicht in der Lage zu sein, mit File-Geodatabases zu arbeiten, da es nur eine Datei und kein Verzeichnis benötigt. Als Test habe ich versucht zu sehen, ob eine der gdb-Dateien mit dem arkanen Namen funktioniert, aber nach den meisten Versuchen habe ich aufgegeben.
Johns

Dies scheint mit QGIS 3.2 unter macOS nicht zu funktionieren. Ich habe sowohl die Befehlstaste als auch die Umschalttaste zum Auswählen mehrerer Dateien verwendet, es scheint jedoch nicht, dass mehrere Dateien manuell bearbeitet werden, wenn ich einen Pfad ändere.
Adam Stewart

19

Die QGIS-Projektdateien sind einfache Textdateien. Sie können den Inhalt mit einem beliebigen Texteditor suchen und ersetzen.

Schauen Sie einfach nach, wie die Dateien am alten und neuen Speicherort referenziert werden, und Sie wissen, was geändert werden muss.

Notepad ++ ermöglicht sogar die Stapelverarbeitung über mehrere Dateien in einem Schritt.


1
Versuchte dies mit QGIS 3.2 unter macOS und es sieht so aus, als wären die Projektdateien nun Binärdateien, so dass diese Lösung nicht mehr funktioniert.
Adam Stewart

2
@AdamStewart Die .qgz-Dateien sind nur komprimierte Versionen der .qgs-Dateien. Sie können sie in Ihrem Betriebssystem entpacken oder als .qgs-Dateien wie in QGIS 2
speichern

6

Wenn Sie das Projekt mit relativen Pfadverknüpfungen speichern, bevor Sie Ihre Daten verschieben, sollten Sie keine Verknüpfungen in den neuen Projekten reparieren müssen.

In QGIS v2.01 Gehen Sie zu Projekt> Projekteigenschaften und wählen Sie Pfade relativ speichern, bevor Sie Ihre Daten verschieben. Solange Sie nur die Daten kopieren und dieselbe Ordnerstruktur beibehalten, sollten die Dateien funktionieren, wenn Sie die Projekte erneut öffnen Ihr Netzlaufwerk.

Relative Pfade speichern


Leider wird das erste Stück der Struktur zumindest anders sein.
Ger

OK, relative Pfade funktionieren weiterhin, solange die Projekte und Daten in derselben Struktur relativ zueinander gespeichert sind, auch wenn sich der erste Teil ändert. Im folgenden Beispiel kann der ursprüngliche Teil des Pfads so unterschiedlich sein, wie Sie möchten, solange Sie alles unterhalb der Ebene des Arbeitsordners verschieben und beibehalten. Projects = C: /Work/Projects/myproj.qgs und Data = C: /Work/Data/myfile.shp
MAJ742

Akzeptiert wird nur, dass C: // vollständig in ein vernetztes Laufwerk geändert wurde.
Ger

Möglicherweise habe ich die Lösung für das relative Pfadproblem gefunden. Ich hoffe, das QGIS-Team kann dieses Problem überprüfen und lösen. Siehe meinen Beitrag hier: gis.stackexchange.com/questions/210992/…
oat

1

Ich habe ein nettes Plugin gefunden, das von Nutzen sein könnte: Qconsolidate (zum Installieren: in den Plugin-Einstellungen zuerst das Kästchen "Experimentelle Plugins" ankreuzen). Dieses Plugin speichert alle Ebenen im Projekt in einem Ordner und bearbeitet die Pfade. Ordner und Projekt können von überall verschoben und geöffnet werden.


Qconsolidate imho löst ein anderes Problem. Es werden Kopien der Datasets erstellt, anstatt die Pfade zu einem neuen Netzwerklaufwerksspeicherort zu ändern.
underdark

Das ist richtig. Wenn Sie mit sehr vielen großen Shapefiles in mehreren Projekten arbeiten, ist dies nicht sehr nützlich. Wenn Sie jedoch mit wenigen Arbeitsbereichen mit einer großen Anzahl von Shapefiles arbeiten, die sich in vielen verschiedenen Maps befinden, ist es hilfreich, diese auf einfache Weise zu gruppieren und zu sichern.
Hannes Ledegen

QPackage macht einen ähnlichen Trick, um Informationen zu erhalten.
Gisnside
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.