Class TLcdLASModelDescriptor

All Implemented Interfaces:
ILcdDataModelDescriptor, ILcdModelDescriptor, Serializable

public class TLcdLASModelDescriptor extends ALcdLIDARModelDescriptor
Model descriptor for data decoded from a LASer (.las) file.

Data model

Although the elements in the model are not data objects themselves, you can still use the data model to access properties of individual points when filtering during decoding, or you can use it to build expressions for use in styling.

The data model has a single type that consists of the properties available in the source file. Only the properties available in the source file are available in the data type, for example if a file does contain color information, but does not contain infra-red information, the data type will have a COLOR property, but not an INFRARED property.

You can find the names of all the possible properties as constant fields in TLcdLASModelDescriptor: COLOR, INTENSITY, CLASSIFICATION, INFRARED, and so on.

You can use getPropertyRange(com.luciad.datamodel.TLcdDataProperty) to get the extent (minimum and maximum value) of a specific property in this specific model.

LASer specification

See also http://www.asprs.org/Committee-General/LASer-LAS-File-Format-Exchange-Activities.html for more details on the LAS specification.

Since:
2014.0
See Also:
  • Field Details

  • Method Details

    • getDataModel

      public TLcdDataModel getDataModel()
      Returns the data model that describes the individual points in this model.

      See class javadoc for more details on the data model.

      Specified by:
      getDataModel in interface ILcdDataModelDescriptor
      Overrides:
      getDataModel in class ALcdLIDARModelDescriptor
      Returns:
      the data model that describes the elements of the model
    • getModelElementTypes

      public Set<TLcdDataType> getModelElementTypes()
      Since the elements in the model are not ILcdDataObject themselves, this method returns null.

      See class javadoc for more details on the data model.

      Specified by:
      getModelElementTypes in interface ILcdDataModelDescriptor
      Overrides:
      getModelElementTypes in class ALcdLIDARModelDescriptor
      Returns:
      null, as the elements in the model are not ILcdDataObject themselves.
    • getModelTypes

      public Set<TLcdDataType> getModelTypes()
      Returns a single data type that describes the individual points in the elements of this model.

      See class javadoc for more details on the data model.

      Returns:
      The single data type that describes the individual points in the elements of this model.
    • getDataType

      public TLcdDataType getDataType()
      Returns the single data type that describes the individual points in the elements of this model.

      This is the same data type as in getModelTypes().

      See class javadoc for more details on the data model.

      Returns:
      The single data type that describes the individual points in the elements of this model.
    • getPropertyRange

      public ILcdInterval getPropertyRange(TLcdDataProperty aProperty)
      Returns the range of values for the given property for this model.

      The ranges are based on 10% of the points, randomly chosen.

      Only returns an interval for properties with numeric values, otherwise returns null.

      Also returns null if the property is not available in the data type of this model.

      Specified by:
      getPropertyRange in class ALcdLIDARModelDescriptor
      Parameters:
      aProperty - the property to get the range for.
      Returns:
      The range, or null if the property is not available in the file, or if the property does not have a range.
    • getSourceId

      public int getSourceId()
      Returns the File Source ID as specified in the .las header.
      Returns:
      The source id.
    • getProjectId1

      public long getProjectId1()
      Returns the Project ID - GUID data 1 as specified in the .las header.
      Returns:
      The project id 1.
    • getProjectId2

      public int getProjectId2()
      Returns the Project ID - GUID data 2 as specified in the .las header.
      Returns:
      The project id 2.
    • getProjectId3

      public int getProjectId3()
      Returns the Project ID - GUID data 3 as specified in the .las header.
      Returns:
      The project id 3.
    • getProjectId4

      public int[] getProjectId4()
      Returns the Project ID - GUID data 4 as specified in the .las header.
      Returns:
      The project id 4.
    • getVersion

      public String getVersion()
      Returns the version of the .las file (combined from major and minor for example, "1.3").
      Returns:
      The version.
    • getSystemIdentifier

      public String getSystemIdentifier()
      Returns the System Identifier as specified in the .las header.
      Returns:
      The system identifier.
    • getGeneratingSoftware

      public String getGeneratingSoftware()
      Returns the Generating Software as specified in the .las header.
      Returns:
      The generating software.
    • getCreationDate

      public Date getCreationDate()
      Returns the date of creation as specified in the .las header, combined from day of year and year.
      Returns:
      The creation date.
    • getNumberOfPoints

      public long getNumberOfPoints()
      Returns the Number Of Point Records as specified in the .las header.

      Note: the actual amount of points in the model may be different, for example due to filtering or setting a maximum.

      Returns:
      The number of points in the file.
    • getVariableLengthRecords

      public Collection<TLcdLASModelDescriptor.VariableLengthRecord> getVariableLengthRecords()
      Returns the variable-length records (including extended) available in the .las file.
      Returns:
      The variable-length records.