Software-Tipps

Verarbeiten einer PointCloud (mit CloudCompare)

Für ein Beispielprojekt unseres Baukastensystems MapComponents waren wir auf der Suche nach einem Tutorial für die Installation von CloudCompare und seiner Verwendung für eine PointCoud. Leider vergeblich! Und so hat sich unser Auszubildender Jannik Brack selber ans Werk gemacht und ein Tutorial verfasst, dass wir Ihnen hier zur Verfügung stellen.

Installation (Linux)

Um CloudCompare für Ubuntu zu installieren, öffnen Sie das Terminal (mit Strg + Alt + t) und geben den Befehl sudo snap install cloudcompare ein. Damit haben Sie zwei Programme (CloudCompare und CloudCompareViewer) auf dem Computer installiert. Im Rahmen dieses Beitrags konzentrieren wir uns auf die Nutzeroberfläche von CloudCompare. Die PointCloud sollten Sie vorab in einer LAS- oder LAZ-Datei gespeichert haben.

Grundlagen

PointCloud öffnen

Um eine Datei zu öffnen, kann man diese entweder per „Drag and Drop“ in die Nutzeroberfläche (rot markierter Bereich) ziehen oder man kann diese über file → open öffnen.

CloudCompare-Oberfläche
Abb. 1: CloudCompare-Oberfläche

Nun öffnet sich ein PopUp-Fenster mit dem Titel „Open LAS File“. In diesem Fenster werden keine Änderungen vorgenommen, man kann einfach auf apply drücken um das LAS File zu laden.

Open LAS File Fenster
Abb. 2: Open LAS File Fenster

Als nächstes öffnet sich ein Fenster, in dem man den „Global Shift“ anpassen kann. Falls in dem rot markierten Bereich Werte größer als 0 stehen sollten, setzen Sie diesen bitte auf 0 (damit die Skalierung unverändert bleibt) und bestätigen mit „yes“. WICHTIG! Bei allen hinzugefügten Objekten muss dieser global shift/scale einheitlich eingestellt werden!

Global shift/scale
Abb. 3: Global shift/scale

Nun sieht das Programm so aus (in der Ansicht unten zeigen wir eine beispielhafte PointCloud).

Beispielhafte PointCloud
Abb. 4: Beispielhafte PointCloud

Shader anpassen – für eine bessere Übersicht

Falls die PointCloud einfarbig und unübersichtlich ist, lohnt es sich (je nach Größe der Datei und Rechenleistung Ihres Computers), einen Shader einzuschalten. Dies ist unter display < shaders & filters möglich. Empfohlen wird der bereits vorinstallierte EDL shader. Dieser fügt schwarze Linien als Umrisse hinzu.

Ansicht mit angepasstem Shader
Abb. 5: Ansicht mit angepasstem Shader

PointCloud Bewegen, Drehen und Zoomen

Nun ist die Position der PointCloud besser zu sehen und Sie können die  PointCloud bewegen, drehen und zoomen.

Linksklick + Mausbewegen → PointCloud drehen

Rechtsklick + Mausbewegen → PointCloud bewegen

Mausrad betätigen → PointCloud zoomen

Doppelrechtsklick → PointCloud verschieben, auf eine vorher angeklickte Stelle auf der Rotationsachse.

PointCloud zuschneiden

Um eine PointCloud zuzuschneiden, muss diese zunächst im sogenannten DB-Tree ausgewählt werden. Um das zu tun, klicken Sie in der PointCloud auf die 3D-Darstellung oder den DB-Tree. Wenn die PointCloud ausgewählt ist, wird ein gelber Kasten um die PointCloud angezeigt und ist im DB-Tree blau markiert.

Auswahl der Pointcloud im DB-Tree und Markierung
Abb. 6: Auswahl der Pointcloud im DB-Tree und Markierung

Im nächsten Schritt empfehlen wir, die PointCloud so zu drehen, dass Sie den Bereich, der ausgeschnitten werden soll, gut überblicken können. Wählen Sie anschließend in der oberen Menüleiste das segment symbol aus, dass einer Schere ähnelt.

Segment Symbol
Abb. 7: Segment Symbol

Nun können Sie mit einem Linksklick Punkte platzieren, die sich mit Linien zu einem Polygon verbinden. Dieses Polygon markiert die ausgewählte Fläche. Mit einem Rechtsklick schließen Sie die Auswahl ab und bestätigen diese.

Polygon-Auswahl in der PointCloud
Abb. 8: Polygon-Auswahl in der PointCloud

Nach Abschluss der Auswahl wird rechts oben ein neues Menü angezeigt.

Neues Menü
Abb. 9: Neues Menü

Mit dem rot gefüllten Fünfeck (Abb.10) können Sie alles auswählen, was sich innerhalb des oben gezeichneten Polygons befindet.

