ArcObjects Library Reference  (GeoDatabase)    

IComplexEdgeFeature Interface

Provides access to members that return information about a complex edge feature.

Product Availability

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

Members

Description
Method ConnectAtIntermediateVertices Attempt to connect at the locations corresponding to intermediate vertices.
Read-only property GeometryByPoints The geometry associated with the two points.
Read-only property GeometryForEID The geometry (polyline) corresponding to the edge EID.
Read-only property JunctionFeature The JunctionFeature associated with the index.
Read-only property JunctionFeatureCount The number of connected JunctionFeatures.
Method SplitEdgeElement Inserts the specified JunctionElement into an edge at the point.

CoClasses that implement IComplexEdgeFeature

CoClasses and Classes Description
ComplexEdgeFeature ESRI Complex edge geometric network feature object.

Remarks

The IComplexEdgeFeature interface is supported on a ComplexEdgeFeature.  Complex edge features correspond to features with polyline geometry that are part of a geometric network. They have two or more connected junction features— with one at each endpoint of their polyline geometries being the minimum number. They may also have any number of connected mid-span junction features.  Connecting a junction feature to a ComplexEdgeFeature does not result in a physical subdivision of the edge; instead, it results in a logical subdivision (that is, new edge elements in the logical network that are associated with the complex edge).

The geometry of ComplexEdgeFeatures may not be self-intersecting; there may be discontinuities with the geometry (they may be multipart), and the geometry may not have the same start and stop vertex (that is, a closed loop).

[Visual Basic 6.0]

The following code examples demonstrates how to use the IComplexEdgeFeature interface to return information on a complex edge feature.

Sub GetComplexEdgeFeatureInfo(pFeature As IFeature, pNetEls As INetElements)
 
  Dim pCEF As IComplexEdgeFeature
  Dim pEnumEID As IEnumNetEID
  Dim pGeom As IGeometry
  Dim lEID As Long
  Dim lUCID As Long, lUID As Long, lSubID As Long
  Dim bIsValid As Boolean
 
  'QI to the IComplexEdgeFeature
  Set pCEF = pFeature
 
  'Get the enumeration of EIDs for the complex edge feature
  Set pEnumEID = pNetEls.GetEIDs(pFeature.Class.ObjectClassID, pFeature.OID, esriETEdge)
 
  'For each EID of the complex edge, get the geometry and print some information
  lEID = pEnumEID.Next
  Debug.Print "EID", "IsValid", "GeometryType", "JunctionFeatureCount", "esriETEdge", "lUCID", "lUID", "lSubID"
  Do Until lEID = 0
    'get the geometry
    Set pGeom = pCEF.GeometryForEID(lEID)
    'Check if the EID is valid
    bIsValid = pNetEls.IsValidElement(lEID, esriETEdge)
    'Get the feature information of the EID
    pNetEls.QueryIDs lEID, esriETEdge, lUCID, lUID, lSubID
    Debug.Print lEID, bIsValid, pGeom.GeometryType, pCEF.JunctionFeatureCount, esriETEdge, lUCID, lUID, lSubID
    lEID = pEnumEID.Next
  Loop
End Sub

See Also

INetworkFeature Interface | ISimpleEdgeFeature Interface | IJunctionFeature Interface | IEdgeFeature Interface | INetworkFeatureEvents Interface | IComplexNetworkFeature Interface | IComplexJunctionFeature Interface | IComplexEdgeFeature Interface | INetworkFeature.Connect Method | ISimpleJunctionFeature Interface