com.esri.arcgis.geodatabaseextensions
Interface ILasSurface

All Superinterfaces:
Serializable
All Known Implementing Classes:
LasSurface

public interface ILasSurface
extends Serializable

Provides access to members of LasSurface.

Product Availability

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


Method Summary
 void asRaster(ITrackCancel pTrackCancel, ILasFilter pFilter, IRasterDataset pDataset, int method, int zSource, int fillMethod, int type, double zFactor)
          Export to Raster.
 ITin asTin(ITrackCancel pTrackCancel, ILasFilter pFilter, double resolution, int method, double zFactor)
          Export to TIN.
 void getLineOfSightFeatureClass(ITrackCancel pTrackCancel, ILasFilter pLasFilter, double resolution, int method, double zFactor, IFeatureClass pInputLines, IQueryFilter pQueryFilter, IFeatureClass pOutputLines, IFeatureClass pObstructionPoints, boolean bApplyCurvature, boolean bApplyRefraction, Object pRefractionFactor)
          Get line-of-sight.
 void interpolateFeatureClass(ITrackCancel pTrackCancel, ILasFilter pLasFilter, double resolution, int method, int type, double zFactor, IFeatureClass pInClass, IQueryFilter pQueryFilter, IFeatureClass pOutClass, Object pStepSize)
          Interpolate feature class.
 void interpolateFeatureClassVertices(ITrackCancel pTrackCancel, ILasFilter pLasFilter, double resolution, int method, int type, double zFactor, IFeatureClass pInClass, IQueryFilter pQueryFilter, IFeatureClass pOutClass)
          Interpolate feature class (vertices only).
 void interpolateRaster(ITrackCancel pTrackCancel, ILasFilter pLasFilter, IRasterDataset pDataset, double resolution, int method, int type, double zFactor)
          Export to Raster through triangulation.
 boolean isCanDoCurvature()
          Indicates if earth curvature can be applied.
 

Method Detail

asTin

ITin asTin(ITrackCancel pTrackCancel,
           ILasFilter pFilter,
           double resolution,
           int method,
           double zFactor)
           throws IOException,
                  AutomationException
Export to TIN.

Description

Converts the las dataset to a TIN.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pFilter references a LasFilter that defines the selection criteria for what points to use from the las files. The area of interest (AOI) of the filter defines the extent of the TIN to extract. The Spatial reference of the AOI detemines the spatial reference of the output. This means a projection is applied if it differs from the las dataset. Projection is expensive and should be avoided where possible.

Resolution is a double. It's meaning is controlled by Method. When Method is set to random then Resolution is a thinning factor and you should provide a value > 0 and <= 1. In this case, when multiplied by 100 it represents the percentage of points from the las files to triangulate. When Method is set to min, max, or average then Resolution is the bin size, or horizontal sample distance, used for filtering. The value should be given in XY units of the data.

Method is the esriTinPointSelectionMethod used to control which thinning method is used. Random uses a truly random sample from the las files. The other three methods are based on binning. The points that are the highest or lowest in their bins, or closest to the average in their bins, are used in the output TIN.

zFactor is used to convert z values from one unit of measure to another. The output node z values are multipled by the zFactor.

Notes:

To retrieve full resolution data with no thinning set the Method to random and Resolution to 1.

You should generally not try to create TINs larger than a few million points. Set appropriate filter (including area of interest), resolution, and method properties to limit the size of the output TIN. This method will raise an exception if the resulting TIN is too large.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
resolution - The resolution (in)
method - A com.esri.arcgis.geodatabaseextensions.esriTinPointSelectionMethod constant (in)
zFactor - The zFactor (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITin
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

asRaster

void asRaster(ITrackCancel pTrackCancel,
              ILasFilter pFilter,
              IRasterDataset pDataset,
              int method,
              int zSource,
              int fillMethod,
              int type,
              double zFactor)
              throws IOException,
                     AutomationException
Export to Raster.

Description

Converts the las dataset to a raster primarily through binning.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pFilter references a LasFilter that defines the selection criteria for what points to use from the las files.

pDataset is the output RasterDataset.

Method is the esriPointToRasterMethod that represents the binning strategy for how values are assigned to cells containing one or more las points.

zSource is the esriLasZSource that indicates which las attribute to use for rasterization. If the value is esriLasZSourceColorRGB the output raster must be multiband.

fillMethod is the esriPointToRasterVoidFillMethod that defines the strategy for assigning values to cells that don't contain any las points. These cells can be left as NoData using NoFill. Small voids can be filled with the FillSimple method that averages values of surrounding data cells (larger voids may shrink by one or two cells but are not completely filled). To fill all voids, regardless of size, use the FillInterpolation method.

Type is the esriSurfaceInterpolationType used when the fillMethod is set to FillInterpolation. In this case, the simple fill method is applied first, eliminating small voids. The data cell centers surrounding the remaining voids are then triangulated and the Type is applied against this triangulation to interpolate/assign values for the cells in the void area.

zFactor is used to change units of the output cell values (e.g., to convert feet to meters). The output cell values are multipled by the zFactor.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
pDataset - A reference to a com.esri.arcgis.geodatabase.IRasterDataset (in)
method - A com.esri.arcgis.geodatabaseextensions.esriPointToRasterMethod constant (in)
zSource - A com.esri.arcgis.geodatabaseextensions.esriLasZSource constant (in)
fillMethod - A com.esri.arcgis.geodatabaseextensions.esriPointToRasterVoidFillMethod constant (in)
type - A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)
zFactor - The zFactor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interpolateRaster

