[pdal] Documentation on using PDAL

César Martínez Izquierdo cesar.izq at gmail.com
Fri Apr 15 10:01:02 PDT 2016


Regarding our needs, the library would be used on a desktop GIS software
(gvSIG), so the use cases are quite diverse. We would implement a LAS data
provider for our own framework, this provider would be internally based on
PDAL.

Therefore, typical usages could be:
- To access all the LAS points on a sequential way (to draw the layer)
- To access all the LAS points on an area (when zooming to the layer)
- To access a single LAS point (info by point)
- To write a new LAS file, the input of which could be any other point
layer loaded on our GIS software (including another LAS/LAZ file but it
could also be Shapefiles for instance). Note that because we have our own
abstraction layers, we will not be able to directly use a PDAL reader as
the input of a pipeline in this case (although we might create a custom
reader that wraps our gvSIG data providers)

As LAS files can be sometimes huge, I am specially worried about PDAL
reading/writing strategies. Does a las_reader.execute(table) (as shown on
the libLAS to PDAL tutorial) load the full file on-memory? Or does it load
blocks on demand when you actually request one point to the ViewSet?

If everything is read on-memory, the I guess we'll need to limit the number
of loaded points, but at the same time it would probably simplify the
implementation of our data provider.

Our software (gvSIG) is written in Java, so using PDAL means writing some
Java-C++ bindings, that's why we want to carefully assess if PDAL fits our
needs before actually implementing anything. I was (probably wrongly)
feeling that libLAS could better suit our needs, but I am aware PDAL is
much more active nowadays.

Thank you very much for the documentation pointers and ideas, the "libLAS C
API to PDAL transition guide" is very useful.

César Martínez



On 15 April 2016 at 18:14, Andrew Bell <andrew.bell.ia at gmail.com> wrote:

> On Fri, Apr 15, 2016 at 4:06 AM, César Martínez Izquierdo <
> cesar.izq at gmail.com> wrote:
>
>> Dear list,
>>
>> The "Writing with PDAL" tutorial [
>> http://www.pdal.io/tutorial/writing.html] gives me some light on the
>> writing part, but I still don't see if it really matches our use case. If I
>> correctly understand the tutorial, you have to first create a PointTable
>> and a PointView, which I guess are created on-memory.
>>
>> Is there a way to "stream" the points to the writer? Otherwise I believe
>> this approach is not feasible for writing big LAS files. Would be possible
>> to create the writer on "append" mode and to feed it with several
>> PointViews on a loop for instance?. Will this approach perform well or is
>> there a better way to do it?
>>
>
> As was mentioned, you can stream points to the writer with LAS depending
> on what other processing you might want to do.  When you call execute(),
> just pass a FixedPointTable instead of a PointTable.  Unless you are
> memory-limited, it's not likely to amount to a huge performance
> improvement, though.
>
> You really need to be specific about your needs to allow us to provide you
> good information.  It's best to write a little code and not make to make
> too many assumptions about problems before you start.
>
> Best,
>
> --
> Andrew Bell
> andrew.bell.ia at gmail.com
>



-- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   César Martínez Izquierdo
   GIS developer
   -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
   SCOLAB: http://www.scolab.es
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20160415/7d4e6158/attachment.html>


More information about the pdal mailing list