PDALtools
How to process PointClouds in QGIS Processing
Licencia (CC BY-SA 3.0)
SIGLibre
May 28th 2019 - Girona
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/5379839/pdal_logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/3870033/qgis-icon_anita02.png)
Who am I
Since 2006 in QGIS/GRASS
QGIS Core developer
and Plugin developer/trainer
Founder of GFOSS.it
Italian OSGEO Local Chapter
Founder of QGIS.es
Spanish QGIS user group
Founder of QCooperative
QGIS commercial support team
Coautor
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/6095145/10197_cover.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/6095155/QCoopFlayerFront.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/6095157/QCoopTeam.png)
FOSS migration
Focus on QGIS and PDAL
Ingenieria
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/6096006/Insitu-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/6096008/Insitu-lidars.png)
Pointcloud Data Abstraction Library
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/5380350/Screenshot_from_2018-10-18_15-02-41.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/5379839/pdal_logo.png)
PDAL Strongest Features
Why is better than LAStools, Whitebox or FUSION
- Completly GFOSS (BSD permissive Licence) but WhiteBox and FUSION are purely FOSS too.
- The only FOSS and Multiplatform (Linux, Win, OSX... Conda)
- C++ API (https://pdal.io/api/index.html)
- Basic Python Bindings (https://pypi.org/project/PDAL)
- Extensibility with Python, PCL and Matlab (https://pdal.io/stages/filters.html#languages)
- Many Readers/Writers (GDAL/OGR, PGPointClound, Entwine, Numpy...)
- Many basic building block glued in pipelines
- Qualified support team (Butler, Bell, Chambers, Manning... Huarte)
PDAL Weakest Features
Why is in some cases you still need LAStools, Whitebox or FUSION
- 1 core only (paralelization via scripting)
- No native GPU acceleration (BTW can be used in python/numpy filters)
Why PDALtools
QGIS Processing integration
-
Backend chaining
- GRASS, SAGA, QGIS Native, GDAL/OGR,...
- LAStools, WhiteBox or FUSION
- Automatic GUI generation
- Integration if a full featured GIS as QGIS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/5387993/Screenshot_from_2018-10-20_18-25-32.png)
!!! #ShowMeTheCode !!!
Here when any leecher falls
( sanguijuelas ;-)
QUIZ Time 1
In a LAS file what value has the ScanAngle of the horizont?
QUIZ Time 2
The sun affects intensity value?
Yes? No?
Demo from GeoMove...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/104746/images/5380937/Screenshot_from_2018-10-18_16-58-41.png)
Preparacion Workshop
https://github.com/luipir/f4g-oceania-pdal/blob/siglibre2019
- Preparación
- VM OSGeoLive12
- Clonar repo
- Activar Conda
- rasones (pdal + qgis)
Workshop Agenda
- Preparación
- Que aprenderemos
- Agenda
- PDAL CLI
- PDAL python
- entwine
- Un uso en QGIS
- Agradecimientos
- Feedbak
- Postits
- Medio taller
- final
- Postits
Point Clouds
- Que es un Point Cloud
- Origen desde SFM => LiDAR
- Vista 3D en CloudCompare
- Diferencia entre Fotogrametria y LiDAR
- Diferencia entre PCL y Point Vector
- Densidad 3D o 2D
- Exactitud
- Inregularidad
- ASPRS LAS
- Dedidado a Airborn
- Otros formatos
- Compresión
Porque PDAL!
- Porque uso PDAL
- Alternativas
- LASTools
- libre?
- FUSION
- Whitebox
- LASTools
- Cual es tu Herramienta favorita
- Porque eres interesad@s en PDAL
- Que espera aprender
Thinking PDAL
- Arquitectura
- Dimensiones
- Stages
- metadata reader
- Point View
- Dimensiones
- standard LAS
- Stages
- Readers
- Filters
- Writers
- Las Applications => Uso via CLI
Command Line Processing
- Ver PCL de Bublin en CC
- Estatisticas basicas y QA basico
- pdal info <file> --stats, --metadata, --summary,--boundary
- Queries
- pdal info <file> -p 0
- pdal info <file> --query <x,y,z/NN>
- Trasformaciones
- Pattern de comand
- LAS => LAZ
- Reproyectión
- Filtrar
- pdal translate filtes.range -i -o --filters.rage.limits...
- pdal translate filtes.crop -i -o --filters.crop.polygon...
PDAL Pipelines
- Recordar la arquitectura de PDAL
- Version Pipeline de ejemplo de reproyection
- Clasificar el Ground
- porque no lo hay
- porque es de baja cualidad
- Un ejemplo
- Demasiado tempo de procesamiento
- Explicación de las fases
- Fase inutil para un bug
- Evaluación cualidad de procesamiento
- Opciones CLi para pruebas
- caso pratico, slope, window, thershold
- Hacer producto raster => fijar en pipeline
PDAL y Python
- Preparar entorno conda/jupyter
- Ejemplo de filtro python
- Invertir Z
- Ejemplo de python-pdal en Notebook
- pdal2df es el corazon!
- applicar Pipeline y quedarse con la PointView y su version DataFrame
- Algo va mal con Classification=2
- Aplicar otra vez PMF
- Estatistica sobre altura
- Porque reverse Morton order?
PDAL y Entwine
- EPT - A Slippy-mapp lossless streaming serivce
- EPT vs Potree
- lossless
- Metadata como Hotdata y files in offline (Bridge)
- Los dos genera muchos fichersos (problemas en scalabilidad dinamica)
- Un ejemplo sobre datos
- Fichero de configuración
- generación
- Esgtructura de EPT resource
- Ver en streaming (no Maquina virtual)
- Lossless example y ejemplo de diff sobre Geomove
- Un ejemplo de datos remoto
Thanks
Hire a QGIS Team
Luigi Pirelli
luipir@gmail.com
luigi.pirelli@qcooperative.net
@ginetto
www.linkedin.com/in/luigipirelli
Licence: (CC BY-SA 3.0)
Girona2019: PDAL PointCloud analisys in QGIS Processing
By Luigi Pirelli
Girona2019: PDAL PointCloud analisys in QGIS Processing
Example how to use PDALtools in the QGIS Processing toolbox
- 2,417