QGis for LIDAR:Colorear a partir de una imagen con LAStools

En este artículo descubrirás cómo transferir los colores (colorear) de una imagen u ortofoto a los puntos de una nube LIDAR utilizando la caja de herramientas LAStools en QGis, que renderiza el LIDAR como una fotografía. Veremos cómo crear archivos .bat utilizando LAStools para procesar un conjunto de archivos.

1- Datos LIDAR en QGis 3.32

2- Descargue los datos del IGN HD LIDAR y cárguelos en QGis

3- Herramientas para datos LIDAR en QGis 3.32

4-Colorear una nube de puntos a partir de una ortofoto

5-Colorear a partir de una imagen con LAStool

Vea este vídeo y muchos otros en nuestro canal de Youtube: https://www.youtube.com/@sigterritoires

Tratamientos LAStools

La caja de herramientas LASTOOLS consta de tres tipos de herramientas:

bloque de herramientas lastools para Qgis

  1. file– Las herramientas básicas que toman un archivo como entrada de procesamiento.
  2. folder – Herramientas similares, pero que utilizan un directorio como entrada de procesamiento. Se procesan todos los archivos LAS o LAZ de este directorio. El nombre del procesamiento termina en Pro.
  3. pipelines – herramientas que encadenan automáticamente una serie de herramientas anteriores.

En el grupo de folder sólo encontrará algunos de los procesos presentes en el grupo de archivos. Pero puede, con un poco de trabajo, crear un archivo .bat para ejecutar un comando de archivo en un directorio entero. Aquí veremos el procedimiento con la herramienta LAScolor, que sólo está presente en el grupo de archivos.

LAScolor: colorear una nube de puntos

Tomaremos como ejemplo un grupo de cuatro nubes de puntos IGN HD LIDAR sin clasificar y la imagen BDOrtho correspondiente

nubes lidar y ortofoto como entrada para lascolor en qgis

LAStools puede ejecutarse en la línea de comandos, fuera de QGis. En lugar de buscar la sintaxis necesaria para la línea de comandos, podemos ejecutar la herramienta en QGis y recuperar la línea de comandos generada por el complemento del registro de ejecución. Con unas pocas modificaciones, tendremos el archivo .bat que queremos.

Ejecución de la herramienta a través del plugin de QGis

Ejecutamos la herramienta LAScolor desde la caja de herramientas LAStools de QGis:

caja de herramientas lastools en qgis 3.32

Para la herramienta, seleccionamos una de las nubes de puntos, la ortofoto, y le damos un nombre cualquiera como salida. No guardaremos el resultado del procesado, ya que lo haremos con el archivo .bat para todas las nubes del directorio.

diálogo lascolor

LAStools se suministra en dos versiones: 32 bits y 64 bits. Por defecto, los diálogos utilizan la versión de 32 bits de la herramienta. El problema es que estas versiones están limitadas a gestionar 4 GB de memoria y, dado el número de puntos presentes en las nubes LIDAR, este límite se supera muy a menudo. Para evitar los mensajes de error de asignación de memoria, es mejor marcar siempre la casilla de la versión de 64 bits.

Al hacer clic en Ejecutar, la ventana muestra la pestaña Journal:

lascolor processing log

Siguiendo «LAStools command line» encontrarás la línea de comando que estamos buscando.

C:/lidar/cantal/LAStoolsbinascolor -cpu64 -i "C:\lidar/colouriseinput/semis1.laz" -image "C:\lidar/colouriseortho.tif" -o "C:/lidar/colouriseoutput/semis1.laz"

En este ejemplo

C:/lidar/cantal/LAStools\bin\lascolor es el ejecutable de la herramienta

-cpu64 corresponde a la petición de ejecutar la versión de 64 bits de la herramienta

-i «C:\lidar\coloriser\input\semis1.laz» es la nube de entrada

-image «C:lidar\coloriser\ortho.tif» es la imagen que se utilizará para colorear la nube de puntos

-o «C:/lidar/colorise/output/semis1.laz» es la nube coloreada resultante

Abrimos un archivo de texto vacío en edit para construir nuestro pequeño programa por lotes.

La primera línea de este fichero será la que cree el bucle de procesamiento para todos los ficheros de un directorio.

Esta línea será

for /r directorio_a_procesar %%i in (extensión) do (

En lenguaje llano, el contenido de la variable %%i será el nombre completo (incluyendo la ruta) de cada fichero con una extensión determinada dentro de un directorio dado.

En nuestro ejemplo, esta línea será

for /r "C:\lidar\colorise\input" %%i in (*.laz) do (

Si tus nubes de puntos están en formato LAS, tendrás que cambiar *.laz por *.las

La segunda línea será el comando que ejecute LAScolor, donde modificaremos la entrada y la salida.

Para el fichero de entrada del comando sustituimos -i «C:\lidar\coloriser\inputsemis1.laz» por la variable del bucle for: -i %%i

Para el fichero de salida, tenemos que utilizar una variable poco conocida. No podemos utilizar la variable %%i tal cual porque contiene la ruta del fichero de entrada y queremos crear el fichero de salida en otro directorio. Por lo tanto, necesitamos recuperar el nombre del fichero de entrada sin la ruta. Para ello utilizamos la variable %%~ni. La ~n recupera el nombre de %%i sin la ruta ni la extensión.

Nuestra salida será por tanto

-o C:/lidar/colorizador/salida/%%~ni.laz

Debemos añadir a la variable la ruta del directorio de salida y la extensión deseada.

El resultado final de nuestro archivo .bat será entonces:

for /r "C:\lidar\coloriser\input" %%i in (*.laz) do (
C:/lidar/cantal/LAStools\bin\lascolor -cpu64 
-i %%i 
-image "C:\lidar\coloriser\ortho.tif" 
-o C:/lidar/coloriser/output/%%~ni.laz
)

comandos), ve al directorio del archivo bat que acabas de crear y escribe .\nom_du_fichier.bat (1)

Verás cómo se procesan tus nubes de puntos (2):

ventana de comandos y ejecución del archivo .bat

En la figura, puedes ver el mensaje por falta de licencia. Por encima de 3 millones de puntos, habrá pequeñas distorsiones y algunos atributos menos.

El resultado final de las cuatro nuevas nubes de puntos puede cargarse ahora en la ventana de QGis:

resultado de la coloración de las nubes lidar

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *