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
