com.esri.arcgis.geodatabaseextensions
Class IDynamicSurfaceProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabaseextensions.IDynamicSurfaceProxy
All Implemented Interfaces:
IDynamicSurface, Externalizable, Serializable
Direct Known Subclasses:
IDynamicSurface2Proxy

public class IDynamicSurfaceProxy
extends com.esri.arcgis.interop.Dispatch
implements IDynamicSurface, 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.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IDynamicSurfaceProxy()
           
  IDynamicSurfaceProxy(Object obj)
           
protected IDynamicSurfaceProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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 readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void setRasterBlockSize(int pSize)
          The pixel block allocation size used when creating a raster.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IDynamicSurfaceProxy

public IDynamicSurfaceProxy()

IDynamicSurfaceProxy

public IDynamicSurfaceProxy(Object obj)
                     throws IOException
Throws:
IOException

IDynamicSurfaceProxy

protected IDynamicSurfaceProxy(Object obj,
                               String iid)
                        throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

setRasterBlockSize

public 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.

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

getRasterBlockSize

public 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.

Specified by:
getRasterBlockSize in interface IDynamicSurface
Returns:
The pSize
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTerrain

public 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.

Specified by:
getTerrain in interface IDynamicSurface
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

public 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.

Specified by:
getTin in interface IDynamicSurface
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

public 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.

Specified by:
queryRaster in interface IDynamicSurface
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

public 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 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.

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.

Specified by:
queryAsFeatureClass in interface IDynamicSurface
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.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException