Ich habe einige QGIS-Projekte, die ich seit langer Zeit verwende, Ebenen hinzufügen und entfernen, Verweise auf gelöschte oder verschobene Dateien aktualisieren usw.
Öffnen der qgs-Datei mit einem Texteditor Ich sehe, dass sie zahlreiche Verweise auf verschiedene Dateien enthält, und diese Verweise werden im Ebenenbaumbereich nicht angezeigt.
Ich habe drei verschiedene Fälle: Verweise auf vorhandene Dateien, Verweise auf fehlende Dateien, Verweise auf Datenbankverbindungen. Dies wurde mir bewusst, als ich mein Projekt auf einem anderen Computer öffnete und QGIS eine fehlende Datenbankverbindung zu Vektortabellen meldete, die in der Ebenenbaumansicht nicht vorhanden waren.
Das manuelle Löschen von Referenzen aus der qgs-Datei löste das Problem, aber ich verwalte große Projekte und es ist nahezu unmöglich, die Projektkonsistenz manuell zu überprüfen. Ich habe das Plugin "Leere Ebenen entfernen" ausprobiert, aber diejenigen, die ich entfernen möchte, sind keine leeren Ebenen.
Gibt es eine Möglichkeit, die QGIS-Datei zu löschen?
quelle
Setting--> Project Properties-->save paths-->relative
Cheers NAntworten:
Die fraglichen Ebenen befinden sich in der Ebenenregistrierung, jedoch nicht in der Legende .
Das folgende Python-Skript entfernt alle Ebenen, die geladen, aber nicht in der Legende angezeigt werden.
Entfernen der Ebenen:
Es sollte über die Python-Konsole in QGIS ausgeführt werden. Nach dem Anwenden können Sie den Vorgang überprüfen, indem Sie überprüfen, ob die Ebenen aus Datei (Projekt in 2.0) entfernt wurden => Projekteigenschaften => Identifizierbare Ebenen . Änderungen werden nicht automatisch gespeichert
Durch Hinzufügen der folgenden Zeile am Ende werden Änderungen ebenfalls automatisch gespeichert.
Bitte erstellen Sie eine Sicherungskopie Ihrer Projektdatei (.qgs), bevor Sie Ihre Projektdatei überschreiben, nachdem Sie dieses Skript angewendet haben.
Für QGIS 1.8 muss zunächst die folgende Zeile ausgeführt werden:
quelle
Zusätzlich zu vielen anderen nützlichen Funktionen verfügt das Plugin mit dem Namen " Layer Board " (im Plugin-Installationsprogramm verfügbar) über eine integrierte Schaltfläche zum Entfernen von Ghost-Layern, mit der dieses Problem behoben wird.
Neben der 1-Klick-Schaltfläche zum Entfernen von Ghost-Ebenen können Sie auch einzelne Ebenen in einer schönen Benutzeroberfläche anzeigen und entfernen, in der jede Ebene und ihre Eigenschaften aufgelistet sind. Sie können jede dieser einzelnen Ebenen aus der Tabelle auswählen und auf die Schaltfläche "Ebene entfernen" klicken, um jedes Problem einzeln zu beheben.
In meinem Fall war die Möglichkeit, einzelne Ebenenreferenzen zu entfernen, sehr wichtig, da ich einige "Ghost-Ebenen" hatte, die denselben Namen hatten, aber 2-3 Mal in der Registrierung referenziert wurden. Ich habe die Ebenenplatine verwendet, um die richtigen Einträge einzeln zu entfernen und zur richtigen Einzelschichtreferenz zurückzukehren.
quelle