On Feb 23, 2009, at 5:09 AM, Neil Woodhouse wrote:

Hi,

        I am using the libLAS software extensively and have came up with
an oddity.


If the file is created with over 450 million points the file
cannot be read by the PointVue viewer

I have check through the code and it looks like we are using uint32_t (unsigned long) throughout the code to describe the number of points in the file (this is in lasheader.hpp/cpp). This is what the spec said to use, so I don't think we have a problem there.

so I
used the LAS tools to create the file from the XYZ file. It works.

the LAS tools that come with libLAS, or Martin Isenberg's tools?

I do
not know the number of points that I am writing until the very end of
the processing and I write the header at this point.

It would be helpful to see some code. The LASWriter keeps track of how many points it is writing into the file as it writes them, and there is a function called UpdateHeader that is supposed to take care of writing the number of points in the file for you when the LASWriter's destructor is called. You shouldn't have to manually keep track of the point count, and if you were doing that plus inadvertently clipping off precision by not using unsigned long, this might be the problem. We would need to see some example code though.

http://liblas.org/browser/trunk/src/detail/writer10.cpp#L218

I wouldn't rule out that this isn't libLAS' problem though, as I've never attempted to write that many points with libLAS before (my quick python example to test writing 425 million points is still grinding as we speak ;).

Thanks for using libLAS, we hope it is working well for you.

Howard

_______________________________________________
Liblas-devel mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/liblas-devel

Reply via email to