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, das wir Ihnen hier zur Verfügung stellen.
Um CloudCompare unter 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.
Um eine Datei zu öffnen, kann diese entweder per „Drag and Drop“ in die Nutzeroberfläche (rot markierter Bereich) gezogen oder sie kann über file -> open geöffnet werden.
Nun öffnet sich ein PopUp-Fenster mit dem Titel „Open LAS File“. In diesem Fenster sind keine Änderungen notwendig. Über den Button apply kann die LAS-Datei geladen werden.
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!
Nun sieht das Programm so aus (In der Ansicht unten zeigen wir eine beispielhafte PointCloud).
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.
Nun ist die Position der PointCloud besser zu sehen und Sie können die PointCloud bewegen, drehen und zoomen.
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.
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.
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.
Nach Abschluss der Auswahl wird rechts oben ein neues Menü angezeigt.
Mit dem rot gefüllten Fünfeck (Abb. 9) 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.)
Das Programm zeigt nochmals an, was ausgewählt wurde. Ein Linksklick auf den grünen Haken bestätigt diese Auswahl.
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.
Die andere PointCloud enthält 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. Stellen Sie dabei sicher, dass in dem Dialog als Dateityp LAS Cloud ausgewählt wurde.
Nach der Bestätigung des Speicherortes öffnet sich ein weiteres Fenster. Wählen Sie hier original resolution… aus und bestätigen Sie mit OK.
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 zur Installation von QGIS (für Ubuntu) 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.
Wählen Sie anschließend per Klick die Datei aus, sodass sie blau hinterlegt ist. Über Rechtsklick auf die Datei gelangen Sie in das Kontextmenü. Klicken Sie hier den Menüpunkt Export Speichern als… - es öffnet sich ein Dialog, in dem Sie die folgenden Einstellungen vornehmen können:
Änderungen für dieses Fenster:
Speichern Sie mit OK oder enter
Ö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).
Die TIFF-Datei befindet sich nun unter der PointCloud. Sie finden Sie, wenn Sie auf der linken Seite in die FrontView wechseln.
Wählen Sie nun mit Strg + Linksklick beide Dateien aus und drücken den rot markierten Knopf in der oberen Menüleiste.
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.
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.
Das Endergebnis sieht in unserem Beispiel wie folgt aus:
Die Daten für das Beispiel finden Sie hier: