[FOSSGIS-Talk] virtuelle Layer lässt QGIS einfrieren

bmarcus at giswana.de bmarcus at giswana.de
Mi Dez 22 13:51:43 CET 2021


Hallo Daniel,

bei Arbeiten mit Geodaten gebe ich SpatiaLite gegenüber GeoPackage den
Vorzug. Für die Darstellung von Layern, deren Information über zwei oder
mehr Tabellen verteilt sind, können Spatial-Views eingesetzt werden, um
Informationen nicht redundant in der Datenbank vorzuhalten. Diese Views
können wie herkömmliche Layer in QGIS eingebunden werden. Bei GeoPackage
sind meine Erfahrungen mit Spatial-Views eher negativ geprägt, weshalb ich
weitere Versuche seit längerem aufgegeben habe.

Da ich nicht weiß, ob für dich ein Umstieg auf ein anderes Datenformat in
Frage kommen könnte, kannst du für die Lösung deines Problems auch den
DB-Manager nehmen. Deine gpkg Datei sollte als angemeldete Datenbank
vorliegen, so dass diese unter dem entsprechenden Datenbankanbieter
aufgerufen werden kann.  Im Editor kannst du den SQL-Code deines Virtuellen
Layers nutzen. Evtl. musst du die Geometrie als "geom" und nicht als
"geometry" ansprechen. Das Abfrageergebnis dann "als neuen Layer laden", mit
Angabe zur eindeutigen Kennung und der Geometrie. Liegen 1:n Beziehungen vor
und es gibt kein eindeutiges ID-Feld, ist die Option "Objektabfrage nach ID
vermeiden" zu aktivieren.

Nach meiner Erfahrung sind diese Art Layer wesentlich performanter als
Virtuelle Layer. Ob es eine Einschränkung in der nutzbaren Anzahl gibt,
entzieht sich allerdings meiner Kenntnis. Im Gegensatz zu Virtuellen Layern
konnte ich mit den Db-Layern auch komplexere Layer generieren, die auf mehr
als nur zwei Tabellen zugriffen (hier mit QGIS 3.16.14).

Ein weiterer Vorteil besteht in der Möglichkeit des Speicherns des
unterliegenden SQL-Codes, der durch erneuten Aufruf schnell an die
jeweiligen Bedürfnisse angepasst werden kann, um evtl. einen weiteren Layer
zu erstellen.

Allerdings würde ich es mit der Erstellung neuer Layer zu reinen
Darstellungszwecken nicht übertreiben. Wenn es nur darum geht, vorgefilterte
Informationen zu präsentieren, ist eine Regel basierte Darstellung die
bessere Wahl. QGIS bietet darüber hinaus die Möglichkeit für ein und
denselben Layer unterschiedliche Stile festzulegen.

Grüße vom anderen 

Bernd 





Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste