This document is archived and information here might be outdated.  Recommended version.


IDynamicSurface3.Intersect Method (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > GeodatabaseExtensions > ESRI.ArcGIS.GeoDatabaseExtensions > Interfaces > ID > IDynamicSurface3 Interface > IDynamicSurface3.Intersect Method
ArcGIS Developer Help

IDynamicSurface3.Intersect Method

Intersect with another surface.

[Visual Basic .NET]
Public Sub Intersect ( _
    ByVal pAOI As IGeometry, _
    ByVal Resolution As Double, _
    ByVal pReferenceSurface As Object, _
    ByVal referenceRsolution As Double, _
    ByVal bReverse As Boolean, _
    ByVal pOutFeatureClass As IFeatureClass, _
    ByVal volumeFieldName As String, _
    ByVal surfaceAreaFieldName As String, _
    ByVal codeFieldName As String, _
    ByVal pTrackCancel As ITrackCancel _
)
[C#]
public void Intersect (
    IGeometry pAOI,
    double Resolution,
    object pReferenceSurface,
    double referenceRsolution,
    bool bReverse,
    IFeatureClass pOutFeatureClass,
    string volumeFieldName,
    string surfaceAreaFieldName,
    string codeFieldName,
    ITrackCancel pTrackCancel
);
[C++]
HRESULT Intersect(
  IGeometry* pAOI,
  double Resolution,
  LPUNKNOWN pReferenceSurface,
  double referenceRsolution,
  VARIANT_BOOL bReverse,
  IFeatureClass* pOutFeatureClass,
  BSTR volumeFieldName,
  BSTR surfaceAreaFieldName,
  BSTR codeFieldName,
  ITrackCancel* pTrackCancel
);
[C++]
Parameters
pAOI [in]

pAOI is a parameter of type IGeometry* Resolution [in]
Resolution is a parameter of type double pReferenceSurface [in]
pReferenceSurface is a parameter of type IUnknown referenceRsolution [in]
referenceRsolution is a parameter of type double bReverse [in]
bReverse is a parameter of type bool pOutFeatureClass [in]
pOutFeatureClass is a parameter of type IFeatureClass* volumeFieldName [in]
volumeFieldName is a parameter of type BSTR surfaceAreaFieldName [in]
surfaceAreaFieldName is a parameter of type BSTR codeFieldName [in]
codeFieldName is a parameter of type BSTR pTrackCancel [in]
pTrackCancel is a parameter of type ITrackCancel*

Product Availability

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

Description

Calculates the geometric intersection and difference between two surfaces. The output is a polygon feature class. Each polygon represents a contiguous region where the terrain is either above, below, or equal in height to the reference surface. The volumetric difference, surface area of the terrain, and code indicating the above, below, or equal status is written as attribution for each output polygon.

pAOI is a reference to an envelope or polygon that defines the area of interest. The common area between both surfaces and pAOI with be processed.

Resolution indicates which pyramid level to use for the dynamic surface in the calculation. Provide the resolution of the desired pyramid level. If there isn't an exact match between the provided resolution and those of any pyramid levels in the terrain the next most detailed one in the terrain will be used.

pReferenceSurface is either a DynamicSurface (i.e., made from a terrain dataset via ITerrain.CreateDynamicSurface) or TIN. This is the other surface used in the intersection. Output polygon attribution for above, below, and equal are relative to the reference surface.

referenceResolution indicates which pyramid level to use for the reference surface when that surface is a terrain. Provide the resolution of the desired pyramid level. If there isn't an exact match between the provided resolution and those of any pyramid levels in the terrain the next most detailed one in the terrain will be used.

bReverse, when set to TRUE, will swap the reference surface with this surface. That means output codes for above and below will be inverted and the surface area will be based on the other surface.

pOutFeatureClass is the target polygon feature class. It is 2D (not z-aware) and should contain three fields to hold output attribution. The fields for volume and surface area should be doubles and the code field an integer.

volumeFieldName is the name of an existing field into which values for volume will be placed.

surfaceAreaFieldName is the name of an existing field into which values for surface area will be placed.

codeFieldName is the name of an existing field into which values for above (1), below (-1), and equal (0), will be placed.

pTrackCancel is a reference to a CancelTracker to support progress reporting and the ability to halt the process. To bypass this feature pass a NULL pointer.

Notes:

See Also

IDynamicSurface3 Interface