PDALtools
How to process PointClouds in QGIS Processing
Licencia (CC BY-SA 3.0)
SIGLibre
May 28th 2019 - Girona
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
FOSS migration
Focus on QGIS and PDAL
Ingenieria
Pointcloud Data Abstraction Library
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
!!! #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...
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,362