com.esri.arcgis.geodatabaseextensions
Interface IDynamicSurface

All Superinterfaces:
Serializable
All Known Subinterfaces:
IDynamicSurface2, IDynamicSurface3
All Known Implementing Classes:
DynamicSurface, IDynamicSurface2Proxy, IDynamicSurface3Proxy, IDynamicSurfaceProxy

public interface IDynamicSurface
extends Serializable

Provides access to members used to derive raster and TIN surfaces from a terrain.

Superseded By

IDynamicSurface2

Description

The IDynamicSurface interface is used to extract rasters, TINs, and measurement points/vertices from a terrain based on extent and level of detail.

This interface is implemented by the DynamicSurface class which is instantiated via the ITerrain.CreateDynamicSurface member of the terrain object.

Product Availability

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


Method Summary
 int getRasterBlockSize()
          The pixel block allocation size used when creating a raster.
 ITerrain getTerrain()
          The source terrain from which the DynamicSurface was derived.
 ITin getTin(IEnvelope pAreaOfInterest, double resolution, boolean bClipWithAOI, ITrackCancel pTrackCancel)
          Returns a TIN for a given area of interest and terrain pyramid level.
 void queryAsFeatureClass(IFeatureClass pFeatureClass, IEnvelope pAreaOfInterest, double resolution, ITrackCancel pTrackCancel)
          Writes terrain measurement points and breakline vertices to a multipoint feature class for a given area of interest and terrain pyramid level.
 void queryRaster(IRasterDataset pDataset, IEnvelope pAreaOfInterest, double resolution, int method, ITrackCancel pTrackCancel)
          Writes surface heights to a raster dataset for a given area of interest and terrain pyramid level.
 void setRasterBlockSize(int pSize)
          The pixel block allocation size used when creating a raster.
 

Method Detail

setRasterBlockSize

void setRasterBlockSize(int pSize)
                        throws IOException,
                               AutomationException
The pixel block allocation size used when creating a raster.

Product Availability

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

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

getRasterBlockSize

int getRasterBlockSize()
                       throws IOException,
                              AutomationException
The pixel block allocation size used when creating a raster.

Product Availability

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

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

getTerrain

ITerrain getTerrain()
                    throws IOException,
                           AutomationException
The source terrain from which the DynamicSurface was derived.

Product Availability

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

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

getTin

ITin getTin(IEnvelope pAreaOfInterest,
            double resolution,
            boolean bClipWithAOI,
            ITrackCancel pTrackCancel)
            throws IOException,
                   AutomationException
Returns a TIN for a given area of interest and terrain pyramid level.

Description

AreaOfInterest (AOI) is an envelope that indicates the area of the terrain to be extracted. If a spatial reference is defined for the envelope the returned TIN will be in that spatial reference. Otherwise the TIN will be in the spatial reference of the terrain.

Resolution is used to indicate which pyramid level to extract from. The pyramid level with a resolution (e.g. z-tolerance) that is equal to or better than the value specified will be used. For example, take a terrain that has pyramids with resolutions 1.0, 2.5, and 5.0. If you give a value of 2.5 then the 2.5 resolution pyramid level is used. If you give 2.4 then the pyramid with a resolution of 1 is used. Specify a value of -1 to obtain the terrain's overview representation.

ClipWithAOI is a boolean that is used to neatline clip the returned TIN to the passed AOI. Otherwise, data outside the AOI envelope may be included. If the terrain is defined with a clip polygon the returned TIN with be clipped by the intersection of the clip polygon with the AOI.

TrackCancel is a pointer to a CancelTracker object. If you are not interested in supporting a user cancel operation then pass a NULL pointer ('Nothing' in VB).

You should call ITerrain.GetPointCount before this GetTIN using the same AOI and resolution parameters to ensure the resulting number of nodes is not too big. You should not attempt to build TINs with more than several million points.

The returned TIN will be in edit mode. To save it to disk and take it out of edit mode you call ITin.SaveAs followed by ITinEdit.StopEditing.

Product Availability

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

Parameters:
pAreaOfInterest - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
resolution - The resolution (in)
bClipWithAOI - The bClipWithAOI (in)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (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.

queryRaster

void queryRaster(IRasterDataset pDataset,
                 IEnvelope pAreaOfInterest,
                 double resolution,
                 int method,
                 ITrackCancel pTrackCancel)
                 throws IOException,
                        AutomationException
Writes surface heights to a raster dataset for a given area of interest and terrain pyramid level.

Description

The raster dataset will be written to. The raster must already exist and may be file or SDE based.

AreaOfInterest (AOI) is an envelope that indicates the area of the terrain to be rasterized. If data already exists in the output raster for part of this area it will be overwritten.

Resolution is used to indicate which pyramid level to extract from. The pyramid level with a resolution (e.g. z-tolerance) that is equal to or better than the value specified will be used. For example, take a terrain that has pyramids with resolutions 1.0, 2.5, and 5.0. If you give a value of 2.5 then the 2.5 resolution pyramid level is used. If you give 2.4 then the pyramid with a resolution of 1 is used. Specify a value of -1 to obtain the terrain's overview representation.

The method is the type of interpolation. It may be esriLinearInterpolation or esriNaturalNeighborInterpolation.

TrackCancel is a pointer to a CancelTracker object. If you are not interested in supporting a user cancel operation then pass a NULL pointer ('Nothing' in VB).

Product Availability

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

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

queryAsFeatureClass

void queryAsFeatureClass(IFeatureClass pFeatureClass,
                         IEnvelope pAreaOfInterest,
                         double resolution,
                         ITrackCancel pTrackCancel)
                         throws IOException,
                                AutomationException
Writes terrain measurement points and breakline vertices to a multipoint feature class for a given area of interest and terrain pyramid level.

Description

FeatureClass is an existing, z-aware, multipoint or point feature class that shapes will be added to. The shapes are those measurement points and breakline vertices that would be used to construct a terrain representation based on the following parameters.

AreaOfInterest (AOI) is an envelope that indicates the area of the terrain to be extracted. If a NULL is passed the entire extent is used.

Resolution is used to indicate which pyramid level to extract from. The pyramid level with a resolution (e.g. z-tolerance) that is equal to or better than the value specified will be used. For example, take a terrain that has pyramids with resolutions 1.0, 2.5, and 5.0. If you give a value of 2.5 then the 2.5 resolution pyramid level is used. If you give 2.4 then the pyramid with a resolution of 1 is used. Specify a value of -1 to obtain the terrain's overview representation.

TrackCancel is a pointer to a CancelTracker object. If you are not interested in supporting a user cancel operation then pass a NULL pointer ('Nothing' in VB).

Product Availability

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

Parameters:
pFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pAreaOfInterest - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
resolution - The resolution (in)
pTrackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.