PDALtools

How to process PointClouds in QGIS Processing

Licencia (CC BY-SA 3.0)

SIGLibre
May 28th 2019 - Girona

Luigi Pirelli

luipir@gmail.com

luigi.pirelli@QCooperative.net

@Ginetto

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

http://www.pdal.io

PDAL Strongest Features

Why is better than LAStools, Whitebox or FUSION

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...

  • 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

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
  • 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

www.qcooperative.net

 

Luigi Pirelli

luipir@gmail.com

luigi.pirelli@qcooperative.net

@ginetto

 

github.com/luipir 

www.linkedin.com/in/luigipirelli

Licence: (CC BY-SA 3.0)

Made with Slides.com