com.esri.arcgis.geodatabaseextensions
Interface ILasFile

All Superinterfaces:
Serializable
All Known Implementing Classes:
LasFile

public interface ILasFile
extends Serializable

Provides access to members of LasFile.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 double estimatePointCount(IGeometry pAOI)
          Estimate point count.
 double estimatePointSpacing(boolean bUseStatistics)
          Estimate point spacing.
 IEnvelope getExtent()
          The XYZ extent of points in the LAS file.
 ILasHeaderInfo getHeaderInfo()
          Get LAS file header information.
 String getName()
          The (full) file name.
 ISpatialReference getNativeSpatialReference()
          The spatial reference defined in the LAS file header.
 double getNumberOfPointRecords()
          The number of points in the LAS file.
 double getNumberOfPointsByReturn(int returnNumber)
          The number of points in the LAS file based on the specified LiDAR return number.
 int getPointDataFormat()
          The record format for points in the LAS file
 double getSizeInBytes()
          The LAS file's size in bytes.
 ISpatialReference getSpatialReference()
          The spatial reference of the LAS file.
 ILasStatistics getStatistics()
          Get statistics.
 void getVersion(int[] pMajor, int[] pMinor)
          The version of the LAS file.
 boolean isFileMissing()
          Indicates if the LAS file is missing.
 boolean isFileValid()
          Indicates if the LAS file exists and is valid.
 boolean isHasGpsTime()
          Indicates GPS time is available.
 boolean isHasPrjFile()
          Indicates if there is a corresponding PRJ file.
 boolean isHasRGB()
          Indicates if RGB is availabe.
 boolean isHasStatistics()
          Indicates if statistics is available.
 boolean isNeedsUpdateStatistics()
          Indicates if update is necessary.
 boolean isStandardGpsTime()
          Indicates if the GPS time is standard GPS Time.
 

Method Detail

getName

String getName()
               throws IOException,
                      AutomationException
The (full) file name.

Description

The full name of the las file including the path.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersion

void getVersion(int[] pMajor,
                int[] pMinor)
                throws IOException,
                       AutomationException
The version of the LAS file.

Description

