com.esri.arcgis.geodatabase
Interface IComplexEdgeFeature

All Superinterfaces:
Serializable
All Known Implementing Classes:
ComplexEdgeFeature

public interface IComplexEdgeFeature
extends Serializable

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

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IComplexNetworkFeature, IJunctionFeature, INetworkFeature.connect(), IEdgeFeature, IComplexJunctionFeature, IComplexEdgeFeature, INetworkFeatureEvents, ISimpleJunctionFeature, ISimpleEdgeFeature, INetworkFeature

Method Summary
 void connectAtIntermediateVertices()
          Attempt to connect at the locations corresponding to intermediate vertices.
 IGeometry getGeometryByPoints(IPoint fromPoint, IPoint toPoint)
          The geometry associated with the two points.
 IGeometry getGeometryForEID(int edgeEID)
          The geometry (polyline) corresponding to the edge EID.
 IJunctionFeature getJunctionFeature(int index)
          The JunctionFeature associated with the index.
 int getJunctionFeatureCount()
          The number of connected JunctionFeatures.
 void splitEdgeElement(IPoint point, int newJunctionEID)
          Inserts the specified JunctionElement into an edge at the point.
 

Method Detail

getJunctionFeatureCount

int getJunctionFeatureCount()
                            throws IOException,
                                   AutomationException
The number of connected JunctionFeatures.

Remarks

The JunctionFeatureCount property returns the number of simple junction features connected to the complex edge feature.

As with the other properties on IComplexEdgeFeature the JunctionFeatureCount property should not be used to traverse the geometric network. The IForwardStar interface on the Network Object Model should be used for traversing the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getJunctionFeature

IJunctionFeature getJunctionFeature(int index)
                                    throws IOException,
                                           AutomationException
The JunctionFeature associated with the index.

Product Availability

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

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IJunctionFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

splitEdgeElement

void splitEdgeElement(IPoint point,
                      int newJunctionEID)
                      throws IOException,
                             AutomationException
Inserts the specified JunctionElement into an edge at the point.

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
newJunctionEID - The newJunctionEID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryByPoints

IGeometry getGeometryByPoints(IPoint fromPoint,
                              IPoint toPoint)
                              throws IOException,
                                     AutomationException
The geometry associated with the two points.

Product Availability

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

Parameters:
fromPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
toPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryForEID

IGeometry getGeometryForEID(int edgeEID)
                            throws IOException,
                                   AutomationException
The geometry (polyline) corresponding to the edge EID.

Product Availability

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

Parameters:
edgeEID - The edgeEID (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

connectAtIntermediateVertices

void connectAtIntermediateVertices()
                                   throws IOException,
                                          AutomationException
Attempt to connect at the locations corresponding to intermediate vertices.

Remarks

The ConnectAtIntermediateVertices method will connect a complex edge feature to any junction which is coincident with an intermediate vertex. The ConnectAtIntermediateVertices method takes the geometry associated with the complex edge and performs a spatial query at each vertex on the polyline. The spatial query obtains any coincident junction features and if any junction feature is found to be coincident at a vertex, establishes connectivity between the first junction and the complex edge. This is an expensive method; the cost is linearly related to the number of vertices found in the polyline. Thus, it takes longer on longer complex edges.ConnectAtIntermediateVertices can be used any time when a complex edge feature has junctions which are coincident but not connected, at midspan.

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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