com.esri.arcgis.geodatabaseextensions
Interface ILasDataset

All Superinterfaces:
Serializable
All Known Implementing Classes:
LasDataset

public interface ILasDataset
extends Serializable

Provides access to members of LasDataset.

Product Availability

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


Method Summary
 ILasSurface createDynamicSurface()
          Returns an implicit surface.
 void export(ITrackCancel pTrackCancel, int fileIndex, ILasPointFilter pFilter, String newFileName, ISpatialReference pNewSpatialReference, boolean bProject, boolean bDropVLRs)
          Returns an implicit surface.
 IEnvelope getExtent()
          The xyz extent of the dataset.
 ILasFile getFile(int index)
          Returns the LAS file specified by the index.
 int getFileCount()
          The number of LAS files contained in the dataset.
 String getName()
          The name of the dataset.
 double getPointCount()
          The number of points in the dataset.
 double getSizeInBytes()
          The size of all the LAS files in bytes.
 ISpatialReference getSpatialReference()
          The spatial reference of the dataset.
 ILasStatistics getStatistics()
          Get statistics.
 void getSurfaceConstraint(int index, IFeatureClass[] ppClass, IField[] ppHeightField, IField[] ppTagField, int[] pType)
          Gets surface constraint specified by the index.
 int getSurfaceConstraintCount()
          The number of surface constraints contained in the dataset.
 void getSurfaceConstraintID(int index, IUID[] ppGuid)
          Gets surface constraint specified by the index.
 void getSurfaceConstraintIndexFromID(IUID pGuid, int[] pIndex)
          Gets surface constraint's index identified by the ID.
 void getSurfaceConstraintName(int index, IFeatureClassName[] ppName, String[] pHeightField, String[] pTagField, int[] pType)
          Gets surface constraint specified by the index.
 void init(String name)
          Opens the specified dataset.
 boolean isDirty()
          Indicates if the dataset has been changed since last save.
 boolean isHasStatistics()
          Indicates if statistics is available.
 boolean isNeedsUpdateStatistics()
          Indicates if update is necessary.
 boolean isUsesRelativePath()
          Indicates if the dataset is saved with relative path.
 void saveAs(String name, boolean bOverWrite)
          Saves the dataset to disk using the specified name.
 void setEmpty()
          Empty the object.
 

Method Detail

setEmpty

void setEmpty()
              throws IOException,
                     AutomationException
Empty the object.

Description

Brings the LasDataset object to the state that exists immediately after it is co-created (i.e., with 'New'). It references no LasDataset on disk, has no las files, surface constraints etc.

Product Availability

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

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

init

void init(String name)
          throws IOException,
                 AutomationException
Opens the specified dataset.

Description

Initializes the object by pointing to a las dataset on disk at the specified location.

Product Availability

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

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

saveAs

void saveAs(String name,
            boolean bOverWrite)
            throws IOException,
                   AutomationException
Saves the dataset to disk using the specified name.

Description

The interface pointer will reference the newly saved las dataset after the call is made.
Name is the full path (including the name) of the location to which the las dataset is to be saved.
bOverWrite, if set to True, the output las dataset will be replaced if it already exists.

Product Availability

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

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

getName

String getName()
               throws IOException,
                      AutomationException
The name of the dataset.

Description

The name of the las dataset is the full path pointing to the location of the dataset on the file system.

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.

isUsesRelativePath

boolean isUsesRelativePath()
                           throws IOException,
                                  AutomationException
Indicates if the dataset is saved with relative path.

Description

Indicates whether the las files in the las dataset are stored using relative paths.

Product Availability

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

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

isDirty

boolean isDirty()
                throws IOException,
                       AutomationException
Indicates if the dataset has been changed since last save.

Description

Indicates whether the las dataset has been changed since the last time it was saved. Changes to the las dataset's schema (adding or removing files, computing statistics etc.) result in the las dataset becoming dirty. When a las dataset is dirty, consider using ILasDatasetEdit.Save after all the edits to avoid losing the changes.

Product Availability

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

Returns:
The pbIsDirty
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 dataset.

Description

The spatial reference of the las dataset. Ideally, this should match the spatial reference of the LAS files within the las dataset. LAS files that have a different spatial reference will be projected on the fly to the spatial reference of the las dataset. LAS files with missing geo referencing information will inherit the spatial reference of the las dataset.

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.

getExtent

IEnvelope getExtent()
                    throws IOException,
                           AutomationException
The xyz extent of the dataset.

Description

The extent of the las dataset represents the cumulative extent of all the LAS files participating in the las dataset. This can be thought of as the minimum bounding box for the LAS files in a given las dataset.

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.

getFileCount

int getFileCount()
                 throws IOException,
                        AutomationException
The number of LAS files contained in the dataset.

Description

The total number of LAS files referenced by the las dataset.

Product Availability

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

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

getFile

ILasFile getFile(int index)
                 throws IOException,
                        AutomationException
Returns the LAS file specified by the index.

Product Availability

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

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

getSurfaceConstraintCount

int getSurfaceConstraintCount()
                              throws IOException,
                                     AutomationException
The number of surface constraints contained in the dataset.

Description

The total number of surface constraints referenced by the las dataset.

Product Availability

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

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

getSurfaceConstraint

void getSurfaceConstraint(int index,
                          IFeatureClass[] ppClass,
                          IField[] ppHeightField,
                          IField[] ppTagField,
                          int[] pType)
                          throws IOException,
                                 AutomationException
Gets surface constraint specified by the index.

Description

Returns the surface constraint specified by the index.
index is the input index.
ppClass is the feature class specified by the index.
ppHeightField is the field being used as the source of height value.
ppTagField is the field being used as the source of tag values.
pType indicates how the surface constraint is incorporated into the triangulation.

Product Availability

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

Parameters:
index - The index (in)
ppClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (out: use single element array)
ppHeightField - A reference to a com.esri.arcgis.geodatabase.IField (out: use single element array)
ppTagField - A reference to a com.esri.arcgis.geodatabase.IField (out: use single element array)
pType - A com.esri.arcgis.geodatabase.esriTinSurfaceType constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceConstraintName

void getSurfaceConstraintName(int index,
                              IFeatureClassName[] ppName,
                              String[] pHeightField,
                              String[] pTagField,
                              int[] pType)
                              throws IOException,
                                     AutomationException
Gets surface constraint specified by the index.

Description

Returns the feature class name object of the surface constraint specified by the index.
index is the input index.
ppName is the feature class name of surface constraint specified by the index.
ppHeightField is the name of the field being used as the source of height value.
ppTagField is the name of the field being used as the source of tag values.
pType indicates how the surface constraint is incorporated into the triangulation.

Product Availability

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

Parameters:
index - The index (in)
ppName - A reference to a com.esri.arcgis.geodatabase.IFeatureClassName (out: use single element array)
pHeightField - The pHeightField (out: use single element array)
pTagField - The pTagField (out: use single element array)
pType - A com.esri.arcgis.geodatabase.esriTinSurfaceType constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceConstraintID

void getSurfaceConstraintID(int index,
                            IUID[] ppGuid)
                            throws IOException,
                                   AutomationException
Gets surface constraint specified by the index.

Description

Returns the UID of the surface constraint specified by the index.
index is the input index.
ppGuid is the UID of the surface constraint.

Product Availability

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

Parameters:
index - The index (in)
ppGuid - A reference to a com.esri.arcgis.system.IUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSurfaceConstraintIndexFromID

void getSurfaceConstraintIndexFromID(IUID pGuid,
                                     int[] pIndex)
                                     throws IOException,
                                            AutomationException
Gets surface constraint's index identified by the ID.

Description

Returns the index of the surface constraint specified by the input UID.
pGuid is the input UID of the surface constraint.
index is the index of the surface constraint.

Product Availability

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

Parameters:
pGuid - A reference to a com.esri.arcgis.system.IUID (in)
pIndex - The pIndex (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointCount

double getPointCount()
                     throws IOException,
                            AutomationException
The number of points in the dataset.

Description

Returns the number of points in the las dataset. This count includes the points that are flagged as 'withheld' (if any).

Product Availability

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

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

getSizeInBytes

double getSizeInBytes()
                      throws IOException,
                             AutomationException
The size of all the LAS files in bytes.

Description

Represents the cumulative size in bytes of all the las files participating in the las dataset.

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.

isHasStatistics

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

Description

Indicates if statistics are available for the las dataset. Use this property in conjunction with ILasDataset.NeedsUpdateStatistics to know whether the statistics available with the las dataset are up-to-date or not.

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

An update to statistics may be necessary if the class code values of points have been modified in the LAS files or if LAS files are added or removed from 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 LasStatistics object.

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.

createDynamicSurface

ILasSurface createDynamicSurface()
                                 throws IOException,
                                        AutomationException
Returns an implicit surface.

Description

Returns an implicit surface from which TINs and rasters are derived.

Product Availability

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

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

export

void export(ITrackCancel pTrackCancel,
            int fileIndex,
            ILasPointFilter pFilter,
            String newFileName,
            ISpatialReference pNewSpatialReference,
            boolean bProject,
            boolean bDropVLRs)
            throws IOException,
                   AutomationException
Returns an implicit surface.

Description

Export allows you to create a new LAS file with a subset of points that match a desired criteria. This method can also be used to rectify geo referencing errors in LAS files.
pTrackCancel is a reference to a cancel tracker object that can be used to monitor progress and/or cancel the process. This can be set to a NULL pointer ('Nothing' in VB) if desired.
FileIndex is the input index of the LAS file.
pFilter is point filter that allows you to select the desired points. If set to NULL, all the points in the input LAS file will be written to the output file.
newFileName is the name of the output LAS file.
pNewSpatialReference is the new spatial reference object.
bProject indicates whether the input point records are to be projected to the new spatial reference.
bDropVLRs indicates if the variable length records are written to the output las file or whether they are to be ignored.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
fileIndex - The fileIndex (in)
pFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasPointFilter (in)
newFileName - The newFileName (in)
pNewSpatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
bProject - The bProject (in)
bDropVLRs - The bDropVLRs (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.