com.esri.arcgis.geodatabase
Class EdgeFeatureSource

java.lang.Object
  extended by com.esri.arcgis.geodatabase.EdgeFeatureSource
All Implemented Interfaces:
IEdgeFeatureSource, INetworkSource, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class EdgeFeatureSource
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INetworkSource, IEdgeFeatureSource

A container for describing a network dataset source whose edge elements are derived from line feature geometry.

Description

An edge feature source is a feature class with polyline geometry that is used to generate edge elements into a network dataset. An EdgeFeatureSource object is a light weight object that holds the information about an edge feature source in a network dataset.

The EdgeFeatureSource object for an existing network dataset can be accessed through the INetworkDataset interface.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
EdgeFeatureSource()
          Constructs a EdgeFeatureSource using ArcGIS Engine.
EdgeFeatureSource(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
EdgeFeatureSource theEdgeFeatureSource = (EdgeFeatureSource) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 int getClassConnectivityGroup()
          Connectivity group in which this edge feature source participates.
 int getClassConnectivityPolicy()
          Policy determining how all edge elements in this source connect to each other.
static String getClsid()
          getClsid.
 int getElementType()
          Network element type of this network source.
 String getFromElevationFieldName()
          The field name on the feature source to be used as the from elevation field when determining connectivity at coincident end vertices.
 int getID()
          Unique identifier of this network source.
 String getName()
          Name of the class associated with this network source.
 INetworkSourceDirections getNetworkSourceDirections()
          The driving directions settings for this network source.
 IPropertySet getProperties()
          Property set of this network source.
 int getSourceType()
          Type of network source.
 int getSubtypeConnectivityGroup(int subtypeCode)
          Connectivity group in which the specified subtype of this edge feature source participates.
 int getSubtypeConnectivityPolicy(int subtypeCode)
          Policy determining how the edge elements in the specified subtype of this source connect to each other.
 String getToElevationFieldName()
          The field name on the feature source to be used as the to elevation field when determining connectivity at coincident end vertices.
 int hashCode()
          the hashcode for this object
 boolean isUsesGeometryInConnectivity()
          Indicates if the source object's geometry is used in determining network connectivity.
 boolean isUsesSubtypes()
          Indicates if this edge feature source determines connectivity groups and policies by subtypes.
 void setClassConnectivityGroup(int group)
          Connectivity group in which this edge feature source participates.
 void setClassConnectivityPolicy(int policy)
          Policy determining how all edge elements in this source connect to each other.
 void setElementType(int elementType)
          Network element type of this network source.
 void setFromElevationFieldName(String name)
          The field name on the feature source to be used as the from elevation field when determining connectivity at coincident end vertices.
 void setName(String sourceName)
          Name of the class associated with this network source.
 void setNetworkSourceDirectionsByRef(INetworkSourceDirections sourceDirections)
          The driving directions settings for this network source.
 void setProperties(IPropertySet sourceProperties)
          Property set of this network source.
 void setSubtypeConnectivityGroup(int subtypeCode, int group)
          Connectivity group in which the specified subtype of this edge feature source participates.
 void setSubtypeConnectivityPolicy(int subtypeCode, int policy)
          Policy determining how the edge elements in the specified subtype of this source connect to each other.
 void setToElevationFieldName(String name)
          The field name on the feature source to be used as the to elevation field when determining connectivity at coincident end vertices.
 void setUsesSubtypes(boolean bySubtype)
          Indicates if this edge feature source determines connectivity groups and policies by subtypes.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

EdgeFeatureSource

public EdgeFeatureSource()
                  throws IOException,
                         UnknownHostException
Constructs a EdgeFeatureSource using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

EdgeFeatureSource

public EdgeFeatureSource(Object obj)
                  throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
EdgeFeatureSource theEdgeFeatureSource = (EdgeFeatureSource) obj;

Construct a EdgeFeatureSource using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to EdgeFeatureSource.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getID

public int getID()
          throws IOException,
                 AutomationException
Unique identifier of this network source.

Remarks

Each source in a Network Dataset is identified by a unique value, the ID property. The ID property can be used to get a reference to the corresponding network source through the INetworkDataset::SourceByID property. This ID is different than the ID value returned by the IObjectClass::ObjectClassID property.

As with ObjectID values, SourceID values are never reused. They are not guaranteed to be sequential, but are guaranteed to be in increasing order based on when the source was added to the network. Unless the source is added or deleted from the DataElement, the SourceID values will remain constant after the INetworkDataset::UpdateSchema method is called.

Product Availability

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

Specified by:
getID in interface INetworkSource
Returns:
The iD
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementType

public int getElementType()
                   throws IOException,
                          AutomationException
Network element type of this network source.

Product Availability

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

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

setElementType

public void setElementType(int elementType)
                    throws IOException,
                           AutomationException
Network element type of this network source.

Product Availability

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

Specified by:
setElementType in interface INetworkSource
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriNetworkElementType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
Name of the class associated with this network source.

Remarks

The Name property for the NetworkSource is exactly the same as the name of the reference FeatureClass. The feature classes that participate in the network dataset can be opened from the NetworkDataset by simply calling IFeatureClassContainer::ClassByName and passing in this Name.

NOTE: For SDC network datasets, not all network sources have a reference feature class. Only those feature classes returned in the IFeatureClassContainer::Classes enumeration can be opened.

Unlike other network dataset types, the source names for an SDC network dataset are not the same as the feature class names of the SDC feature classes. For SDC data, the source name for the edge feature source is the same as the network dataset name (obtained from IDataset::Name).

Product Availability

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

Specified by:
getName in interface INetworkSource
Returns:
The sourceName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(String sourceName)
             throws IOException,
                    AutomationException
Name of the class associated with this network source.

Product Availability

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

Specified by:
setName in interface INetworkSource
Parameters:
sourceName - The sourceName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperties

public IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
Property set of this network source.

Product Availability

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

Specified by:
getProperties in interface INetworkSource
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProperties

public void setProperties(IPropertySet sourceProperties)
                   throws IOException,
                          AutomationException
Property set of this network source.

Product Availability

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

Specified by:
setProperties in interface INetworkSource
Parameters:
sourceProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUsesGeometryInConnectivity

public boolean isUsesGeometryInConnectivity()
                                     throws IOException,
                                            AutomationException
Indicates if the source object's geometry is used in determining network connectivity.

Remarks

The UsesGeometryInConnectivity property indicates whether the geometries of the features in a NetworkSource are used in determining how its network elements are connected to each other.

For example, the geometries of the features in an EdgeFeatureSource and JunctionFeatureSource are used to determine how the generated edge and junction elements connect to each other. The UsesGeometryInConnectivity property for these sources is True.

In contrast, the geometries of the features in a TurnFeatureSource are not used in deteriming how the turn elements are associated with the edges and junctions of the network -- the fields of the TurnFeatureSource feature class determine this. The UsesGeometryInConnectivity property for the TurnFeatureSource is False.

Product Availability

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

Specified by:
isUsesGeometryInConnectivity in interface INetworkSource
Returns:
The usesGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSourceType

public int getSourceType()
                  throws IOException,
                         AutomationException
Type of network source.

Product Availability

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

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

getNetworkSourceDirections

public INetworkSourceDirections getNetworkSourceDirections()
                                                    throws IOException,
                                                           AutomationException
The driving directions settings for this network source.

Remarks

The NetworkSourceDirections property specifies the information needed to generate driving directions when reporting routes traversing elements from this NetworkSource.

Product Availability

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

Specified by:
getNetworkSourceDirections in interface INetworkSource
Returns:
A reference to a com.esri.arcgis.geodatabase.INetworkSourceDirections
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNetworkSourceDirectionsByRef

public void setNetworkSourceDirectionsByRef(INetworkSourceDirections sourceDirections)
                                     throws IOException,
                                            AutomationException
The driving directions settings for this network source.

Product Availability

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

Specified by:
setNetworkSourceDirectionsByRef in interface INetworkSource
Parameters:
sourceDirections - A reference to a com.esri.arcgis.geodatabase.INetworkSourceDirections (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassConnectivityPolicy

public int getClassConnectivityPolicy()
                               throws IOException,
                                      AutomationException
Policy determining how all edge elements in this source connect to each other.

Remarks

An EdgeFeatureSource can be assigned to a connectivity group in the network dataset in one of two ways:

If all features are assigned to the same connectivity group, then use the ClassConnectivityPolicy property to specify the appropriate edge connectivity policy for the features in this EdgeFeatureSource.

If features are assigned to a connectivity group based on their Subtype values, then the ClassConnectivityPolicy property is not used. See the SubtypeConnectivityPolicy property.

Product Availability

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

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

setClassConnectivityPolicy

public void setClassConnectivityPolicy(int policy)
                                throws IOException,
                                       AutomationException
Policy determining how all edge elements in this source connect to each other.

Product Availability

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

Specified by:
setClassConnectivityPolicy in interface IEdgeFeatureSource
Parameters:
policy - A com.esri.arcgis.geodatabase.esriNetworkEdgeConnectivityPolicy constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassConnectivityGroup

public int getClassConnectivityGroup()
                              throws IOException,
                                     AutomationException
Connectivity group in which this edge feature source participates.

Remarks

An EdgeFeatureSource can be assigned to a connectivity group in the network dataset in one of two ways:

If all features are assigned to the same connectivity group, then use the ClassConnectivityGroup property to specify the connectivity group that this EdgeFeatureSource is assigned.

If features are assigned to a connectivity group based on their Subtype values, then the ClassConnectivityGroup property is not used. See the SubtypeConnectivityGroup property.

Product Availability

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

Specified by:
getClassConnectivityGroup in interface IEdgeFeatureSource
Returns:
The group
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setClassConnectivityGroup

public void setClassConnectivityGroup(int group)
                               throws IOException,
                                      AutomationException
Connectivity group in which this edge feature source participates.

Product Availability

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

Specified by:
setClassConnectivityGroup in interface IEdgeFeatureSource
Parameters:
group - The group (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeConnectivityPolicy

public int getSubtypeConnectivityPolicy(int subtypeCode)
                                 throws IOException,
                                        AutomationException
Policy determining how the edge elements in the specified subtype of this source connect to each other.

Product Availability

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

Specified by:
getSubtypeConnectivityPolicy in interface IEdgeFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
A com.esri.arcgis.geodatabase.esriNetworkEdgeConnectivityPolicy constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubtypeConnectivityPolicy

public void setSubtypeConnectivityPolicy(int subtypeCode,
                                         int policy)
                                  throws IOException,
                                         AutomationException
Policy determining how the edge elements in the specified subtype of this source connect to each other.

Product Availability

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

Specified by:
setSubtypeConnectivityPolicy in interface IEdgeFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
policy - A com.esri.arcgis.geodatabase.esriNetworkEdgeConnectivityPolicy constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeConnectivityGroup

public int getSubtypeConnectivityGroup(int subtypeCode)
                                throws IOException,
                                       AutomationException
Connectivity group in which the specified subtype of this edge feature source participates.

Product Availability

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

Specified by:
getSubtypeConnectivityGroup in interface IEdgeFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
The group
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubtypeConnectivityGroup

public void setSubtypeConnectivityGroup(int subtypeCode,
                                        int group)
                                 throws IOException,
                                        AutomationException
Connectivity group in which the specified subtype of this edge feature source participates.

Product Availability

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

Specified by:
setSubtypeConnectivityGroup in interface IEdgeFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
group - The group (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUsesSubtypes

public boolean isUsesSubtypes()
                       throws IOException,
                              AutomationException
Indicates if this edge feature source determines connectivity groups and policies by subtypes.

Remarks

An EdgeFeatureSource can be assigned to a connectivity group in the network dataset in one of two ways:

If all features are assigned to the same connectivity group, then the UsesSubtypes property should be set to False. This means that the ClassConnectivityGroup and ClassConnectivityPolicysettings will apply to this EdgeFeatureSource.

If features are assigned to a connectivity group based on their Subtype values, then the UsesSubtypes property should be set to True. This means that the SubtypeConnectivityGroup and SubtypeConnectivityPolicysettings will apply to this EdgeFeatureSource.

Product Availability

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

Specified by:
isUsesSubtypes in interface IEdgeFeatureSource
Returns:
The bySubtype
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUsesSubtypes

public void setUsesSubtypes(boolean bySubtype)
                     throws IOException,
                            AutomationException
Indicates if this edge feature source determines connectivity groups and policies by subtypes.

Product Availability

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

Specified by:
setUsesSubtypes in interface IEdgeFeatureSource
Parameters:
bySubtype - The bySubtype (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFromElevationFieldName

public String getFromElevationFieldName()
                                 throws IOException,
                                        AutomationException
The field name on the feature source to be used as the from elevation field when determining connectivity at coincident end vertices.

Remarks

When using elevation field data, both the FromElevationFieldName and ToElevationFieldName must be specified.

Product Availability

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

Specified by:
getFromElevationFieldName in interface IEdgeFeatureSource
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setFromElevationFieldName

public void setFromElevationFieldName(String name)
                               throws IOException,
                                      AutomationException
The field name on the feature source to be used as the from elevation field when determining connectivity at coincident end vertices.

Product Availability

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

Specified by:
setFromElevationFieldName in interface IEdgeFeatureSource
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getToElevationFieldName

public String getToElevationFieldName()
                               throws IOException,
                                      AutomationException
The field name on the feature source to be used as the to elevation field when determining connectivity at coincident end vertices.

Remarks

When using elevation field data, both the FromElevationFieldName and ToElevationFieldName must be specified.

Product Availability

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

Specified by:
getToElevationFieldName in interface IEdgeFeatureSource
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setToElevationFieldName

public void setToElevationFieldName(String name)
                             throws IOException,
                                    AutomationException
The field name on the feature source to be used as the to elevation field when determining connectivity at coincident end vertices.

Product Availability

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

Specified by:
setToElevationFieldName in interface IEdgeFeatureSource
Parameters:
name - The name (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.