void interpolateRaster(ITrackCancel pTrackCancel,
                       ILasFilter pLasFilter,
                       IRasterDataset pDataset,
                       double resolution,
                       int method,
                       int type,
                       double zFactor)
                       throws IOException,
                              AutomationException
Export to Raster through triangulation.

Description

Converts the las dataset to an elevation raster through triangulation and interpolation.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pFilter references a LasFilter that defines the selection criteria for what points to use from the las files. The processing extent is also controlled by the area of interest property of the filter.

pDataset is the output raster dataset. This should typically be a single band image. If it's more, the elevation values will be written to the first band.

windowSize is the horizontal bin size, or sample distance, used for point thinning. The value should be provided in the XY units of the dataset. A square roving window of this size is passed over the set of filtered points. At each location one of the points inside the window is selected based on the selection Method. If there are no points in the window, no point is used. If there is only one point, then that point will be used. Specify a windowSize of -1 if no thinning is supposed to take place.

Method defines the point selection criteria when using windowSize filtering. Valid options include min, max, and average. The random method is not a valid option. If you don't want thinning select min, max, or average with a windowSize of -1.

Type is the interpolation method used to rasterize the points.

zFactor is used to change units of the output cell values (e.g., to convert feet to meters). The output cell values are multipled by the zFactor.

Notes:

This method rasterizes on height only. If you need to rasterize the las dataset on another variable look to ILasSurface.AsRaster and ILasPointCloud.LasPointStatsAsRaster.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pLasFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
pDataset - A reference to a com.esri.arcgis.geodatabase.IRasterDataset (in)
resolution - The resolution (in)
method - A com.esri.arcgis.geodatabaseextensions.esriTinPointSelectionMethod constant (in)
type - A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)
zFactor - The zFactor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interpolateFeatureClass

void interpolateFeatureClass(ITrackCancel pTrackCancel,
                             ILasFilter pLasFilter,
                             double resolution,
                             int method,
                             int type,
                             double zFactor,
                             IFeatureClass pInClass,
                             IQueryFilter pQueryFilter,
                             IFeatureClass pOutClass,
                             Object pStepSize)
                             throws IOException,
                                    AutomationException
Interpolate feature class.

Description

Interpolates height for point, line, and polygon features.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pLasFilter defines the selection criteria for what points to use from the las files. The processing extent is also controlled by the area of interest property of the filter.

Resolution is the bin size, or horizontal sample distance, used for point thinning. The value should be provided in the XY units of the dataset. A square roving window of this size is passed over the set of filtered points. At each location one of the points inside the window is selected based on the selection Method. If there are no points in the window, no point is used. If there is only one point, then that point is used. Specify a Resolution of -1 for no thinning.

Method defines the point selection criteria for bin based point thinning. Valid options include min, max, and average. The random method is not a valid option. If you don't want thinning select min, max, or average with a Resolution of -1.

Type is the interpolation method to use. If this is set to natural neighbors then it's usually a good idea to include a stepsize.

zFactor is used to change units of the output cell values (e.g., to convert feet to meters). The output z values are multipled by the zFactor.

pInClass is the input point, polyline, or polygon feature class.

pQueryFilter is used to select input features. This may be set to NULL in which case all features will be used as input.

pOutClass is the target featureclass where output 3D features will be written.

[stepsize] is a horizontal distance used for densification of input polyline and polygon vertices. It's not needed if the interpolation Type is linear since the sampling strategy (i.e., sampling at original vertices plus triangle edge intersections) will capture all necessary detail. A stepsize is recommended when the interpolation Type is natural neighbors. This is because the natural neighbor surface varies smoothly and continuously across triangle faces and you need to specify what sample interval to use to capture this.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pLasFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
resolution - The resolution (in)
method - A com.esri.arcgis.geodatabaseextensions.esriTinPointSelectionMethod constant (in)
type - A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)
zFactor - The zFactor (in)
pInClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pQueryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
pOutClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pStepSize - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interpolateFeatureClassVertices

void interpolateFeatureClassVertices(ITrackCancel pTrackCancel,
                                     ILasFilter pLasFilter,
                                     double resolution,
                                     int method,
                                     int type,
                                     double zFactor,
                                     IFeatureClass pInClass,
                                     IQueryFilter pQueryFilter,
                                     IFeatureClass pOutClass)
                                     throws IOException,
                                            AutomationException
Interpolate feature class (vertices only).

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pLasFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
resolution - The resolution (in)
method - A com.esri.arcgis.geodatabaseextensions.esriTinPointSelectionMethod constant (in)
type - A com.esri.arcgis.geodatabase.esriSurfaceInterpolationType constant (in)
zFactor - The zFactor (in)
pInClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pQueryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
pOutClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanDoCurvature

boolean isCanDoCurvature()
                         throws IOException,
                                AutomationException
Indicates if earth curvature can be applied.

Description

Used to indicate if the effects of earth curvature can be included in line of sight analysis. It will be TRUE if the data is projected and the XY and Z units are all defined in the spatial reference for the dataset.

Product Availability

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

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

getLineOfSightFeatureClass

void getLineOfSightFeatureClass(ITrackCancel pTrackCancel,
                                ILasFilter pLasFilter,
                                double resolution,
                                int method,
                                double zFactor,
                                IFeatureClass pInputLines,
                                IQueryFilter pQueryFilter,
                                IFeatureClass pOutputLines,
                                IFeatureClass pObstructionPoints,
                                boolean bApplyCurvature,
                                boolean bApplyRefraction,
                                Object pRefractionFactor)
                                throws IOException,
                                       AutomationException
Get line-of-sight.

Description

Performs line of sight calculations based on 'from' and 'to' points of input line features.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pLasFilter defines the selection criteria for what points to use from the las files. The processing extent is also controlled by the area of interest property of the filter.

Resolution is the bin size, or horizontal sample distance, used for point thinning. The value should be provided in the XY units of the dataset. A square roving window of this size is passed over the set of filtered points. At each location one of the points inside the window is selected based on the selection Method. If there are no points in the window, no point is used. If there is only one point, then that point is used. Specify a Resolution of -1 for no thinning.

Method defines the point selection criteria for bin based point thinning. Valid options include min, max, and average. The random method is not supported. If you don't want thinning select min, max, or average with a Resolution of -1.

zFactor is used to change units of the output cell values (e.g., to convert feet to meters). The output z values are multipled by the zFactor.

pInputLines is the input polyline feature class. The 'from' and 'to' points of each polyline represent a pair of observer and target points for which a line of sight calculation is made. If the input features are 2D the observer and target heights will be interpolated off the surface. A default offset of 1 will be applied to the observer. If the features are 3D they will be used as is. If fields named OffsetA and/or OffsetB are present, these values will be added to the observer and target respectively for both 2D and 3D inputs.

pQueryFilter is used to select input features. This may be set to NULL in which case all features will be used as input.

pOutputLines is the target featureclass where output 3D polyline features will be written. These lines are assigned visibility codes and indicate what is, and is not, visible on the ground between each observer and target.

pObstructionPoints is the target feature class where the first point of obstruction is written for each sight line when its target is not visible.

bApplyCurvature is used to apply height differentials to correct for earth's curvature. This can only be set to TRUE if the dataset is in a projected coordinate system and XY and Z units are known. Use ILasSurface.CanDoCurvature to check.

bApplyRefraction is used to adjust for the bending of light through the atmosphere.

[pRefractionFactor] a default of 0.13 is used.

Product Availability

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

Parameters:
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
pLasFilter - A reference to a com.esri.arcgis.geodatabaseextensions.ILasFilter (in)
resolution - The resolution (in)
method - A com.esri.arcgis.geodatabaseextensions.esriTinPointSelectionMethod constant (in)
zFactor - The zFactor (in)
pInputLines - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pQueryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
pOutputLines - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pObstructionPoints - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
bApplyCurvature - The bApplyCurvature (in)
bApplyRefraction - The bApplyRefraction (in)
pRefractionFactor - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.