LAS-Daten mit Shapefile-Polygonen und Open Source-Software beschneiden?


10

Ich versuche, Lidar-Dateien (.las, .xyz) mit einem Shapefile zu schneiden oder zu filtern, das mehrere Polygone enthält.

Gibt es Open Source-Software, die diese räumliche Operation ausführen kann?

Meine .las-Dateien sind riesig und ich sollte sagen, dass ich mit DEM-Daten und -Analysen sehr neu bin, daher wäre jede Hilfe sehr willkommen.


1
SAGA GIS bietet auch einige Tools zur Verarbeitung von LiDAR-Datensätzen an, aber ich habe keine direkten Erfahrungen damit. SAGA ist völlig kostenlos und OpenSource, also probieren Sie es einfach aus :-)
Juhele

1
+1 für SAGA. Ich habe das komplett vermisst. In SAGA gibt es ein Modul namens Punktwolkenschneider , das auch nach Formausdehnung abgeschnitten werden kann: "Dieses Modul ermöglicht das Extrahieren von Teilmengen aus einer Punktwolke . Der interessierende Bereich wird entweder durch Begrenzungsrahmenkoordinaten definiert, die Ausdehnung von a Rastersystem oder eine Formebene oder durch Polygone einer Formebene. " Es gibt auch Module für andere Filteraufgaben.
Lavarider

1
Für Ihre Zeit andre ist es mein letztes Ziel, diese abgeschnittenen Punkte zu bearbeiten und einen neuen Las zu erstellen.
Allen Bustenai

Für Ihre Antworten haben Sie mir alle sehr geholfen, und wie michal und andre sagten, hat FUSION den Trick gemacht.
Allen Bustenai

Antworten:


7

Ich stimme der Antwort von @Michal Mackiewicz (über Fusion / LTK) zu, also hoffe ich, dass dieses Beispiel Ihnen dabei hilft, durchzukommen.

Dies ist der PolyCLipDataSyntaxbefehl (siehe Handbuch auf Seite 110):

PolyClipData [switches] PolyFile OutputFile DataFile

Verwenden Sie einen Texteditor, um den Befehl zu schreiben, bevor Sie ihn ausführen (z. B. NotePad ++). Speichern Sie die Datei mit der Erweiterung .bat(Batch-Datei). Vergessen Sie nicht, die Datei zu speichern, bevor Sie sie ausführen.

Angenommen, Sie haben:

  1. Fusion / LTK unter dem Laufwerk C:.
  2. die Shapefile-Datei (shapefile.shp) unter C: \ shapefile
  3. der las-Datensatz (lasdata.las) unter C: \ las

schreib das Folgende:

c:\fusion\polyclipdata c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las

Verwenden Sie den Schalter, multifilewenn die aus Polygonen generierten Las-Dateien in separaten Dateien gespeichert werden sollen. Zum Beispiel:

c:\fusion\polyclipdata /multifile c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

Verwenden Sie den shapeSchalter zusammen mit multifile, um mehrere OutputFiles mit Werten zu benennen, die in eine der dbf-Spalten von PolyFile eingebettet sind. Zum Beispiel, wenn Sie die Dateien mit den ID-Informationen benennen möchten (Angenommen, die ID befindet sich in der ersten Spalte des Shapefiles). Schreiben:

c:\fusion\polyclipdata /multifile /shape:1,* c:\shapefile\shapefile.shp c:\las\clipped_data.las c:\las\lasdata.las 

Informationen zum Beschneiden von Las-Dateien PolyClipDatamit mehreren Shapefiles mit einem Teil finden Sie im folgenden Beitrag:
Beschneiden von LAS-Daten mit mehreren Shapefiles

Informationen zum Ausschneiden mehrerer Las-Dateien, in die sie als Datendateiparameter in eine TXT-Datei eingebettet sind, finden Sie im PolyClipDatafolgenden Beitrag:
Mehrere FAS-Dateidaten mithilfe von FUSION in ein Polygon-Shapefile schneiden

zum Abschneiden mehrerer Las-Dateien mit Shapefiles mit (mit der LAStools ProductionToolbox) finden Sie im folgenden Beitrag:
Ausschneiden aus einem gekachelten LAS-Dataset mit LASTools (für ArcGIS)


9

FUSION LiDAR Toolkit verfügt über Clipping-Funktionen (PolyClipData-Tool) und ist im Gegensatz zu LASTools uneingeschränkt verwendbar. Trotz der Tatsache, dass ein SVN-Repository auf SourceForge vorhanden ist, ist der veröffentlichte Quellcode unvollständig und sehr alt. Wenn Sie fortfahren können, ohne den Code zu kennen, und nur die kompilierte Binärdatei verwenden, sollte FUSION für diese Aufgabe in Ordnung sein.


Dies ist eine sehr interessante Software. Können Sie jedoch einen Link zu dem von Ihnen erwähnten SVN oder Quellcode bereitstellen? Ich konnte weder über Quellen noch über Lizenzinformationen einen Hinweis finden . Weder auf der Entwicklerseite noch in seinem Handbuch oder auf einer anderen Website, die für FUSION wirbt (z. B. der US-Forstdienst, Remote Sensing Applications Center ).
Lavarider


ty michal, ich werde es versuchen und die Ergebnisse zurückschicken.
Allen Bustenai

