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.)

Ger
quelle

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

artwork21
quelle
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.

AndreJ
quelle
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

MAJ742
quelle
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.

Hannes Ledegen
quelle
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