com.esri.arcgis.geodatabaseextensions
Class LasFile

java.lang.Object
  extended by com.esri.arcgis.geodatabaseextensions.LasFile
All Implemented Interfaces:
IGeoDataset, ILasFile, ILasFile2, com.esri.arcgis.interop.RemoteObjRef, java.io.Serializable

public class LasFile
extends java.lang.Object
implements com.esri.arcgis.interop.RemoteObjRef, IGeoDataset, ILasFile, ILasFile2

COM Class 'LasFile'. Generated 3/19/2015 1:20:49 PM from 'C:\ArcGIS\COM\esriGeoDatabaseExtensions.olb'

Description 'Esri LasFile object.' Generator Options: PromptForTypeLibraries = False ClashPrefix = esri_ LowerCaseMemberNames = True IDispatchOnly = False RetryOnReject = False AwtForOcxs = True ArraysAsObjects = False DontRenameSameMethods = False ImplementConflictingInterfaces = True ReuseMethods = True RenameConflictingInterfaceMethods = True GenBeanInfo = True GenerateJavadoc =

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.geodatabaseextensions.ILasFile2
IID, IIDcf9228c8_038a_4f0a_ab66_81525ba5048e, xxDummy
 
Fields inherited from interface com.esri.arcgis.geodatabaseextensions.ILasFile
IID36ccbfd3_8a6c_4c11_8551_96ae8629aad9
 
Constructor Summary
LasFile(java.lang.Object obj)
          Construct a LasFile using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(java.lang.Object o)
          Compare this object with another
 double estimatePointCount(IGeometry pAOI)
          Estimate point count.
 double estimatePointSpacing(boolean bUseStatistics)
          Estimate point spacing.
 IEnvelope getExtent()
          The extent of the GeoDataset.
 ILasHeaderInfo getHeaderInfo()
          Get LAS file header information.
 com.esri.arcgis.interop.Dispatch getJintegraDispatch()
          Deprecated. Internal use only.
 java.lang.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/zLAS file's size in bytes.
 ISpatialReference getSpatialReference()
          The spatial reference of the GeoDataset.
 ILasStatistics getStatistics()
          Get statistics.
 double getUncompressedSizeInBytes()
          The LAS file's uncompressed size in bytes.
 void getVersion(int[] pMajor, int[] pMinor)
          The version of the LAS file.
 int hashCode()
          the hashcode for this object
 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 isRearranged()
          Indicates if points has been spatially rearranged to iptimize data query.
 boolean isStandardGpsTime()
          Indicates if the GPS time is standard GPS Time.
 boolean isZlas()
          Indicates if the underline data file is a zLAS file.
 void release()
          Release a LasFile.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LasFile

public LasFile(java.lang.Object obj)
        throws java.io.IOException
Construct a LasFile using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to LasFile.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
LasFile o = (LasFile)obj; // will not work

