We're considering moving QT Modeler over to using libLAS for its LAS 
reading/writing needs.  The loveliness of LAS1.3 and the potential variability 
of LAS2.0 has me desiring to get out of maintaining my own LAS parser. So I'm 
beginning to evaluate how well it might work for us.



QT in some modes accesses LAS files somewhat like a disk-resident database or 
memory-mapped file so that it can access point-record data at will without 
keeping it all memory resident.  This requires random access reads (and 
possibly eventually writes) to/from LAS files.  Depending upon the nature of 
the query I am making, this could be one single point, several thousand points 
relatively contained within a certain section of the LAS files, millions of 
points spread randomly all across the file, or plain old fashion sequential 
access to the whole kit-and-kaboodle.



I don't really know how libLAS caches access to LAS files internally, but with 
my own parser I have had the best performance caching reads by reading 10,000 
points or so whenever my equivalent of GetPointAt()is called, and then serving 
subsequent requests out of the cache until one exceeds the cached block.  
Unless libLAS does something similar I believe my skipping around the file 
could slow down considerably.  What I would ideally like to be able to do is 
GetPointsAt(position, numpoints) to access an array of point record data, and 
then I could largely continue to function as I do with my own parser, just 
having the block reads funneled through libLAS instead of interpreting the LAS 
file explicitly.



It would also be nice if such access were threaded such that I could request 
one block of points, fire off a thread to read another, and be processing away 
on the first block while the second request is being filled.  Heck, multiple 
threads all churning away on their own sub-sections requesting additional 
points as needed while we're at it.



More forward-looking, I'd like to have a SetPoint() and SetPoints() to 
overwrite data records in an LAS.  The idea would be to make a "working copy" of

the LAS and edit values in it as desired on the fly, while maintaining a 
separate link to the original file for comparison and undo purposes.  No 
interest on my part in an "InsertPoints" at this time.


Kevin E Murphy
Chief Engineer
AISD/VIE
JOHNS  HOPKINS
U  N  I   V   E   R   S   I   T   Y
Applied Physics Laboratory
11110 Johns Hopkins Road
Laurel, MD 20723-6099
240-228-5340/Washington
443-778-5340/Baltimore



<<inline: image001.gif>>

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

Reply via email to