com.esri.arcgis.geodatabase
Class IGeometricNetworkProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IGraphProxy
          extended by com.esri.arcgis.geodatabase.IGeometricNetworkProxy
All Implemented Interfaces:
IGeometricNetwork, IGraph, Externalizable, Serializable

public class IGeometricNetworkProxy
extends IGraphProxy
implements IGeometricNetwork, 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.

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, Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  IGeometricNetworkProxy()
           
  IGeometricNetworkProxy(Object obj)
           
protected IGeometricNetworkProxy(Object obj, String iid)
           
 
Method Summary
 void addJunctionWithSubsumption(ISimpleJunctionFeature junction, int junctionEID, ISimpleJunctionFeature subsumedJunction)
          Add a new junction feature to the network by replacing existing junction.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void removeListener(String iidStr, Object theListener)
           
 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 class com.esri.arcgis.geodatabase.IGraphProxy
add, addFeatureClass, deleteSet, getDisplayFeedback, getFeatureDataset, init, isVertexBasedStretching, merge, setVertexBasedStretching, split, transformSet
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IGraph
add, addFeatureClass, deleteSet, getDisplayFeedback, getFeatureDataset, init, isVertexBasedStretching, merge, setVertexBasedStretching, split, transformSet
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

IGeometricNetworkProxy

public IGeometricNetworkProxy()

IGeometricNetworkProxy

public IGeometricNetworkProxy(Object obj)
                       throws IOException
Throws:
IOException

IGeometricNetworkProxy

protected IGeometricNetworkProxy(Object obj,
                                 String iid)
                          throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class IGraphProxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IGraphProxy
Throws:
IOException

getClassesByNetworkAncillaryRole

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

Specified by:
getClassesByNetworkAncillaryRole in interface IGeometricNetwork
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

public 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

Specified by:
establishFlowDirection in interface IGeometricNetwork
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IWorkspaceEdit, ISpatialCacheManager, IWorkspaceEditEvents, Editor, IFeatureClass.createFeature()

isValidFlowDirection

public 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

Specified by:
isValidFlowDirection in interface IGeometricNetwork
Returns:
The validFlowDirection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassesByType

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

Specified by:
getClassesByType in interface IGeometricNetwork
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

public 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

Specified by:
createOrphanFeature in interface IGeometricNetwork
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, Editor, IFeatureClass.createFeature()

getEdgeElement

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

Specified by:
getEdgeElement in interface IGeometricNetwork
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

public 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

Specified by:
getInvalidArea in interface IGeometricNetwork
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

public 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

Specified by:
setInvalidAreaByRef in interface IGeometricNetwork
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

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

Specified by:
getJunctionElement in interface IGeometricNetwork
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

public 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

Specified by:
getNetwork in interface IGeometricNetwork
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

public 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

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

getOrphanJunctionFeatureClass

public 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

Specified by:
getOrphanJunctionFeatureClass in interface IGeometricNetwork
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

public 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

Specified by:
addRule in interface IGeometricNetwork
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

public 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

Specified by:
deleteRule in interface IGeometricNetwork
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

public 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

Specified by:
getRules in interface IGeometricNetwork
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

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

Specified by:
getRulesByClassAndSubtype in interface IGeometricNetwork
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

public 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

Specified by:
searchForNetworkFeature in interface IGeometricNetwork
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

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

Product Availability

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

Specified by:
getGeometryForEdgeEID in interface IGeometricNetwork
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

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

Specified by:
getGeometryForJunctionEID in interface IGeometricNetwork
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

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

Specified by:
getNetworkFeature in interface IGeometricNetwork
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

public 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

Specified by:
spliceSimpleJunction in interface IGeometricNetwork
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

public 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

Specified by:
addJunctionWithSubsumption in interface IGeometricNetwork
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, Editor, IFeatureClass.createFeature()