PDAL, Point Data Abstraction Library , es una librería de código abierto en C++ para procesar, consultar, filtrar o realizar conversiones de nubes de puntos.
Un ejemplo de datos en nubes de puntos puede ser cualquier archivo obtenido mediante tecnología LIDAR. En estos ficheros, normalmente en formato LAS o LAZ, contamos con un enorme de información capturada por el escaner láser y que puede ser usada para obtener modelos digitales de elevaciones, superficies, renderizados en color RGB, extracción de árboles y masas vegetales, masas de agua, contornos de construcciones, mecánica de rocas…
En la siguiente entrada vamos a generar un modelo digital de elevaciones a partir de varios ficheros LIDAR en formato LAZ.
Usando PDAL con el terminal de OSGeo4W
Podemos usar la librería de distintas formas:
- Una vez instalada, lanzamos los comandos mediante el terminal de nuestro sistema operativo.
- Con Python, instalándola usando por ejemplo el gestor de paquetes Conda.
Si hemos instalado QGIS con OSGeo4w, dispondremos un terminal preparado para usar PDAL y otras muchas bibliotecas de carácter geográfico (PROJ, GDAL/OGR, GEOS…) de forma sencilla.
Recientemente se ha abierto una campaña de crowdfunding para integrar PDAL a QGIS que esperemos logre su finalidad. Mientras tanto usaremos el shell del OSGeo4W y accederemos a la visualización de los resultados con QGIS.
Para comprobar que la librería se encuentra disponible en nuestro equipo, abrimos la terminal y escribimos pdal. A continuación, nos aparecerá la información de uso y comandos disponibles.

Si no nos reconoce el comando, debemos abrir el programa instalación de OSGeo4W para añadir la librería.

Usando pipeline (tuberías)
Para ejecutar de forma sencilla uno o varios procesos con PDAL podemos usar pipeline. Mediante esta opción, la librería ejecutará una cadena de procesos que concatenan/unen (de ahí la denominación de tuberías) las entradas y salidas de cada una de ellos. Esta cadena se define en un archivo JSON.
En el siguiente ejemplo, definimos las sentencias para realizar un recorte mediante una caja de coordenadas (bounds) de un archivo LAZ. La opción de salida será un fichero descomprimido con extensión LAS.
{ "pipeline": [ { "filename": "lidar.laz", "spatialreference": "EPSG:25830" }, { "type": "filters.crop", "bounds": "([336770.5,4194436.1],[336812.3,4194459.9])" }, "cliplas.las" ] }
Para su ejecución desde el terminal escribimos
pdal pipeline nombredelpipeline.json
Creando un Modelo Digital de Elevaciones
Un uso frecuente de los datos LIDAR es obtener un modelo digital de elevaciones. Vamos a realizar esta sencilla operación con cuatro hojas del LIDAR 1ª Cobertura (2008-2015) disponibles para su descarga en la web del Centro de Descargas del CNIG.
Los datos corresponden el entorno del Conjunto Arqueológico de Madinat al-Zahra (Córdoba, España). La información LIDAR es cada vez más usadas en el campo de la arqueología. Estos datos son de utilidad para detectar microtopografías en las que identificar estructuras arqueológicas de entidad todavía enterradas.

Esta operación de unión y conversión podría realizarse con la conocida aplicación LAStools. Su uso abierto tiene ciertas limitaciones y genera una franja de valores nulos superado un número de puntos. Esta es una de las razones porque es interesante saber usar PDAL.
Nuestro objeto JSON (all2dem.json) va a contener la siguiente estructura:
{ "pipeline" : [ "PNOA_2014_AND-NE_334-4194_ORT-CLA-COL.laz", "PNOA_2014_AND-NE_334-4196_ORT-CLA-COL.laz", "PNOA_2014_AND-NE_336-4194_ORT-CLA-COL.laz", "PNOA_2014_AND-NE_336-4196_ORT-CLA-COL.laz", { "type" : "filters.merge" }, { "filename": "all2dem.tif", "gdaldriver": "GTiff", "resolution": 5.0, "output_type": "mean", "type": "writers.gdal" } ] }
- Localizamos los cuatro archivos LAZ de entrada.
- Realizamos un filtro de tipo merge para unir los archivos.
- Para terminar, transformamos la unión en un archivo en formato tif georreferenciado con GDAL con resolución de 5 metros generado a partir del valor medio.
Ejecutamos nuestro archivo JSON desde la terminal.
pdal pipeline all2dem.json
Una vez obtenido el geotiff, vamos a cargar el archivo ráster en QGIS aplicando una simbología de sombras para su mejor visualización.

Como se puede apreciar los pasos para trabajar con datos LIDAR y la librería PDAL son muy sencillos. En la documentación tenemos otros ejemplos de las numerosas posibilidades de esta librería.
Desde el Área de Sistemas de Información Geográfica y Desarrollo de Geoinnova podemos ayudar a profesionales y empresas que necesiten trabajos de consultoría sobre este u otro tema vinculado con las Tecnologías de Información Geográfica.
Muchas gracias por esta excelente entrada y muy útil