Mit der QGIS-Version 3.18 wurde – neben vielen anderen neuen Funktionen – erstmals die Möglichkeit eingeführt, Punktwolken (point clouds) zu visualisieren. Die Integration der Punktwolken-Visualisierung wurde durch eine Crowdfunding-Kampagne mit Unterstützung der QGIS-Community ermöglicht.
Punktwolken-Daten können aus verschiedenen Quellen stammen. Häufig sind sie ein Produkt der Laservermessung (LIDAR), sie können aber auch durch photogrammetrische Prozesse oder optische Verfahren wie „Structure from Motion“ gewonnen werden. Unterschiedlichste Punktwolken-Daten finden sich zum Beispiel in dem Portal opentopography.org.
Für das folgende Beispiel habe ich LIDAR-Testdaten aus OpenGeodata.NRW verwendet.
Daten in QGIS laden
Das Hinzufügen von Punktwolken zu QGIS ist denkbar einfach und kann wie bei anderen Geodatensätzen direkt aus dem Browser per Drag & Drop oder über die Datenquellenverwaltung (vgl. Abb. 2) erfolgen.
Beim ersten Laden einer LAZ- oder LAS-Datei - was je nach Größe der Datei einige Zeit dauern kann - kachelt und indiziert QGIS die Daten im Entwine Point Tile Format. Beim nächsten Hinzufügen der Daten geht es dann dafür deutlich schneller. Sind die Daten in QGIS geladen, werden diese initial in einer standardisierten Klassifizierung dargestellt.
Layergestaltung in QGIS
Je nach Datenherkunft und -inhalt bieten sich jedoch auch andere Darstellungsarten an.
Über die Layergestaltung (bspw. Rechtsklick auf zu gestaltenden Layer → Eigenschaften → Symbolisierung) gibt es derzeit folgende Darstellungsmöglichkeiten:
Um sich einen ersten Überblick über die Daten zu verschaffen, sind die Layer-Eigenschaften von QGIS sehr hilfreich. Im Reiter „Statistik“ finden sich Hinweise über die verfügbaren Daten und deren Verteilung (vgl. Abb. 4).
3D-Darstellung
Da jeder Punkt einer Punktwolke neben seinen Koordinaten auch einen Z-Wert (Höhe) enthält, eignen sich Punktwolken gut zur Darstellung in einer QGIS-3D-Kartenansicht. Dazu starten wir über Menü → Ansicht → Neue 3D-Kartenansicht das 3D-Kartenfenster. Die Punktwolke erscheint nun zweimal mit einem Höhenversatz. Dadurch wird die 3D-Steuerung erheblich erschwert. Mit folgenden Arbeitsschritten lässt sich dies beheben.
Eye-Dome-Lighting (EDL) ist ein nicht-photorealistisches Beleuchtungsmodell, welches die Tiefenwirkung von Punktwolken erhöht. Dadurch lassen sich 3D-Darstellungen von Punktwolken besser interpretieren. EDL wurde in der QGIS-Version 3.20 eingeführt.
Manipulation von Punktwolken mit PDAL
Da Punktwolken-Dateien häufig sehr groß sind – es kommen schnell einige Gigabyte zusammen – ist es unter Umständen notwendig, die Daten einem Preprocessing zu unterziehen. Hierzu kann PDAL, die Point Data Abstraction Library, verwendet werden.
PDAL ist eine Bibliothek, die von QGIS verwendet wird, um Punktwolken zu laden und zu visualisieren. Gesteuert werden kann PDAL auf der Kommandozeile oder mit Python. Ein Beispiel, wie man mit PDAL aus einer Punktwolke ein Höhendatenraster erzeugt, schauen wir uns im Folgenden an.
Ähnlich wie GDAL (Geospatial Data Abstraction Library) stellt PDAL Kommandozeilentools zur Manipulation, Berechnung und Konvertierung von Punktwolken zur Verfügung. Zum Prozessieren von Punktwolken nutzt PDAL den Befehl Pipeline.
Eine Pipeline ist eine Verkettung von Prozessing-Schritten wie Daten einlesen, ausdünnen, konvertieren und Ergebnisdaten schreiben, die über ein JSON-Objekt definiert und an PDAL übergeben werden. Das folgende Beispiel zeigt eine Pipeline:
{
"pipeline": [
"3dm_32_510_5704_1_nw.laz",
{
"type": "filters.range",
"limits": "Classification[2:2]"
},
{
"filename": "dtm.tif",
"gdaldriver": "GTiff",
"output_type": "all",
"resolution": "5.0",
"type": "writers.gdal"
}
]
}
In dem oben gezeigten Beispiel werden unsere Demodaten eingelesen, anschließend auf Signale der Klasse „Boden“ gefiltert – also keine Vegetation oder Bäume – und anschließend in ein GeoTIFF mit einer Zellengröße von 5 Metern geschrieben. Das Ergebnis repräsentiert ein digitales Geländemodell als Rasterdatum.
Ausgeführt werden kann die Pipeline per Kommandozeile. Dazu starten wir die OSGeo4W Shellund wechseln in unser Projektverzeichnis, in der die LIDAR Daten und die JSON Datei, in diesem Fall habe ich sie pipeline.json genannt, liegen. Der PDAL Aufruf erfolgt dann folgendermaßen:
Nach erfolgreichen Ausführen des PDAL Kommandos liegt das Ergebnis als Datei dtm.tif im selben Verzeichnis.
Fazit
Die Punktwolkenvisualisierung ist sicherlich ein Meilenstein in der QGIS-Entwicklung, da dieses Geodatenformat schnell an Bedeutung und Verbreitung gewinnt. In der aktuellen QGIS-Version (3.20) sind insbesondere die Verarbeitungsalgorithmen für Punktwolken nur über Python oder die Kommandozeile verfügbar. Gespannt sein kann man auf die weitere Entwicklung in QGIS und die Integration von PDAL in die Werkzeugkiste.
Weitere Beiträge, die Dich interessieren könnten: