com.esri.arcgis.geodatabase
Interface IGeometricNetwork

All Superinterfaces:
IGraph, Serializable
All Known Implementing Classes:
GeometricNetwork, IGeometricNetworkProxy

public interface IGeometricNetwork
extends IGraph, Serializable

Provides access to members that manage properties and elements of a geometric network.

Remarks

A geometric network is a collection of feature classes that participate in a network relationship. Each feature class has a topological role in the network and a network may have multiple feature classes in the same role. A feature dataset may have multiple networks but a feature class can only belong to one network. Every geometric network has an associated logical network.

The NetworkLoader object should be used for creating or building of geometric networks, in place of the GeometricNetwork object.

If you need to access the logical network directly for doing such things as tracing or navigating the network using a forward star, etc see the Network object help.

When To Use

Use the IGeometricNetwork interface to return general geometric network information.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
INetworkUpdate, IGraph.deleteSet(com.esri.arcgis.system.ISet), IGeometricNetworkName, IForwardStar, IGraph, INetworkClass.getNetworkAncillaryRole(), INetworkWorkspace, IGraph.transformSet(com.esri.arcgis.system.ISet, int, com.esri.arcgis.geometry.IAffineTransformation2D), IGeometricNetwork.addJunctionWithSubsumption(com.esri.arcgis.geodatabase.ISimpleJunctionFeature, int, com.esri.arcgis.geodatabase.ISimpleJunctionFeature), INetworkClass.getGeometricNetwork(), INetworkClass.getFieldToWeightMapping(int), IGraph.split(com.esri.arcgis.geodatabase.IEdgeFeature, com.esri.arcgis.geometry.IGeometry), IGeometricNetwork, IUtilityNetwork, INetwork

Method Summary
 void addJunctionWithSubsumption(ISimpleJunctionFeature junction, int junctionEID, ISimpleJunctionFeature subsumedJunction)
          Add a new junction feature to the network by replacing existing junction.
 void addRule(IConnectivityRule rule)
          Adds the constraint to the set of connectivity rules.
 ISimpleJunctionFeature createOrphanFeature(IPoint location, int[] orphanEID)
          Create an orphan JunctionFeature.
 void deleteRule(IConnectivityRule rule)
          Removes the rule from the set of rules.
 void establishFlowDirection()
          Establish the flow direction in the LogicalNetwork.
 IEnumFeatureClass getClassesByNetworkAncillaryRole(int role)
          The FeatureClasses with the specified ancillary role.
 IEnumFeatureClass getClassesByType(int type)
          The FeatureClasses containing Features of the specified type.
 int getEdgeElement(IPoint location)
          The EdgeElement EID at the specified location.
 IGeometry getGeometryForEdgeEID(int edgeEID)
          The geometry of the EdgeElement.
 IGeometry getGeometryForJunctionEID(int junctionEID)
          The geometry that corresponds to the JunctionElement (a point).
 IInvalidArea getInvalidArea()
          The area to be drawn.
 int getJunctionElement(IPoint location)
          The JunctionElement EID at the specified location.
 INetwork getNetwork()
          The associated logical network.
 INetworkFeature getNetworkFeature(INetElementDescription networkElement)
          The NetworkFeature that corresponds to the NetworkElement.
 int getNetworkType()
          The type of associated logical network.
 IFeatureClass getOrphanJunctionFeatureClass()
          The FeatureClass containing the OrphanJunctionFeatures.
 IEnumRule getRules()
          All the connectivity rules associated with the network.
 IEnumRule getRulesByClassAndSubtype(int classID, int subtypeCode)
          The connectivity rules associated with the class and subtype.
 boolean isValidFlowDirection()
          Indicates whether the current flow directions are valid.
 IEnumFeature searchForNetworkFeature(IPoint location, int type)
          The NetworkFeatures found at the point.
 void setInvalidAreaByRef(IInvalidArea invalidArea)
          The area to be drawn.
 void spliceSimpleJunction(ISimpleJunctionFeature junction, int junctionEID, IGeometry geometry, boolean forceConnectivity)
          Create network connectivity between the simple junction and any intersecting network feature.
 
Methods inherited from interface com.esri.arcgis.geodatabase.IGraph
add, addFeatureClass, deleteSet, getDisplayFeedback, getFeatureDataset, init, isVertexBasedStretching, merge, setVertexBasedStretching, split, transformSet
 

Method Detail

getClassesByNetworkAncillaryRole

IEnumFeatureClass getClassesByNetworkAncillaryRole(int role)
                                                   throws IOException,
                                                          AutomationException
The FeatureClasses with the specified ancillary role.

Product Availability

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

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

establishFlowDirection

void establishFlowDirection()
                            throws IOException,
                                   AutomationException
Establish the flow direction in the LogicalNetwork.

Remarks

EstablishFlowDirection should be called after each edit operation which affects the network's current flow direction. Please note that EstablishFlowDirection should also be called following a reconcile but prior to a post process.

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.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()

isValidFlowDirection

boolean isValidFlowDirection()
                             throws IOException,
                                    AutomationException
Indicates whether the current flow directions are valid.

Remarks

ValidFlowDirection specifies whether the geometric network's flow direction has been defined. Use EstablishFlowDirection on this same interface to set the flow direction.

