com.esri.arcgis.geodatabase
Class JunctionFeatureSource

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

public class JunctionFeatureSource
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INetworkSource, IJunctionFeatureSource

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

Description

A junction feature source is a feature class with point geometry that is used to generate junction elements into a network dataset. A JunctionFeatureSource object is a light weight object that holds the information about a junction feature source in a network dataset.

The JunctionFeatureSource 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
JunctionFeatureSource()
          Constructs a JunctionFeatureSource using ArcGIS Engine.
JunctionFeatureSource(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
JunctionFeatureSource theJunctionFeatureSource = (JunctionFeatureSource) obj;
 
Method Summary
 void addClassConnectivityGroup(int group)
          Adds a connectivity group in which this junction feature source participates.
 void addSubtypeConnectivityGroup(int subtypeCode, int group)
          Adds a connectivity group in which the specified subtype of this junction feature source participates.
 boolean equals(Object o)
          Compare this object with another
 ILongArray getClassConnectivityGroups()
          Connectivity groups in which this junction feature source participates.
 int getClassConnectivityPolicy()
          Policy determining how all junction elements in this source connect to other edge elements.
static String getClsid()
          getClsid.
 int getElementType()
          Network element type of this network source.
 String getElevationFieldName()
          The field name on the feature source to be used as the elevation field when determining connectivity at coincident 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.
 ILongArray getSubtypeConnectivityGroups(int subtypeCode)
          Connectivity groups in which the specified subtype of this junction feature source participates.
 int getSubtypeConnectivityPolicy(int subtypeCode)
          Policy determining how the junction elements in the specified subtype of this source connect to other edge elements.
 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 junction feature source determines connectivity groups and policies by subtypes.
 void removeAllClassConnectivityGroups()
          Removes all connectivity groups in which this junction feature source participates.
 void removeAllSubtypeConnectivityGroups(int subtypeCode)
          Removes all connectivity groups in which the specified subtype of this junction feature source participates.
 void setClassConnectivityPolicy(int policy)
          Policy determining how all junction elements in this source connect to other edge elements.
 void setElementType(int elementType)
          Network element type of this network source.
 void setElevationFieldName(String name)
          The field name on the feature source to be used as the elevation field when determining connectivity at coincident 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 setSubtypeConnectivityPolicy(int subtypeCode, int policy)
          Policy determining how the junction elements in the specified subtype of this source connect to other edge elements.
 void setUsesSubtypes(boolean bySubtype)
          Indicates if this junction 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

JunctionFeatureSource

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

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

JunctionFeatureSource

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

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

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.

getClassConnectivityGroups

public ILongArray getClassConnectivityGroups()
                                      throws IOException,
                                             AutomationException
Connectivity groups in which this junction feature source participates.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then use the ClassConnectivityGroups property to retrieve which connectivity group(s) this JunctionFeatureSource is assigned.

If features are assigned to connectivity group(s) based on their Subtype values, then the ClassConnectivityGroups property is not used. See the SubtypeConnectivityGroups property.

Product Availability

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

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

addClassConnectivityGroup

public void addClassConnectivityGroup(int group)
                               throws IOException,
                                      AutomationException
Adds a connectivity group in which this junction feature source participates.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then use the AddClassConnectivityGroup method to add a new connectivity group to the list of connectivity groups that this JunctionFeatureSource is assigned.

If features are assigned to connectivity group(s) based on their Subtype values, then the AddClassConnectivityGroup method is not used. See the AddSubtypeConnectivityGroup method.

Product Availability

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

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

removeAllClassConnectivityGroups

public void removeAllClassConnectivityGroups()
                                      throws IOException,
                                             AutomationException
Removes all connectivity groups in which this junction feature source participates.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then use the RemoveAllClassConnectivityGroups method to clear out the list of connectivity groups that this JunctionFeatureSource is assigned.

If features are assigned to connectivity group(s) based on their Subtype values, then the RemoveAllClassConnectivityGroups method is not used. See the RemoveAllSubtypeConnectivityGroups method.

Product Availability

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

Specified by:
removeAllClassConnectivityGroups in interface IJunctionFeatureSource
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubtypeConnectivityGroups

public ILongArray getSubtypeConnectivityGroups(int subtypeCode)
                                        throws IOException,
                                               AutomationException
Connectivity groups in which the specified subtype of this junction feature source participates.

Product Availability

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

Specified by:
getSubtypeConnectivityGroups in interface IJunctionFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
A reference to a com.esri.arcgis.system.ILongArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSubtypeConnectivityGroup

public void addSubtypeConnectivityGroup(int subtypeCode,
                                        int group)
                                 throws IOException,
                                        AutomationException
Adds a connectivity group in which the specified subtype of this junction feature source participates.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then the AddSubtypeConnectivityGroup method is not used. See the AddClassConnectivityGroup method.

If features are assigned to connectivity group(s) based on their Subtype values, then use the AddSubtypeConnectivityGroup method to add a new connectivity group to the list of connectivity groups that this JunctionFeatureSource is assigned for the given Subtype value.

Product Availability

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

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

removeAllSubtypeConnectivityGroups

public void removeAllSubtypeConnectivityGroups(int subtypeCode)
                                        throws IOException,
                                               AutomationException
Removes all connectivity groups in which the specified subtype of this junction feature source participates.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then the RemoveAllSubtypeConnectivityGroups method is not used. See the RemoveAllClassConnectivityGroups method.

If features are assigned to connectivity group(s) based on their Subtype values, then use the RemoveAllSubtypeConnectivityGroups method to clear out the list of connectivity groups that this JunctionFeatureSource is assigned for the given Subtype value.

Product Availability

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

Specified by:
removeAllSubtypeConnectivityGroups in interface IJunctionFeatureSource
Parameters:
subtypeCode - The subtypeCode (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 junction elements in this source connect to other edge elements.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then use the ClassConnectivityPolicy property to specify the appropriate junction connectivity policy for the features in this JunctionFeatureSource.

If features are assigned to a connectivity group(s) 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 IJunctionFeatureSource
Returns:
A com.esri.arcgis.geodatabase.esriNetworkJunctionConnectivityPolicy 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 junction elements in this source connect to other edge elements.

Product Availability

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

Specified by:
setClassConnectivityPolicy in interface IJunctionFeatureSource
Parameters:
policy - A com.esri.arcgis.geodatabase.esriNetworkJunctionConnectivityPolicy constant (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 junction elements in the specified subtype of this source connect to other edge elements.

Product Availability

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

Specified by:
getSubtypeConnectivityPolicy in interface IJunctionFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
A com.esri.arcgis.geodatabase.esriNetworkJunctionConnectivityPolicy 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 junction elements in the specified subtype of this source connect to other edge elements.

Product Availability

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

Specified by:
setSubtypeConnectivityPolicy in interface IJunctionFeatureSource
Parameters:
subtypeCode - The subtypeCode (in)
policy - A com.esri.arcgis.geodatabase.esriNetworkJunctionConnectivityPolicy constant (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 junction feature source determines connectivity groups and policies by subtypes.

Remarks

A JunctionFeatureSource can be assigned to connectivity group(s) in the network dataset in one of two ways:

If all features are assigned to the same connectivity group(s), then the UsesSubtypes property should be set to False. This means that the ClassConnectivityGroups and ClassConnectivityPolicy settings will apply to this JunctionFeatureSource.

If features are assigned to connectivity group(s) based on their Subtype values, then the UsesSubtypes property should be set to True. This means that the SubtypeConnectivityGroups and SubtypeConnectivityPolicy settings will apply to this JunctionFeatureSource.

Product Availability

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

Specified by:
isUsesSubtypes in interface IJunctionFeatureSource
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 junction 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 IJunctionFeatureSource
Parameters:
bySubtype - The bySubtype (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElevationFieldName

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

Product Availability

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

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

setElevationFieldName

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

Product Availability

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

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