domingo, 12 de abril de 2015

LIDAR en QGIS: LAStools.

Hoy vamos a hablar de la posibilidad de trabajar con datos LIDAR en QGIS. La posibilidad existe, pero no directamente por las capacidades del programa, que no es capaz de abrir los datos LIDAR (ni en formato LAZ comprimido, ni en formato LAS descomprimido). Tampoco se que exista ningún complemento en el repositorio de plugins que permita manejar datos LIDAR. La alternativa pasa por hacerle trabajar con el complemento LAStools, una colección de algoritmos que podemos enlazar con QGIS para tenerlos disponibles en su caja de herramientas. No esperéis poder trabajar en pantalla con los archivos LIDAR al modo en que lo hace Global Mappper; simplemente podremos cargarlos, procesarlos y guardarlos de algunas formas, pero sin la amable interfaz de verlos pasar por pantalla. En teoría dichas herramientas están probadas hasta la versión 2.4 de QGIS, pero yo tengo la 2.8 (bajo Windows XP) y he comprobado que me funcionan (al menos a priori. Me surgen dudas de si estas herramientas LAStools son realmente libres a tenor de ESTO.... o si las que aparecen en el segundo grupo tienen alguna limitación de uso o no procesan perfectamente. ¿Alguien puede aclararlo?).
Vamos al grano. Para usar las herramientas LAStools seguiremos este proceso:
1.- Descarga del paquete LAStools (21 MB).
2.- Descomprimir el zip y extraer tal cual la carpeta "LAStools" que contiene a una ruta sin espacios (por ejemplo C:\LAStools ó D:\LAStools serían buenas y sencillas opciones).
3.- Abrir QGIS. En el menú Procesos/Opciones proceder a activar las Herramientas para datos LIDAR y a darle la ruta a nuestra carpeta LAStools, tal como se ve en la siguiente captura. Aceptar.
4.- Una vez hecho esto debemos tener disponibles en la Caja de herramientas de QGIS, bajo la cabecera Herramientas para datos LIDAR, la colección de algoritmos que componen LAStools. El grupo LAStools Production que se ve al final de la lista contiene las mismas herramientas pero preparadas para trabajar con directorios enteros en vez de con archivos individuales. Así mismo tenemos que tener seleccionado al fondo de todo de la columna Advanced Interface, o no se mostrarán todas las herramientas de la caja.
 5.- Para prevenir cualquier tipo de error inicial (yo los tuve), recomiendo cerrar y volver a abrir QGIS para que el programa guarde bien los cambios.

En la propia web de LAStools tenéis un listado y descripción de cada herramienta disponible para trabajar con los datos LIDAR (en inglés, por supuesto) con una página README adjunta con toda la información de uso de cada algoritmo. Vamos a desarrollar un par de ejemplos de dos de las herramientas más clásicas para que veáis el proceso: la primera, las2dem, convierte el archivo LIDAR en un Modelo Digital de Elevaciones. Hacemos doble click en la herramienta y completamos los datos de la ventana de opciones de la misma:

Opciones del algoritmo las2dem.

- verbose debe querer decir algo así como "más detallado". La marcamos.
- la casilla open LAStools GUI abre la herramienta interna de LAStools. No es necesario, probadla cuando queráis.
- campo de carga del archivo LIDAR a convertir.
- resolución a la que extraer el MDT.
- campo de destino del archivo MDT resultante y su formato (.asc en este ejemplo).
- Marcamos la casilla "abrir el archivo de salida..." para que se nos abra directamente en QGIS una vez hecho.
- El resto de opciones tendréis que investigarlas con la práctica y las páginas de ayuda de la herramienta.




Una vez todo configurado pulsamos Run para que la herramienta trabaje. En pocos segundos tenemos nuestro modelo digital .asc generado y cargado en QGIS.
Por desgracia, y aunque los datos mínimo y máximo de alturas figuran bien en la capa como véis, se generan unas bandas paralelas que además nos indican 0 metros de altitud. Desconozco si es problema del algoritmo, de la versión de QGIS, o de que la herramienta no es completamente free. He probado a generar el MDT en otros formatos (tiff, dem,...) y el fallo es el mismo. He usado después el algoritmo blast2dem (en teoría para LIDAR con muchos más puntos) y parece que este no falla.... Así que ya sabéis, a probar.
DEM generado con blast2dem y abierto en Global Mapper. Parece perfecto.

Para el segundo ejemplo de uso de estas herramientas LAStools para datos LIDAR en QGIS vamos a utilizar las2iso, que nos sirve para extraer contornos en formato vectorial (shp, kml, txt...). Como antes, buscad información sobre los distintos parámetros para la ventana de opciones; yo he hecho la prueba con lo básico y poniendo 20 metros de espaciado de líneas y salida en formato .shp.
El resultado abierto en QGIS:












Por último mostraros que dentro de LAStools también disponemos de un visor de archivos LIDAR bastante efectivo y con muchas herramientas que os sorprenderán. Se trata de lasview.
Visor lasview con su multitud de opciones.
En definitiva se trataba de mostrar brevemente cómo podemos añadir LAStools a QGIS para poder trabajar con datos LIDAR. Es quizá una manera más tosca, primitiva y menos visual que en Global Mapper, pero es un conjunto de herramientas muy completo y gratuito que no se pueden pasar por alto. Y funcionar ya vemos que funcionan. Ahora ya sabéis lo que toca, ¿no?. Practicar con todas ellas hasta que dominemos su manejo. Un saludo!!