Outputs the version of the las file to pMajor and pMinor. The version is based on the standard as defined in the LAS specification.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pMajor - The pMajor (out: use single element array)
pMinor - The pMinor (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointDataFormat

int getPointDataFormat()
                       throws IOException,
                              AutomationException
The record format for points in the LAS file

Description

The point record format used in the las file, as based on the LAS specification.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pFormat
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberOfPointRecords

double getNumberOfPointRecords()
                               throws IOException,
                                      AutomationException
The number of points in the LAS file.

Description

The total number of point records in the las file regardless of return type or classification.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pcRecords
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberOfPointsByReturn

double getNumberOfPointsByReturn(int returnNumber)
                                 throws IOException,
                                        AutomationException
The number of points in the LAS file based on the specified LiDAR return number.

Description

The number of points in the las file with the specified return.

returnNumber is the return for which you want to get a count. The valid range is 1-5.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
returnNumber - The returnNumber (in)
Returns:
The pcPoints
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeInBytes

double getSizeInBytes()
                      throws IOException,
                             AutomationException
The LAS file's size in bytes.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pcBytes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasRGB

boolean isHasRGB()
                 throws IOException,
                        AutomationException
Indicates if RGB is availabe.

Description

Indicates whether the las file contains RGB values for all points.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbHasRGB
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasGpsTime

boolean isHasGpsTime()
                     throws IOException,
                            AutomationException
Indicates GPS time is available.

Description

Indicates whether the las file contains GPS time stamps for all points.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbHasGpsTime
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isStandardGpsTime

boolean isStandardGpsTime()
                          throws IOException,
                                 AutomationException
Indicates if the GPS time is standard GPS Time.

Description

Assumming the las file contains GPS time stamps (see ILasFile.HasGpsTime) a return value of FALSE means the values are in GPS weekly time. A return value of TRUE means standard GPS time (satellite GPS Time) minus 1 x 10 to the 9th (Adjusted Standard GPS Time). The offset moves the time back to near zero to improve floating point resolution.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbIsAStandard
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The XYZ extent of points in the LAS file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSpatialReference

ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The spatial reference of the LAS file.

Description

The spatial reference used by ArcGIS for the LAS file. This may come from the LAS file itself, or, if present, a prj file that sits next to the LAS file. A NULL pointer is return if no spatial reference information exists. See also ILasFile.NativeSpatialReference and ILasFile.HasPrjFile.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeSpatialReference

ISpatialReference getNativeSpatialReference()
                                            throws IOException,
                                                   AutomationException
The spatial reference defined in the LAS file header.

Description

Returns the spatial reference as defined by the contents of the referenced LAS file. A NULL pointer is returned if no spatial reference is defined. Note, it's possible through the use of a prj file to define, or override, the spatial reference of a LAS file. The NativeSpatialReference only tells you what's in the LAS file, not what spatial reference ArcGIS is using for it. To determine that call ILasFile.SpatialReference.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFileMissing

boolean isFileMissing()
                      throws IOException,
                             AutomationException
Indicates if the LAS file is missing.

Description

Returns TRUE if the referenced LAS file can't be found on disk.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbIsMissing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFileValid

boolean isFileValid()
                    throws IOException,
                           AutomationException
Indicates if the LAS file exists and is valid.

Description

Returns TRUE if the referenced file can be found on disk and a scan of its header indicates it's a valid LAS file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbIsValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasPrjFile

boolean isHasPrjFile()
                     throws IOException,
                            AutomationException
Indicates if there is a corresponding PRJ file.

Description

Returns TRUE if the referenced LAS file has a corrseponding prj file. This is an ArcGIS file, placed next to the LAS file, that uses the same base name as the LAS file but has the extension '.prj'. Prj files contain spatial reference information. If ArcGIS looks to a LAS file and finds a prj next to it, the spatial reference from the prj will take precedence over what's in the LAS file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbHasPRJ
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasStatistics

boolean isHasStatistics()
                        throws IOException,
                               AutomationException
Indicates if statistics is available.

Description

Indicates whether the las dataset has calculated statistics for the las file. Check ILasFile.NeedsUpdateStatistics to see if the statistics are current or outdated because of edits made to the las file.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbHasStats
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNeedsUpdateStatistics

boolean isNeedsUpdateStatistics()
                                throws IOException,
                                       AutomationException
Indicates if update is necessary.

Description

NeedsUpdateStatistics returns TRUE if statistics have yet to be calculated for the las file or if the statistics are outdated due to edits made on the file. Whether or not the file has been edited is determined by two things: either the las dataset knows it made an edit because it was called to do it (via a ILasPointEdit method) or the las dataset has detected the timestamp of the file has changed relative to what it was when added to the las dataset.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
The pbNeedsUpdate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStatistics

ILasStatistics getStatistics()
                             throws IOException,
                                    AutomationException
Get statistics.

Description

Returns the statistics for the las file. NULL is returned if statistics haven't been calculated. You can also check for statistics using ILasFile.HasStatistics.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ILasStatistics
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeaderInfo

ILasHeaderInfo getHeaderInfo()
                             throws IOException,
                                    AutomationException
Get LAS file header information.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ILasHeaderInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

estimatePointSpacing

double estimatePointSpacing(boolean bUseStatistics)
                            throws IOException,
                                   AutomationException
Estimate point spacing.

Description

Returns the approximate horizontal post spacing of the points in the las file. The unit of the returned value is based on the XY coordinate system of the file.

bUseStatistics is used to specify which way to calculate the estimate. When set to FALSE a simple approximation is made using the total points in the las file against the XY extent declared in the header. This approach's accuracy is relative to how evenly distributed the points are over the entire extent. The more evenly distributed, the more accurate. When bUseStatistics is set to TRUE statistics are used for the estimate. This will generally be more accurate but requires that statistics have already been generated (see ILasDatasetEdit.CalculateFileStatistics and ILasDatasetEdit.CalculateStatistics) which requires a scan of the data. An error will result if this property is set to TRUE and statistics have not been made.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
bUseStatistics - The bUseStatistics (in)
Returns:
The pSpacing
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

estimatePointCount

double estimatePointCount(IGeometry pAOI)
                          throws IOException,
                                 AutomationException
Estimate point count.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pAOI - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Returns:
The pcPoints
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.