com.esri.arcgis.geodatabase
Interface IComplexEdgeFeature

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
ComplexEdgeFeature, IComplexEdgeFeatureProxy

public interface IComplexEdgeFeature
extends java.io.Serializable

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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


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

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

Supported Platforms

Windows, Solaris, Linux

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.

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

getJunctionFeature

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

Supported Platforms

Windows, Solaris, Linux

Remarks

The JunctionFeature property array is a mechanism for clients to obtain all the junction features that are associated with the complex edge. The JunctionFeature property is 0 based, so to iterate through the junction features connected with a complex edge feature, use JunctionFeatureCount - 1.

As with the other properties on IComplexEdgeFeature the JunctionFeature 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.

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

splitEdgeElement

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

Supported Platforms

Windows, Solaris, Linux

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.

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

getGeometryByPoints

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

Supported Platforms

Windows, Solaris, Linux

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:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryForEID

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

Supported Platforms

Windows, Solaris, Linux

Remarks

The GeometryForEID property allows clients to obtain the portion of the complex edge’s geometry that corresponds to a specified EID. This is useful for network solvers in particular.

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

connectAtIntermediateVertices

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

Supported Platforms

Windows, Solaris, Linux

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.

 

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