#2732: Read lidar data as vector points using PDAL
-------------------------------------------------+-------------------------
Reporter: wenzeslaus | Owner: grass-dev@…
Type: enhancement | Status: new
Priority: major | Milestone: 7.1.0
Component: Vector | Version: svn-trunk
Keywords: lidar, las, laz, v.in.lidar, | CPU: Unspecified
v.in.pointcloud, v.in.pdal |
Platform: Unspecified |
-------------------------------------------------+-------------------------
[http://www.pdal.io/ PDAL] is a point cloud processing and format
transformation library and supersedes [http://www.liblas.org/ libLAS]
(currently used in `r.in.lidar` and `v.in.lidar`) in many ways. Currently
the most important difference is support for LAS 1.4. It also seems that
we will have to replace libLAS by PDAL at some point.
I'm attaching a patch which is adding a module `v.in.pointcloud`. It is
based on `v.in.lidar` and the difference is that it is using PDAL C++ API
for reading LAS (so it can read LAS 1.4 except for waveform). LAZ is
supported in the same way as with libLAS. When PDAL is compiled with LAZ,
then `v.in.pointcloud` supports LAZ.
Serious issues with the patch:
* the compilation check in configure has just dummy code, I don't know how
to make it compile C++
Potential improvements to patch:
* support for all PDAL supported (internally and by plugins) formats
(should be easy to add), hence the name `v.in.pointcloud`
* documentation is just copied from `v.in.lidar`
* add test (test data are needed for that as well as for documentation)
Adding PDAL processing into the import or as separate module is clearly a
possibility as well but this is out of scope of this particular patch.
General issues with PDAL for GRASS GIS:
* implemented in C++ and lacks C API (this is fixable)
* depends on C++11 (not a big issue when building modules)
* depends on Boost (hopefully will be removed in the future)
* potential limits on number of points as by default everything is
[https://lists.osgeo.org/pipermail/pdal/2015-September/000672.html in
memory and limited to 2^32 - 1 points] but there are
[https://lists.osgeo.org/pipermail/pdal/2015-September/000682.html ways
around it]
I need help with making the compilation check in configure compile C++,
otherwise I think it can go trunk.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2732>
GRASS GIS <https://grass.osgeo.org>