<div dir="ltr"><div><div><div>Hello Howard,<br><br></div>I have a couple questions for you, regarding the pdal library. It reminds me of ITK.<br><br></div>For now I won't use the pipeline-style, given that it would take a while to refactor the ulterior processing. I will most definitely consider it, thought. <br><br>At the moment I am looking for a read into a std::vector with either the full las cloud or a buffered read of chunk_size size. Reading point by point is very inefficient, more so on network drives. Looks like cached liblas does that, but doesn't make the vector accessible. It is convenient for me to have chunks or the full cloud given that afterwards I do the processing for each point in a openmp for. Of course chunks is better, given that occasionally the clouds won't fit in memory.<br><br></div><div>Getting to pdal, there isn't much documentation on the pdal c++ API, is there? (e.g. <a href="http://www.pdal.io/api/cpp/reader.html">http://www.pdal.io/api/cpp/reader.html</a> ) What methods does the reader class provide? Are they thread-safe? You state pdal is not parallelized, but can I use the reader in parallel? Does it buffer, and can I have access to the buffer?<br><br></div><div>Cheers,<br><br></div><div>Pol<br></div><div><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 15, 2016 at 9:24 AM, Helimap Postmaster <span dir="ltr"><<a href="mailto:postmaster@helimap.ch" target="_blank">postmaster@helimap.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Good morning Howard,<br><br></div>This is precious information. I was unaware on liblas being under revision, I'm glad you told me. I'll follow up the pointers you gave, they look promising.<br><br></div>Thank you again,<br><br></div>Pol<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 14, 2016 at 8:29 PM, Howard Butler <span dir="ltr"><<a href="mailto:howard@hobu.co" target="_blank">howard@hobu.co</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
> On Mar 14, 2016, at 9:54 AM, Helimap Postmaster <<a href="mailto:postmaster@helimap.ch" target="_blank">postmaster@helimap.ch</a>> wrote:<br>
><br>
> Hello!<br>
><br>
> I am currently developing an application which would benefit from using a buffer when reading a las file.<br>
><br>
> The C++ API has a CreateCached method in the ReaderFactory, but I can't seem to discover which is the intended way to use it, there's no reference anywhere on the documentation, and actually no other method calls it.<br>
><br>
> Is it as simple as<br>
><br>
> liblas::ReaderFactory readerFactory;<br>
> boost::uint32_t cache_size = 1000;<br>
> liblas::Reader reader(lasFStream, cache_size);<br>
<br>
</span>Pol,<br>
<br>
I would suggest if you are starting fresh with including LAS reading into your software that you start with either PDAL <a href="http://pdal.io" rel="noreferrer" target="_blank">http://pdal.io</a> or LASlib <a href="https://github.com/LAStools/LAStools/tree/master/LASlib" rel="noreferrer" target="_blank">https://github.com/LAStools/LAStools/tree/master/LASlib</a><br>
<br>
For LAS files, PDAL is going to allow you to read in a one-at-a-time streamed fashion or as a giant single buffer. It of course also supports LASzip and many other point cloud format types.<br>
<br>
Thanks,<br>
<br>
Howard<br>
<br>
PS libLAS is now in "maintenance mode" and should only be used by projects that have historically used it in the past. If you are doing new things, you should use PDAL or look to other things like LASlib<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>