Der Kopf mit der roten Fläche und einem Fünfeckigen Loch wählt alles, was sich außerhalb des gezeichneten Polygons befindet, aus. (In diesem Beispiel interessiert uns die Straße. Wir wählen den Knopf mit dem Fünfeck.)

Anzeige der Auswahl
Abb. 10: Anzeige der Auswahl

Das Programm zeigt nochmals an, was ausgewählt wurde. Ein Linksklick auf den grünen Haken bestätigt diese Auswahl.

Abb. 11: Menü

Nach dem Bestätigen wird die PointCloud in zwei Teile geteilt (Hinweis: beide Hälften sind sichtbar gestellt. Das lässt sich mit dem Haken neben dem Namen ändern). Die eine PointCloud enthält das Negativ, also das Gegenteil von dem, was wir ausgewählt haben.

Geteilte PointClouds
Abb. 12: Geteilte PointClouds

Die andere PointCloud enthält das ausgewählte Objekt.

Abb. 13: Das ausgewählte Objekt

Sofern die PointCloud ausgewählt ist, kann diese als LAS-Datei gespeichert werden. Dies ist über file > save oder strg + s möglich. Man sollte allerdings darauf achten, dass in dem Speicherfenster als Dateityp LAS Cloud ausgewählt ist.

Speichern der PointCloud
Abb. 14: Speichern der PointCloud

Nach der Bestätigung des Speicherortes öffnet sich ein weiteres Fenster. Wählen Sie hier original resolution… aus und bestätigen Sie mit OK.

Abb. 15: Speichereinstellungen der PointCloud

Farblose PointCloud einfärben

Für diesen Schritt werden eine PointCloud sowie eine JP2-Datei (Was ist das für eine Datei?) mit den gleichen geografischen Daten benötigt. Ziel ist, die Farben der JP2-Datei auf die PointCloud zu übertragen. Das ist mit Hilfe von QGIS durch eine Umwandlung der JP2-Datei in eine TIFF-Datei möglich. Anschließend wechseln wir wieder zu CloudCompare und wenden die Farben auf die PointCloud an.

Die Anleitung (für Ubuntu) zum Downloaden finden Sie hier. Nach dem Download kann QGIS geöffnet werden.

Nach dem Öffnen von QGIS, ziehen Sie die JP2-Datei in den Layer-Bereich hinein.

Einfügen der JP2-Datei
Abb. 16: Einfügen der JP2-Datei

Wählen Sie anschließend diese Datei aus, sodass sie blau hinterlegt ist, führen mit einem Rechtsklick die ausgewählte Datei aus und wählen unter Export Speichern als… aus. Es öffnet sich folgendes Fenster:

Änderungen für dieses Fenster:

  • Ausgabemodus: → Wie dargestellt
  • Format: → GeoTIFF
  • Dateiname sowie Speicherorte

Speichern Sie mit OK oder enter.

Speichern des Rasterlayers
Abb. 17: Speichern des Rasterlayers

TIFF auf PointCloud anwenden

Öffnen Sie nun CloudCompare. Die PointCloud sowie die TIFF-Datei werden, wie oben beschrieben, importiert (Hinweis: Da die TIFF-Datei als eine Cloud importiert werden soll, klicken Sie hier bitte yes).

Abb. 18: Importbestätigung
Abb. 19: Korrekte Ausgabe

Die TIFF-Datei befindet sich nun unter der PointCloud. Sie finden Sie, wenn Sie auf der linken Seite in die FrontView wechseln.

TIFF unter der PointCloud
Abb. 20: TIFF unter der PointCloud

Wählen Sie nun mit strg + Linksklick beide Dateien aus und drücken den rot markierten Knopf in der oberen Menüleiste.

Abb. 21: Auswahl beider Dateien

Bitte beachten Sie im folgenden Fenster, dass unter aligned die TIFF steht und die PointCloud als reference. Eine Repositionierung ist mit einem Klick auf OK möglich.

Abb. 22: Repositionierung

Ideales Ergebnis: Die TIFF-Datei steht in der horizontalen Mitte der PointCloud. Um Farben auf die PointCloud anzuwenden, wählen Sie beide Dateien mit  strg + Linksklick und anschließend edit < colors < interpolate from another entity aus. (Hinweis: Dieser Prozess kann je nach PointCloud (im Beispiel 10.000.000 Punkte) sehr lange andauern.

Farben in der PointCloud
Abb. 23. Farben in der PointCloud

Das Endergebnis sieht in unserem Beispiel wie folgt aus:

Abb. 24: Beispielhaftes Endergebnis

Die Daten für das Beispiel finden Sie hier:

Über den Autor

Steckbrief

Jannik Brack ist angehender Fachinformatiker im Bereich Anwendungsentwicklung, lebt im freiburger Raum und ist seit 2024 bei der WhereGroup tätig. Sein fachlicher Schwerpunkt liegt im Bereich der Webentwicklung.

Jannik Brack WhereGroup