In this release, ValidFlowDirection is not implemented -- for now, this property always returns False.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getClassesByType

IEnumFeatureClass getClassesByType(int type)
                                   throws IOException,
                                          AutomationException
The FeatureClasses containing Features of the specified type.

Product Availability

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

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

createOrphanFeature

ISimpleJunctionFeature createOrphanFeature(IPoint location,
                                           int[] orphanEID)
                                           throws IOException,
                                                  AutomationException
Create an orphan JunctionFeature.

Remarks

The CreateOrphanFeature method creates an orphan junction at the location corresponding to the supplied point. Connectivity is not established by CreateOrphanFeature, the Connect method must be called explicitly after the feature is created.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
location - A reference to a com.esri.arcgis.geometry.IPoint (in)
orphanEID - The orphanEID (out: use single element array)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISimpleJunctionFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()

getEdgeElement

int getEdgeElement(IPoint location)
                   throws IOException,
                          AutomationException
The EdgeElement EID at the specified location.

Product Availability

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

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

getInvalidArea

IInvalidArea getInvalidArea()
                            throws IOException,
                                   AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geodatabase.IInvalidArea
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInvalidAreaByRef

void setInvalidAreaByRef(IInvalidArea invalidArea)
                         throws IOException,
                                AutomationException
The area to be drawn.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getJunctionElement

int getJunctionElement(IPoint location)
                       throws IOException,
                              AutomationException
The JunctionElement EID at the specified location.

Product Availability

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

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

getNetwork

INetwork getNetwork()
                    throws IOException,
                           AutomationException
The associated logical network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geodatabase.INetwork
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetworkType

int getNetworkType()
                   throws IOException,
                          AutomationException
The type of associated logical network.

Remarks

See esriNetworkType Constants for information on the types of networks.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A com.esri.arcgis.geodatabase.esriNetworkType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOrphanJunctionFeatureClass

IFeatureClass getOrphanJunctionFeatureClass()
                                            throws IOException,
                                                   AutomationException
The FeatureClass containing the OrphanJunctionFeatures.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geodatabase.IFeatureClass
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addRule

void addRule(IConnectivityRule rule)
             throws IOException,
                    AutomationException
Adds the constraint to the set of connectivity rules.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deleteRule

void deleteRule(IConnectivityRule rule)
                throws IOException,
                       AutomationException
Removes the rule from the set of rules.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRules

IEnumRule getRules()
                   throws IOException,
                          AutomationException
All the connectivity rules associated with the network.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRule
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRulesByClassAndSubtype

IEnumRule getRulesByClassAndSubtype(int classID,
                                    int subtypeCode)
                                    throws IOException,
                                           AutomationException
The connectivity rules associated with the class and subtype.

Product Availability

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

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

searchForNetworkFeature

IEnumFeature searchForNetworkFeature(IPoint location,
                                     int type)
                                     throws IOException,
                                            AutomationException
The NetworkFeatures found at the point.

Remarks

The SearchForNetworkFeature method returns an enumerator of the specified type of network feature located at the supplied point. If more than one feature is coincident with the point, then all are returned. The returned features may span different classes; the only restriction is that all features must be of the same feature type. There is no guarantee as to the order of the returned features.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
location - A reference to a com.esri.arcgis.geometry.IPoint (in)
type - A com.esri.arcgis.geodatabase.esriFeatureType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumFeature
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryForEdgeEID

IGeometry getGeometryForEdgeEID(int edgeEID)
                                throws IOException,
                                       AutomationException
The geometry of the EdgeElement.

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.

getGeometryForJunctionEID

IGeometry getGeometryForJunctionEID(int junctionEID)
                                    throws IOException,
                                           AutomationException
The geometry that corresponds to the JunctionElement (a point).

Product Availability

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

Parameters:
junctionEID - The junctionEID (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.

getNetworkFeature

INetworkFeature getNetworkFeature(INetElementDescription networkElement)
                                  throws IOException,
                                         AutomationException
The NetworkFeature that corresponds to the NetworkElement.

Product Availability

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

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

spliceSimpleJunction

void spliceSimpleJunction(ISimpleJunctionFeature junction,
                          int junctionEID,
                          IGeometry geometry,
                          boolean forceConnectivity)
                          throws IOException,
                                 AutomationException
Create network connectivity between the simple junction and any intersecting network feature. For internal use only.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

addJunctionWithSubsumption

void addJunctionWithSubsumption(ISimpleJunctionFeature junction,
                                int junctionEID,
                                ISimpleJunctionFeature subsumedJunction)
                                throws IOException,
                                       AutomationException
Add a new junction feature to the network by replacing existing junction.

Description

The pJunction argument represents the junction which will subsume or replace the existing junction. The JunctionEID represents the Element ID of the junction feature specified in the first argument and can be obtained from SimpleJunctionFeature::EID property. The third argument, pSusbsumedJunction represents the junction being subsumed.

AddJunctionWithSubsumption will enforce network connectivity between the newly created feature and any network features which are geometrically coincident.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
junction - A reference to a com.esri.arcgis.geodatabase.ISimpleJunctionFeature (in)
junctionEID - The junctionEID (in)
subsumedJunction - A reference to a com.esri.arcgis.geodatabase.ISimpleJunctionFeature (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, com.esri.arcgis.editor.Editor, IFeatureClass.createFeature()