Tipps. Tricks.

Blog

QGIS • 06. Oktober 2021

Visualisierung und Manipulation von LIDAR-Daten mit QGIS und PDAL

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:

  • Nur Ausmaße: Es wird die Ausdehnung der Daten angezeigt. Dies kann für eine 3D-Darstellung interessant sein, da ansonsten die Daten zwei Mal angezeigt werden.
  • Attribute nach Verlauf: Damit lassen sich numerische Werte wie Höhe (z-Wert), Intensität des Signals oder Anzahl der Reflektionen darstellen (vgl. Abb. 3).
  • RGB: Diese Darstellung ist vor allem interessant, wenn die Daten aus einer Kamera-Befliegung - z. B. mit einem UAV - erzeugt worden sind. Die Punkte der Punktwolke erhalten dann die Farbwerte des entsprechenden Bildpunktes.
  • Klassifikation: Hier sind oftmals automatisch abgeleitete Objektinformationen aus den LIDAR-Daten enthalten (Vegetation, Wasser, Boden etc.). QGIS lädt Punktwolken standardmäßig als klassifizierte Daten mit einer Standardklassifizierung. Diese kann jedoch von der tatsächlichen Klassifizierung abweichen – wie in dem Geodaten.NRW-Testdatensatz zu sehen ist.

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.

  • In den Layereigenschaften setzen wir die Darstellung auf „Nur Ausmaße“.
  • In der 3D-Konfiguration stellen wir den Geländehöhenversatz auf einen passenden Z-Wert aus der Statistik, in den Übungsdaten z. B. auf 100 Meter.
  • In einem weiteren Arbeitsschritt ändern wir das Rendering: Über die Konfiguration schalten wir das Eye-Dome-Lighting ein.

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:

Stefan Giese

Stefan Giese ist Diplom-Geologe und seit 2016 als GIS-Consultant und QGIS-Trainer bei der WhereGroup tätig. Er lebt und arbeit in Freiburg im Breisgau und beschäftigt sich neben seiner Arbeit bei der WhereGroup mit der geophysikalischen Erkundung von archäologischen Bodendenkmälern.

Artikel teilen: