[Liblas-devel] LAS Schema

Howard Butler hobu.inc at gmail.com
Wed Mar 17 11:43:33 EDT 2010


All,

As part of my ongoing work to use libLAS to feed and care for Oracle Point Clouds, I have come upon a significant deficiency in the LAS specification.  The LAS specification of its point formats is essentially fixed.  This means in cases where the data don't exist, or have no meaning, extra fluff is added to the files.  It also means that the point formats are not easily extendable in any way other than to issue a new version of the specification.  

Oracle Point Clouds (OPC) have no such fixed format limitation.  They merely have a blob (in the database sense) of 8 bytes worth of storage per "dimension" of point data.  OPCs currently do have a limit of 12 (for a total of 80 bytes per point with some administrative padding) of these dimensions being stored per point.  Because of the variability in all of the different point formats across all of the different LAS versions, I really need a way to describe a variably-defined format.  

A logical (and pre-destined way, at least in the OPC implementation) is to define an XML schema that describes the layout of the point format and then write code that can interpret that schema.  To that end, I have developed both a sample schema and a sample file that describes the point layout of point format 0 of the 1.0 specification

http://liblas.org/wiki/LASSchema
http://liblas.org/wiki/LASSchemaExample

Now for the fun part.  My interpretation of the specification tells me that while the basic point format is fixed in terms of byte size and layout (ie, point format 0 with a size of 20 bytes) the specification does not disallow extra data to be attached to the points.  Do others agree with this interpretation?  For example, imagine a file with a format id of 0 but a data record length of 34.  Do we agree this is legal?

[PointFormat0][14 extra bytes of data][PointFormat0][14 extra bytes of data] ...

If we think this is legal, it would be a simple extension to allow the LASSchema to be written into a VLR that describes the layout of this  extra data *within* the LAS file (as well as coincidently help me describe data in OPC, but that's an unrelated issue).  

What do you think?  I'm interested in hearing people's opinions...

Howard


More information about the Liblas-devel mailing list