[pdal] Point cloud viewer in QGIS

Martin Dobias wonder.sk at gmail.com
Mon Jul 6 07:01:39 PDT 2020


Hi all

I have been looking into ways to get native point cloud support into
QGIS. By native I mean to have a new point cloud map layer type which
would support LAS and possibly other formats, and it would display the
data in 2D/3D map views together with other map layers. At this point
I am interested only in the visualization, no further
analysis/processing. While the existing tools such as CloudCompare or
Potree are great to visualize point clouds, we are IMHO still missing
integration with a proper GIS, which would open many new possibilities
and make point cloud data more accessible to ordinary GIS users.

I am aware of the fact that this is not going to be an easy task for a
couple of evenings :-) We would like to run a crowd-funding campaign
to make the development possible.

I wanted to reach out to the PDAL community and see what advice the
point cloud gurus would have. I have a fair amount of experience with
QGIS development and some with 3D graphics, but I am relatively new to
the whole ecosystem of point cloud data. I have started to look into
PDAL, CloudCompare and Potree to get a better understanding of the
challenges.

So far it looks like it would be a good idea to use the PDAL library
for I/O - it supports a variety of formats through a common
abstraction which would make our life much easier. The next thing is
how to deal with rendering. From what I understand, CloudCompare reads
the whole point cloud file into memory and builds an in-memory octree
which is then used for data access. Potree needs the data to be
pre-processed beforehand with PotreeConverter tool into an octree, its
nodes are then stored in files and requested as needed. Entwine does
similar indexing, with a different file format. So it seems that it
would be nice to cover both cases:
1. point clouds without index (it would be created on the fly in memory),
2. point clouds with index (stored on a local drive or maybe on a
remote server) - with much faster loading times and supporting
potentially really huge datasets.

I guess once we have an octree built, we can start thinking about
visualization of the data... There are various things to consider in
addition to out of core rendering (to pick the right chunks of data
based on level of detail - already handled in QGIS 3D to some degree).
It will probably be a long run to make the point cloud visualization
look good - splatting, dynamic point sizing, eye-dome lighting and
possibly more features already supported by Potree / CloudCompare.

I don't want to make this mail too long - at some point I will try to
prepare a QGIS Enhancement Proposal (QEP) with more details. I would
be very grateful for any comments and suggestions, where do you see
possible issues, where else to look for some inspiration etc.

Thanks
Martin


More information about the pdal mailing list