Die Arbeit mit großen Datenmengen ist täglicher Alltag im GIS-Bereich, das ändert aber nichts daran, dass große Datenmengen oft zu langsamen und ineffizienten Arbeitsabläufen führen. Sei es das Warten auf einen Download bzw. das Update von Daten, die von einem Datenbankserver bezogen werden, das Warten auf die Aktualisierung einer Kartenanzeige nach einer Interaktion oder das Warten auf das Öffnen der Attributtabelle. Dabei wird tatsächlich häufig nur eine Untermenge der Daten benötigt, zum Beispiel nur die Daten innerhalb einer Gemeinde oder einer statistischen Zelle.
Bei der Hessischen Verwaltung für Bodenmanagement und Geoinformation (HVBG) wurde bisher eine proprietäre GIS-Umgebung eingesetzt, in welcher Benutzer*innen mit einer räumlichen Filterfunktion die Datenmenge dynamisch und live je nach Bedarf einschränken konnten. Im Rahmen eines Umstiegs auf freie GIS-Lösungen wurde diese Funktionalität in QGIS vermisst und so wandte sich die HVBG mit einem Konzept für ein maßgeschneidertes QGIS-Plugin an die WhereGroup. Eine Umsetzungsmöglichkeit war schnell identifiziert und gemeinsam wurden die konkreten Funktionen und Interaktionsmuster definiert. Entwickelt wurde das Plugin von Peter Gipper, Mathias Gröbe und Johannes Kröger.
Und so freuen wir uns hier ein neues QGIS-Plugin präsentieren zu dürfen, welches Sie ab sofort mit drei Klicks in QGIS installieren können:
Mit dem neuen QGIS-Plugin "Räumlicher Filter" können die Layer von QGIS-Projekten auf räumliche Gebiete gefiltert werden. Sämtliche unterstützten Layer (PostGIS, Spatialite, GeoPackage) werden damit auf die benutzerdefinierte Geometrie beschränkt und (je nach ausgewähltem räumlichen Vergleichsoperator) außerhalb davon liegende Geoobjekte direkt beim Zugriff auf die Datenquelle ausgeschlossen. Wird der Filter deaktiviert, so werden wieder sämtliche Daten geladen und angezeigt.
Die Filtergeometrien können über mehrere Optionen definiert werden:
Als Vergleichsoperatoren ("nach welcher Bedingung sollen Geoobjekte geladen werden") stehen "schneidet" (Intersects), "innerhalb" (Within), sowie "schneidet nicht" (Disjoint) bereit. Einmal definierte Filter werden im Projekt mit abgespeichert und können auch zur Wiederverwendung im jeweiligen Benutzer*innen-Profil verwaltet werden. Bei Bedarf können einzelne Layer auch von der Filterung ausgeschlossen werden.
All diese Optionen sind in einer übersichtlichen Werkzeugleiste verfügbar:
Aktuellen Filter entfernen
Name des aktuellen Filters
Filtergeometrie ein-/ausblenden
Auf Filter zoomen
Darstellung der Filtergeometrie anpassen
Filter erstellen: Rechteckiger Filter
Filter erstellen: Filter aus gewählten Features
Filter erstellen: Filter-Polygon in der Karte zeichnen
Räumlichen Operator auswählen
Ausnahmen festlegen
Filter verwalten
Im Hintergrund verwendet das Plugin die QGIS-native Objektfilter-Funktion, welche für bestimmte Datenquellen (daher die Einschränkung auf PostGIS, Spatialite und GeoPackage) auch räumliche Vergleiche unterstützt. Praktischer Nebeneffekt: Auch beim Exportieren der so gefilterten Daten verwendet QGIS die aktuelle Einschränkung, so dass es sehr einfach ist etwa unterschiedliche Fachdatenlayer auf ein Untersuchungsgebiet zuzuschneiden und weiterzugeben.
Wir hoffen, dass dieses Plugin unzählige Arbeitsstunden sparen oder mindestens angenehmer machen wird und freuen uns über Feedback, Kommentare und natürlich Weiterentwicklungs- und Wartungsaufträge. Herzlichen Dank an das HVBG-Team für die angenehme Zusammenarbeit und die aktive Unterstützung der Open-Source-Community durch die freie Veröffentlichung des Plugins.
Weiterführende Links:
Weitere Beiträge, die Dich interessieren könnten: