¿Recortar datos LAS utilizando polígonos de archivos de forma y software de código abierto?

10

Estoy tratando de recortar o filtrar archivos lidar (.las, .xyz) usando un archivo de forma que contiene múltiples polígonos.

¿Existe software de código abierto que pueda hacer esta operación espacial?

Mis archivos .las son enormes, y debo decir que soy muy nuevo en los datos y análisis de DEM, por lo que cualquier ayuda sería muy bienvenida.

Allen Bustenai
fuente
1
SAGA GIS también ofrece algunas herramientas para procesar conjuntos de datos LiDAR, pero no tengo experiencia directa con ellos. SAGA es completamente gratuito y de código abierto, así que pruébalo :-)
Juhele
1
+1 para SAGA. Perdí completamente ese. En SAGA, hay un módulo llamado cortador de nubes de puntos , que también puede recortar por extensión de forma: "Este módulo permite extraer subconjuntos de una nube de puntos. El área de interés se define mediante coordenadas de recuadro delimitador, la extensión de un sistema de cuadrícula o una capa de formas, o por polígonos de una capa de formas ". También hay módulos para otras tareas de filtrado.
lavarider
1
Para su tiempo, mi objetivo final es editar esos puntos recortados y construir un nuevo láser.
Allen Bustenai
Gracias a sus respuestas, todos me ayudaron mucho y, como michal y andre dijeron, FUSION hizo el truco.
Allen Bustenai

Respuestas:

7

Respaldo la respuesta de @Michal Mackiewicz (sobre Fusion / LTK), así que espero que este ejemplo te ayude a superarlo.

Este es el PolyCLipDatacomando de sintaxis (consulte la página 110 del manual):

PolyClipData [switches] PolyFile OutputFile DataFile

Use un editor de texto para escribir el comando antes de ejecutarlo (como NotePad ++). Guarde el archivo con extensión .bat(archivo por lotes). No olvide guardar el archivo antes de ejecutarlo.

Suponga que tiene:

  1. Fusion / LTK debajo de la unidad C:.
  2. el archivo shapefile (shapefile.shp) en C: \ shapefile
  3. el conjunto de datos las (lasdata.las) en C: \ las

escribe lo siguiente:

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

use el interruptor multifilesi desea que los archivos generados a partir de polígonos se almacenen en archivos separados. Por ejemplo:

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

use el shapeinterruptor junto con multifilepara nombrar sus múltiples OutputFiles con valores incrustados en una de las columnas dbf de PolyFile. Por ejemplo, si desea nombrar los archivos con la información de ID (suponga que ID está en la primera columna del archivo de forma). Escribir:

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

Para recortar los archivos usando PolyClipDatacon múltiples shapefiles de una sola parte, vea la siguiente publicación:
Recorte de datos LAS con múltiples shapefiles

Para recortar múltiples archivos las que los tienen incrustados en un archivo .txt como parámetro de archivo de datos PolyClipData, consulte la siguiente publicación:
Recorte múltiples datos de archivos .las al archivo de forma poligonal usando FUSION

Para recortar múltiples archivos las con shapefiles usando (con la LAStools Productioncaja de herramientas) consulte la siguiente publicación:
Recorte de un dataset LAS en mosaico con LASTools (para ArcGIS)

Andre Silva
fuente
9

FUSION LiDAR Toolkit tiene capacidades de recorte (herramienta PolyClipData) y, a diferencia de LASTools, su uso no tiene restricciones. Sin embargo, a pesar del hecho de que existe un repositorio SVN en SourceForge, el código fuente publicado es incompleto y muy antiguo. Si puede continuar sin conocer el código y simplemente usar el binario compilado, entonces FUSION debería estar bien para esta tarea.

Michal Mackiewicz
fuente
Este es un software muy interesante, sin embargo, ¿puede proporcionar un enlace al SVN o al código fuente que mencionó? No pude encontrar ningún aviso sobre fuentes o información sobre licencias . Ni en la página del desarrollador, ni en su manual ni en ningún otro sitio que promueva FUSION (por ejemplo, el servicio forestal de EE. UU., Centro de aplicaciones de teledetección ).
lavarider
1
Aquí estás: sourceforge.net/projects/fusion-lidar
Michal Mackiewicz
Ty michal, lo intentaré y volveré a publicar los resultados.
Allen Bustenai
3