3

WhiteboxTools kann eine LAS-Datei mit dem ClipLidarToPolygonTool in mehrere Polygone schneiden, die in einem Shapefile enthalten sind . Mit Python-Skripten können Sie das Tool wie folgt verwenden:

from WBT.whitebox_tools import WhiteboxTools

wbt = WhiteboxTools()

wbt.work_dir = "/path/to/data/"
wbt.clip_lidar_to_polygon(i="input.las", polygons="polygons.shp", ouput="ouput.las")

Wenn Sie eine grafische Benutzeroberfläche bevorzugen, können Sie auch das QGIS-basierte Plugin oder den WhiteboxTools Runner verwenden, der mit dem binären Download der Bibliothek verteilt wird ( wb_runner.py ):

WhiteboxTools Runner ClipLidarToPolygon-Tool


2

Auf LiDAR-Datensätze werden üblicherweise verschiedene Filteraufgaben angewendet (Filterung nach Punktdichte, Tiefpass, Vegetationsfilterung, Glättungsaufgaben usw.). Wenn Sie nach einer räumlichen Operation (mit einem Shapefile) fragen , suchen Sie vermutlich nach einer Möglichkeit, Ihr Dataset zu beschneiden , dh Punkte auszuschließen, die außerhalb der durch ein Shapefile definierten Polygongrenzen liegen .

Im Allgemeinen ist LAStools ein leistungsstarkes Paket für die Punktdatenverarbeitung. Es handelt sich um eine Reihe von Befehlszeilentools, die jedoch auch eine einfache Benutzeroberfläche enthalten und in QGIS (und übrigens in ArcGIS) integriert sind. Sie können die Toolbox kostenlos herunterladen und auswerten. Allerdings sind nur Teile davon Open Source (LGPL 2.1-Lizenz). Die Closed-Source-Teile müssen je nach Verwendungszweck lizenziert werden. Sie müssen überprüfen, welche Bedingungen für Sie gelten.

Verwenden Sie Lasclip von LASTools (Closed Source, Lizenzierung überprüfen)

Eines der Closed-Source-Tools, Lasclip , führt genau eine Clip-by-Shapefile- Aufgabe aus:

Lasclip: Nimmt als Eingabe eine LAS / LAZ / TXT-Datei und eine SHP / TXT-Datei mit einem oder mehreren Polygonen (z. B. Gebäude-Footprints), schneidet alle Punkte ab, die außerhalb aller Polygone (oder innerhalb einiger Polygone) liegen, und speichert die überlebenden zeigt auf die ausgegebene LAS / LAZ / TXT-Datei.

Die Verwendung ist unkompliziert:

lasclip -i input_file.las -poly polygons.shp -o output_file.las -verbose

( Weitere Informationen zur Verwendung, weitere Beispiele und Anforderungen an Shapefiles finden Sie in der Lasclip- README- Datei. )

Verwenden Sie las2las von LASTools (Open Source; nur grundlegende Clipping-Aufgaben)

Wenn Closed-Source-Software keine Option ist: Das las2las- Tool kann auch einfache Beschneidungsaufgaben ausführen. Sie können jedoch nicht in ein Shapefile-definiertes Polygon schneiden . Sie können beispielsweise nach Rechtecken, Kreisen, Höhe, Scanwinkel, Klassifizierung oder Datenqualität schneiden. ( Anwendungsbeispiele und Details finden Sie in der README- Datei .)
Leider ist mir kein Open-Source-Tool bekannt, das der Lasclip-Funktionalität entspricht.

Verwenden Sie libLAS, um in einem selbst erstellten Skript auf LAS-Dateien zuzugreifen

LASTools basieren auf der Open-Source- Bibliothek libLAS mit BSD-Lizenz . Sie können libLAS verwenden, um auf Ihre LAS-Dateien zuzugreifen und sie mit einem benutzerdefinierten Skript zu filtern, z . B. mit Python .

Natürlich gibt es andere Möglichkeiten, wenn Sie Ihren Verarbeitungsablauf ändern (z. B. später LAS in Raster und Clip konvertieren), aber ich denke, der bequemste Weg ist, so lange wie möglich mit LAS zu arbeiten und die gesamte Filterung mit den Punktwolkendaten durchzuführen selbst.


ty lavarider für die antwort, ich habe lasclip gesehen, es ist das, wonach ich suche, aber geschlossene quelle ist keine option, las2las zwingt mich, die formen auf meinem Shapefile durchzugehen, es lässt mich mit liblas und mit den anderen lösungen hier werde ich prüfen es und post zurück
Allen Bustenai

2

Ich habe ein schrittweises PDAL-Tutorial geschrieben, das zeigt, wie diese Aufgabe in dieser Umgebung ausgeführt wird. Weitere Informationen finden Sie im PDAL-Clipping-Tutorial .


Ich konnte jetzt nicht auf den Hyperlink zugreifen (hatte zuvor darauf zugegriffen), aber selbst wenn es an meinem Gerät liegt; Bearbeiten Sie mindestens den relevanten Teil des Codes, der den Ausschnitt ausführt. Natürlich ist es schön, ein komplettes Tutorial auf der PDAL-Website zu haben, aber die Antworten sollten nicht nur auf externen Quellen basieren.
Andre Silva
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.