[Liblas-devel] Some ideas for class organization

Howard Butler hobu.inc at gmail.com
Sun Dec 16 22:14:18 EST 2007


On Dec 16, 2007, at 8:54 PM, Martin Isenburg wrote:

> hi guys,
>
> thanks for keeping me in the loop. i work more on the science part  
> of things and am not really software engineer so i trust your design  
> decisions.

Ok.  If you join the mailing list, we'll keep most traffic and  
activities there or in IRC if you want to follow along closely.   
Again, thanks for providing an excellent jumping off point.

>
>
> but do you think it is necessary to provide support for indexed  
> access to the points? are there any applications for that? accessing  
> individual points by inxe would break whenever the LASfile is  
> gzipped (or provided as a piped stream). i would assume that most  
> applicaitons will batch process the points. a conditional read (sort  
> of implemented in las2las) might be more useful. like read only  
> points that are classified as ground points ... etc
>

One immediate application of indexed reads I can see is to hook up the  
ids to something like spatialindex http://research.att.com/~marioh/spatialindex/ 
  where storing the Rtree alongside the .las file can provide quick  
bbox query support.  An application where this utility might be  
important is data warehousing/dissemination applications, where you  
have an index of .las files, each .las file has a spatial index, and a  
user requests data for a specified area within one of the files.

We need to think more about the piped stdin case, but one approach  
might be to mmap (or some such) it.  I can see how the proposed  
approach would be limiting in that case though.  Mateusz and Phil may  
have some other ideas...



> also ... assuming that lasformat 2.0 will eventually be  
> standardized. followed by 2.1 ... etc ... it seems the single  
> LASFile class could need more flexibility to be easy to upgrade in  
> the future. if the class would use writer and reader objects that  
> might be easier to realize.
>
> apart from wrapping my code into a new .. more useful design are you  
> also planning to create new funcitonality? such as LAS2.0 support?  
> gridding? clean-up? etc ...?
>

The eventual hope is to use libLAS to provide a driver for GDAL/OGR.   
GDAL/OGR has simple gridding support, and many other tools such as  
GRASS use GDAL as a data format reader, so making a driver for LAS can  
provide a lot of leverage to other applications.  It also supports  
projections, spatial referencing, datum transformations, etc.

As far as other new functionality, an immediate need is providing  
wrappers to other languages like C# and Python.  I want to keep an eye  
on LAS 2.0 and engineer things in a way that we can easily provide  
support for it (or maybe even just do it).  Do you happen to know when  
2.0 will be finalized?

Howard






More information about the Liblas-devel mailing list