WhiteboxTools puede recortar un archivo LAS a múltiples polígonos contenidos dentro de un Shapefile usando la ClipLidarToPolygonherramienta. Usando la secuencia de comandos de Python, puede usar la herramienta de la siguiente manera:

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")

O, si prefiere una GUI, puede usar el complemento basado en QGIS o el WhiteboxTools Runner, que se distribuye ( wb_runner.py ) con la descarga binaria de la biblioteca:

Herramienta WhiteboxTools Runner ClipLidarToPolygon

WhiteboxDev
fuente
2

Varias tareas de filtrado diferentes se aplican comúnmente a los conjuntos de datos LiDAR (filtrado por densidad de puntos, paso bajo, filtrado de vegetación, tareas de suavizado, etc.). Cuando solicita una operación espacial (que involucra un archivo de forma), supongo que busca una forma de recortar su conjunto de datos , es decir, excluir puntos que están fuera de los límites de polígono definidos por un archivo de forma .

En general, LAStools es un paquete poderoso para el procesamiento de datos de puntos. Es un conjunto de herramientas de línea de comandos, pero también trae una GUI simple y se integra con QGIS (y ArcGIS, por cierto). Puede descargar y evaluar libremente la caja de herramientas; sin embargo, solo algunas partes son de código abierto (licencia LGPL 2.1); las partes de código cerrado requieren una licencia según su propósito. Debe verificar qué condiciones se aplican a usted.

Use lasclip de LASTools (código cerrado, verifique las licencias)

Una de las herramientas de código cerrado, lasclip , realiza exactamente una tarea de archivo clip por forma :

lasclip: toma como entrada un archivo LAS / LAZ / TXT y un archivo SHP / TXT con uno o varios polígonos (por ejemplo, construyendo huellas), recorta todos los puntos que quedan fuera de todos los polígonos (o dentro de algunos polígonos) y almacena los supervivientes apunta al archivo LAS / LAZ / TXT de salida.

El uso es sencillo:

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

(consulte el archivo README de lasclip para obtener más detalles sobre el uso, más ejemplos y requisitos de shapefile)

Utilice las2las de LASTools (código abierto; solo tareas de recorte básicas)

Si el software de código cerrado no es una opción: la herramienta las2las también puede realizar tareas de recorte simples ; sin embargo, no puede recortar a un polígono definido por un archivo de formas . Puede recortar por rectángulos, círculos, elevación, ángulo de escaneo, clasificación o calidad de datos, por ejemplo. (Consulte su archivo README para ver ejemplos y detalles de uso).
Desafortunadamente, no conozco ninguna herramienta de código abierto que iguale la funcionalidad de lasclip.

Use libLAS para acceder a los archivos LAS en un script hecho a sí mismo

LASTools se basa en la biblioteca libLAS de código abierto con licencia BSD . Puede usar libLAS para acceder a sus archivos LAS y filtrarlos con un script personalizado, por ejemplo, usando Python .

Por supuesto, hay otras posibilidades si cambia su flujo de procesamiento (por ejemplo, convertir LAS a ráster y recortar más tarde), pero creo que la forma más conveniente es seguir trabajando con LAS el mayor tiempo posible y realizar todo el filtrado con los datos de la nube de puntos sí mismo.

lavarider
fuente
Ty lavarider para responder, he visto lasclip, es lo que estoy buscando, pero el código cerrado no es una opción, las2las me obligan a repasar las formas en mi archivo de formas, me deja con liblas, y con las otras soluciones aquí comprobaré y publicar de nuevo
Allen Bustenai
2

He escrito un tutorial PDAL paso a paso que demuestra cómo hacer esta tarea en ese entorno. Consulte el tutorial de recorte de PDAL para obtener más información.

Howard Butler
fuente
No podía acceder al hipervínculo ahora (lo había hecho antes), pero incluso si es por mi dispositivo; edite al menos la parte relevante del código que hace el recorte. Por supuesto, tener un tutorial completo en el sitio web de PDAL es bueno, pero las respuestas no deben basarse solo en fuentes externas.
Andre Silva el