1 of 40

Point clouds in QGIS: Now with Processing integration!

Martin Dobiaš

Lutra Consulting

QGIS user conference 2023

2 of 40

About Lutra Consulting

  • Services around open source GIS
    • QGIS development
    • Development of custom QGIS plugins
    • Migration to open source GIS
    • Support and training�
  • Mergin Maps: Mobile data collection
    • Mobile app based on QGIS (Android/iOS)
    • Web service for synchronization
    • QGIS plugin for setup
    • Hosted SaaS, open source community edition
    • https://merginmaps.com/

3 of 40

4 of 40

5 of 40

6 of 40

Point clouds in QGIS

7 of 40

Point clouds in QGIS

8 of 40

Challenges of point cloud data

  • Massive amounts of points
  • Commonly used formats (LAS/LAZ)�not optimized for 2D/3D viewing

Data need to be organized (indexed)�before rendering.

9 of 40

10 of 40

11 of 40

12 of 40

13 of 40

Eye-dome lighting in 3D

14 of 40

Eye-dome lighting in 2D (3.28)

15 of 40

Ordered rendering in 2D (3.24)

Default

Bottom to top

16 of 40

Better classified renderer (3.26)

  • Skip display of unused classes
  • Show non-standard classes
  • Percentage of points for each class

17 of 40

Filtering of point clouds (3.26)

18 of 40

Sync 2D and 3D style of point clouds (3.26)

19 of 40

Point clouds as surfaces (3.26)

20 of 40

Export of point clouds (3.28)

21 of 40

Cloud-optimized Point Cloud (COPC)

22 of 40

Cloud-optimized Point Cloud (COPC)

  • https://copc.io/
  • Similar idea to Cloud-optimized GeoTIFF applied to point clouds
  • Ordinary compressed LAZ file
  • File content reorganized for efficient access to data even if the file is on a remote server
  • Easy to use in client software, no need to further process (index) data�
  • Both local and remote COPC files supported since QGIS 3.26!

23 of 40

Remote datasets (COPC or EPT)

24 of 40

Remote datasets (COPC or EPT)

25 of 40

Point cloud processing

26 of 40

PDAL - Point Data Abstraction Library

  • “GDAL for point cloud data”
  • Drivers to read/write multitude of formats
  • Wide range of filters for manipulation of data
  • Combine readers, writers and filters into pipelines

27 of 40

pdal_wrench: New command line tool

  • https://github.com/PDAL/wrench
  • Single executable with multiple commands, e.g.:
    • pdal_wrench boundary --input=data.las --output=boundary.gpkg
    • pdal_wrench to_raster -–input=data.las --output=raster.tif \� --resolution=1 --attribute=Z �
  • Ease of use - no need to build JSON pipelines for PDAL
  • Runs the processing in parallel
    • If the input is a COPC / EPT or there are multiple input files

28 of 40

New algorithms added

29 of 40

Clip by polygon

30 of 40

Density

31 of 40

Filter (by expression)

32 of 40

Extract boundary

33 of 40

Convert to raster

34 of 40

More algorithms

  • Thinning
  • Export points as a vector layer
  • Merge data
  • Tile data
  • Convert format (e.g. LAS->LAZ)
  • Info
  • Reproject
  • Fix projection

35 of 40

Virtual point clouds

36 of 40

Virtual point clouds

  • A way how to deal with large datasets (billions of points)
  • Concept similar to GDAL’s virtual rasters (VRT)
  • A single JSON file that references actual files of the dataset (e.g. las/laz)
  • Format: STAC API ItemCollection … GeoJSON with some extra fields
  • Reference local files on file system or remote files

37 of 40

Virtual point clouds in QGIS

  • A new data provider
  • 2D and 3D rendering support�is being implemented right now
  • Processing algorithms support�virtual point clouds!
    • Including algorithm to create�a virtual point cloud

38 of 40

What’s next?

39 of 40

What’s next?

  • More point cloud processing algorithms
    • Classification
    • Noise reduction
    • Height above ground
    • Convert to 3D mesh
    • Colorize point clouds
    • …�
  • “Digital twins” ? 3D mesh with texturing

40 of 40

Thank you!

martin.dobias@lutraconsulting.co.uk

Twitter: @lutraconsulting