LasFile o = new LasFile(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
java.io.IOException - if there are interop problems LasFile theLasFile = (LasFile) obj;
Method Detail

equals

public boolean equals(java.lang.Object o)
Compare this object with another

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class java.lang.Object

getJintegraDispatch

public com.esri.arcgis.interop.Dispatch getJintegraDispatch()
Deprecated. Internal use only.

Specified by:
getJintegraDispatch in interface com.esri.arcgis.interop.RemoteObjRef

release

public void release()
Release a LasFile.

Specified by:
release in interface com.esri.arcgis.interop.RemoteObjRef

getSpatialReference

public ISpatialReference getSpatialReference()
                                      throws java.io.IOException,
                                             AutomationException
The spatial reference of the GeoDataset.

Remarks

This property is read only. For layers, when the first layer is added to ArcMap, its spatial reference is read by this property, and the map is set to this spatial reference.

Instances of the esriCarto.GroupLayer class will return null for this property, as a group layer can contain multiple datasets with different spatial references.

Modifications to a spatial reference returned by this property will not be persisted. To modify the spatial reference of a dataset, the IGeoDatasetSchemaEdit and IGeoDatasetSchemaEdit2 interfaces should be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSpatialReference in interface IGeoDataset
Specified by:
getSpatialReference in interface ILasFile
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public IEnvelope getExtent()
                    throws java.io.IOException,
                           AutomationException
The extent of the GeoDataset.

Remarks

The IGeoDataset::Extent property returns an envelope representing the maximum extent of data which has been stored in the dataset.

Consider the following scenario. A new feature class has features added to it. The IGeoDataset::Extent is then requested and an envelope is returned. The extents of the envelope returned are represented by the red box in the image below.

The red box represents the IGeoDataset extent

If a portion of the features were then deleted and the extent is again requested an envelope with the exact same extents as during the first request would be returned (see image below). This is because the deletion of features does not shrink the extent. However all additions of features outside the red box would increase the envelope returned to encompass the newly added features.

The red box represents the IGeoDataset extent after some of the features have been deleted

If you would like to update the IGeoDataset::Extent property to reflect the current features in your dataset please see IFeatureClassManage::UpdateExtent (also see IFeatureClassLoad). In the image below the extent has been updated and a new envelope is being returned.

The red box represents the IGeoDataset extent after it has been updated

ESRI's GroupLayer implements this property differently from most other layer coclasses. When you instantiate a new GroupLayer, this property will return a valid envelope with zero height and width. With most other newly instantiated layers (for example FeatureLayer, RasterLayer, TinLayer), this property initally returns Nothing.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IGeoDataset
Specified by:
getExtent in interface ILasFile
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public java.lang.String getName()
                         throws java.io.IOException,
                                AutomationException
The (full) file name.

Specified by:
getName in interface ILasFile
Returns:
The pName
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVersion

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

Specified by:
getVersion in interface ILasFile
Parameters:
pMajor - The pMajor (out: use single element array)
pMinor - The pMinor (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointDataFormat

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

Specified by:
getPointDataFormat in interface ILasFile
Returns:
The pFormat
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberOfPointRecords

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

Specified by:
getNumberOfPointRecords in interface ILasFile
Returns:
The pcRecords
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumberOfPointsByReturn

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

Specified by:
getNumberOfPointsByReturn in interface ILasFile
Parameters:
returnNumber - The returnNumber (in)
Returns:
The pcPoints
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeInBytes

public double getSizeInBytes()
                      throws java.io.IOException,
                             AutomationException
The LAS/zLAS file's size in bytes.

Specified by:
getSizeInBytes in interface ILasFile
Returns:
The pcBytes
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasRGB

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

Specified by:
isHasRGB in interface ILasFile
Returns:
The pbHasRGB
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasGpsTime

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

Specified by:
isHasGpsTime in interface ILasFile
Returns:
The pbHasGpsTime
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isStandardGpsTime

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

Specified by:
isStandardGpsTime in interface ILasFile
Returns:
The pbIsAStandard
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeSpatialReference

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

Specified by:
getNativeSpatialReference in interface ILasFile
Returns:
A reference to a com.esri.arcgis.geometry.ISpatialReference
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFileMissing

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

Specified by:
isFileMissing in interface ILasFile
Returns:
The pbIsMissing
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFileValid

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

Specified by:
isFileValid in interface ILasFile
Returns:
The pbIsValid
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasPrjFile

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

Specified by:
isHasPrjFile in interface ILasFile
Returns:
The pbHasPRJ
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasStatistics

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

Specified by:
isHasStatistics in interface ILasFile
Returns:
The pbHasStats
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNeedsUpdateStatistics

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

Specified by:
isNeedsUpdateStatistics in interface ILasFile
Returns:
The pbNeedsUpdate
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getStatistics

public ILasStatistics getStatistics()
                             throws java.io.IOException,
                                    AutomationException
Get statistics.

Specified by:
getStatistics in interface ILasFile
Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ILasStatistics
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHeaderInfo

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

Specified by:
getHeaderInfo in interface ILasFile
Returns:
A reference to a com.esri.arcgis.geodatabaseextensions.ILasHeaderInfo
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

estimatePointSpacing

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

Specified by:
estimatePointSpacing in interface ILasFile
Parameters:
bUseStatistics - The bUseStatistics (in)
Returns:
The pSpacing
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

estimatePointCount

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

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

isZlas

public boolean isZlas()
               throws java.io.IOException,
                      AutomationException
Indicates if the underline data file is a zLAS file.

Specified by:
isZlas in interface ILasFile2
Returns:
The pbIsZlas
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isRearranged

public boolean isRearranged()
                     throws java.io.IOException,
                            AutomationException
Indicates if points has been spatially rearranged to iptimize data query.

Specified by:
isRearranged in interface ILasFile2
Returns:
The pbRearranged
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUncompressedSizeInBytes

public double getUncompressedSizeInBytes()
                                  throws java.io.IOException,
                                         AutomationException
The LAS file's uncompressed size in bytes.

Specified by:
getUncompressedSizeInBytes in interface ILasFile2
Returns:
The pcBytes
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.