15 comentarios:

  1. Ya barruntaba yo, que me encontraria con problemas.....y ya me he topado con el 1º.
    Siguiendo tus instrucciones al pie de la letra, relleno la ventana de las2dem y cuando le doy a run.... me sale un mensaje de error. Parece que dice que el archivo cargado esta defectuoso y que no se puede generar el archivo de salida. ¿Te ha pasado alguna vez?

    ResponderEliminar
    Respuestas
    1. Ese mismo archivo, que parece que esta defectuoso, con Global Mapper.......sin problemas.

      Eliminar
    2. La verdad que no me ha pasado... me ha pasado lo de las rayas que pongo en el artículo, pero eso no. Sólo he probado con varios archivos descargados del CNIG; supongo que los tuyos son de ahí. Prueba con el otro algoritmo, blast2dem, a ver si te va mejor como a mi....

      Eliminar
    3. Ahora que dices que pruebe con blast2dem... lo he probado y tampoco funciona. me parece que ya se por donde van los tiros....he eliminado las herramientas, y estoy intentando descargarlas, pero no las puedo descomprimir, esta el zip corrupto. Seguire intentandolo, ya comentare,
      Como tantas vueltas he dado, me he tropezado con la causa de que aparezcan esas lineas negras diagonales y es que las ponen las herramientas cuando se trabaja con mas de 10 millones de puntos, si no tienes licencia.

      Eliminar
    4. Si, yo pensé algo así de los de las rayas también.... pero resulta que la cuadriculas normales con las que hace rayas no tienen más de 3-4 millones de puntos.... no se....

      Eliminar
    5. Chico, ¡que aburrimiento con el dichoso Qgis! ¡Ni siquiera puedo activar GRASS!
      Voy a tener que enredarme con otro gis distinto, ya me lo veo venir....

      Eliminar
    6. A mi me va perfecto QGIS... Y eso que tengo una carraca de PC y aún sigo con Windows XP....

      Eliminar
  2. Efectivamente es una cuestión de licencia, mi duda es si aparte de las rayas, el asc que obtenemos muestra toda la información de la nube de puntos del LAZ del que partimos, ya que cuando le aplico a través del analisis del terreno la función hillshade, el resultado no es el mismo que aparentemente se consigue en Global Mapper...esto es así? de todas formas gracias de nuevo por tus explicaciones y trabajo!!

    ResponderEliminar
    Respuestas
    1. Pues me sumo a la duda encantado... Yo he hecho simples pruebas sacando el DEM del mismo archivo LIDAR tanto con QGIS como con Global Mapper, a 1 metro deresolución, y las diferencias a simple vista abiertos ambos en Global Mapper no las noto. Un .asc me ha dado 30 megas y otro 33 megas... pero nada más a destacar. A mi me vale.
      Al hacer el hillshade ya entran parámetros variables como los ángulos vertical y horizontal del sol... a ver si no eran los mismos y simplemente es una impresión visual (cambia una barbaridad el aspecto dependiendo de esos ángulos). Saludos!!!

      Eliminar
    2. Duda aclarada!! Probaré con los parámetros del hillshade y la resolución de salida del asc, muchas gracias!!

      Eliminar
  3. ¡¡¡¡¡¡¡¡¡¡¡CONSEGUIDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!

    ResponderEliminar
  4. Buenas, al intentar crear MDE con la herramienta las2dem o blast2dem me aparece el siguiente error:Oooops! The following output layers could not be open
    Output raster file: C:\Users\user\AppData\Local\Temp\processing\c8ce2354e373407388fe04dbd4d3d1b3\OUTPUTRASTER.tif
    The above files could not be opened, which probably indicates that they were not correctly produced by the executed algorithm
    Checking the log information might help you see why those layers were not created as expected

    Por otra parte al intentar ejecutar con lasview, lo corre pero no se me abre ninguna ventana.
    Saben a que se debe? Gracias de antemano.

    ResponderEliminar
    Respuestas
    1. Lamentablemente no puedo ayudarte mucho... Suponiendo que el archivo LIDAR del que partes sea correcto parece algún error del propio módulo LAStools (quizá no sean las versiones apropiadas de LASTools y QGIS) o a saber... Más allá de lo escrito en el artículo (probado) no he usado la herramienta apenas para nada más. Saludos!

      Eliminar
    2. hola
      estoy intentando generar el mdt a través de la herramienta lasAiso y lasAdem, y cuando le doy a run, me sale el siguiente error:
      Please note that LAStools is not "free" (see http://lastools.org/LICENSE.txt)
      contact 'martin.isenburg@rapidlasso.com' to clarify licensing terms if needed.
      llx/lly unspecified. set to lower left bounding box 330000/4.692e+006.
      ncols was unspecified. set to 2000.
      nrows was unspecified. set to 2000.
      WARNING: unlicensed. over 1.5 million points. inserting black diagonal.
      processing 4753960 points ... took 9.982 sec.
      rastering the triangles and outputting ... took 4.056 sec.
      done with 'C:/as.asc'. total time 14.065 sec.
      Converting outputs
      Cargando las capas resultantes

      The following layers were not correctly generated.
      Output raster file
      You can check the log messages to find more information about the execution of the algorithm

      Eliminar
    3. No podría asegurártelo pero por lo que leo en el error (aparte del mail del creador de lastools que sin duda te resolverá el problema) da la impresión de que usas un bounding bounds demasiado grande (o sea, demasiada área de terreno o demasiados puntos a tratar). Saludos

      Eliminar