[pdal] Point cloud viewer in QGIS

ahuarte47 at yahoo.es ahuarte47 at yahoo.es
Tue Jul 7 01:56:24 PDT 2020


 Wow Martin, this new feature would be amazing!

Are you thinking about implementing a new QgsVectorDataProvider where the new QgsFeatureIterator yields the point cloud as QgsFeature instances?

If you allow me an idea, the QgsVectorDataProvider, or even the QgsFeatureIterator, could create on-the-fly a PDAL PipelineManager instance with the necessary PDAL readers, and initially some PDAL filters to consider the input parameter of current QgsFeatureRequest. Then the iterator could fetch the points implementing a new PDAL writer[1] as final stage of the pipeline.

All field info structure of the point could be read from the writer or from the last filter[2] (method: virtual void addDimensions(PointLayoutPtr layout);) of the Pipeline.

This way initially does not require any new QgsMapLayer class or new specific QgsSymbol classes to get results. Also this provider could allow to the user configure an extra set of PDAL filters (there are many ones with many purposes) to apply to the input point cloud (Decimate, SMRF-classification, and so on).

[1] https://pdal.io/development/writing-writer.html
[2] https://pdal.io/development/writing-filter.html

It is only an idea, I hope this does not bother you adding more noise, I have used PDAL in a similar way for other project and it was not difficult of implementing and you have in your hands all amazing filters that PDAL provides.

Best regards
Alvaro     En lunes, 6 de julio de 2020 16:01:55 CEST, Martin Dobias <wonder.sk at gmail.com> escribió:  
 
 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
_______________________________________________
pdal mailing list
pdal at lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/pdal  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20200707/9ed4a829/attachment.html>


More information about the pdal mailing list