[pdal] LAS reader, P2G and pdal

Howard Butler howard at hobu.co
Tue May 27 07:37:42 PDT 2014


Amine,

We're hoping to have an official release soon, but we're currently in the middle of some refactoring that we want to settle down before doing so. The refactoring effort [1] will make things work more smoothly with better performance in many situations. I don't have a timeframe for the actual release, however.

[1] http://lists.osgeo.org/pipermail/pdal/2014-May/000417.html

Other comments inline.


On May 27, 2014, at 10:24 AM, Amine el amrani <aminelamrani2 at hotmail.com> wrote:

> Hi guys ,
> 
> I'm working on creating DEMs using LiDAR data for orthophoto creation purposes. The ultimate goal is to insert these orthorectification algorithms in an open source French spatial image processing library called Orfeo Tool Box (OTB).http://orfeo-toolbox.org/otb/
> 
> Since there was no official release of pdal, I'm spending a lot of time deciphering the code to understand the methods used in each class and it's quite intricate some times. (I'm a beginner)


> 
> So I have a couple of questions if you have time to answer them quickly :
> 
> - After reading a LiDAR set of points, I want to remove all the points that are not last returns. Is this method already implemented in the LASReader class ? Otherwise, do you have an idea how to proceed ? It should be noted that I can't use Liblas in this project as the OTB development team decided not to.

The way to do this in PDAL would be to use a Python 'filters.predicate' filter. https://github.com/PDAL/PDAL/blob/master/test/data/plang/predicate-keep-last-return.xml is an example of a Last Return filter, and you could adapt this to do First Return or whatever other data culling you would like.

> 
> - P2G gives me some odd results when interpolating. Some points are completely aberrants (a 2000m height isolated points where all the surrounding area is about 900 m height). Note that my LiDAR files are of high quality (French government data).  I highly suspect the multiple returns issue to have something to do with it. Note that the "den" output format gives me some extremely noisy results (barely meaningful) 

One noisy point is likely to cause a lot of interpolation grief. You must filter your data before handing it off to P2G, as I believe it doesn't do any noise filtering and simply interpolates what it sees. You could try the 'filters.predicate' approach above, and the PCLBlock [2] filtering capability includes a statistical noise filter that could be adapted as well.

[2] http://www.pdal.io/stages/filters.pclblock.html

> - The method "getStreamFactory" doesn't work because it contains pure virtual methods, and I don't know how to resolve this.

I'm not sure what you mean by this point. Can you please file a ticket with an example or compiler error message?

Howard


More information about the pdal mailing list