Ich habe ein QGIS-Projekt (2.14.3-Essen), das ich sowohl bei der Arbeit als auch zu Hause verwende. Ich behalte alle bis auf zwei Ebenen mit dem Projekt.
Die beiden verbleibenden Schichten sind sehr groß - ein DEM und ein Hillshade mit einer Gesamtgröße von mehr als 20 GB - und werden bei der Arbeit und zu Hause auf unterschiedlichen Pfaden gespeichert.
Ich möchte den Handle Bad Layers
Dialog ignorieren und die unterbrochenen Pfade für diese Ebenen beibehalten. Es ist mir oft egal, dass sie schlecht sind; Ich möchte Änderungen an anderen Teilen des Projekts vornehmen.
Gibt es eine Möglichkeit, das Dialogfeld "Schlechte Ebenen behandeln" zu ignorieren oder zu überspringen, damit ich den Verweis auf die Ebenen nicht verliere, wenn ich sie nicht aktualisiere?
Antworten:
Erstellen Sie einfach separate Kopien aus Ihrer Projektdatei für den privaten und beruflichen Gebrauch.
Von Ihnen gespeicherte Daten werden in die Layer-Quelldateien und nicht in die Projektdatei geschrieben.
Sobald Sie den Hausaufgaben-Teil beendet haben, können Sie ihn zur Arbeit bringen und die fehlerhaften Ebenen erneut hinzufügen. Wenn Sie Schwierigkeiten beim Stylen von Ebenen haben, können Sie diese separat speichern und auch hinzufügen.
Eine andere Möglichkeit besteht darin, eine VRT-Datei um die externe Quelle zu wickeln.
Ein Beispielbeispiel für eine Geotif-Rasterdatei, erstellt mit
gdal_translate
:und ein Beispiel für ein Shapefile:
Wenn die Quelldateien nicht vorhanden sind, wird das Raster als schwarzes Quadrat angezeigt (Sie können die Ebene möglicherweise unsichtbar machen), und die Vektorebene wird ohne Fehlermeldungen zu einer Tabelle ohne Geometrie. Zusätzliche Nicht-VRT-Ebenen mit nicht entfernten Quelldateien bleiben erhalten und können bearbeitet werden. Wenn Sie die Quelldateien neu installieren, ist alles wieder normal, auch die Änderungen an den anderen Ebenen.
quelle
Eine mögliche Lösung besteht darin, Ihre qgs-Projektdatei mithilfe eines Skripts zu ändern. Ich habe festgestellt, dass beim Ersetzen der Datenquelle das Popup "
<datasource>.</datsource>
Schlechte Ebenen behandeln" ignoriert wird.Python-Skript wird ausgeführt, wenn Sie bestimmte Ebenen nicht laden möchten.
Auszuführendes Python-Skript zum Einfügen des entsprechenden Datenquellenpfads.
Auf diese Weise können Sie ein
DoNotLoad.py
mit dem obersten Skript und einhome.py
mit Pfaden zu Ihren Heimquellen und einwork.py
mit Pfaden zu Ihren Arbeitsquellen einrichten, indem Sie das zweite Skript als Muster verwenden.Sie müssen dann an einem einzelnen Projekt arbeiten, aber Sie können Ihre Pfade je nach Umgebung, in der Sie sich befinden, problemlos ändern oder die Pfade so ändern, dass die Ebenen nicht geladen werden, sondern sich noch in Ihrem Projekt befinden (Ihr gesamtes Styling wird gespeichert und ich denke, Sie können sogar das Styling ändern, wenn Sie möchten. Es wird nur nichts in der Karte angezeigt.
quelle
Das ChangeDataSource-Plugin behält die Ebenen in der Datei bei, indem es sie vorübergehend in eine Gruppe mit fehlerhaften Ebenen verschiebt. https://geogear.wordpress.com/2016/01/29/changedatasourceplugin-plugin-release-2-0/ Es sollte tun, was Sie wollen. Letztes Jahr hatte ich ein ähnliches Problem und bemerkte, dass es das ChangeDataSource-Plugin gab, das mit Ebenen funktionierte, aber keine schlechten Ebenen behandelte. Ich erwähnte, dass der Umgang mit schlechten Ebenen eine großartige Funktion in den Kommentaren im Blog des Entwicklers (Enrico Ferreguti) wäre. Innerhalb einer Woche hatte er es hinzugefügt!
quelle