com.esri.arcgis.geodatabase
Class NetworkGlobalTurnDelayEvaluator

java.lang.Object
  extended by com.esri.arcgis.geodatabase.NetworkGlobalTurnDelayEvaluator
All Implemented Interfaces:
IGPDescribe, INetworkEvaluator, INetworkEvaluator2, INetworkEvaluatorSetup, INetworkGlobalTurnDelayEvaluator, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class NetworkGlobalTurnDelayEvaluator
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INetworkEvaluator, INetworkEvaluator2, INetworkEvaluatorSetup, INetworkGlobalTurnDelayEvaluator, IGPDescribe

A container for describing a network attribute evaluator for global turn delay whose values are specified by global turn delay settings.

Description

This object is new at ArcGIS 9.3.

A NetworkGlobalTurnDelayEvaluator is an evaluator that assigns network attribute values to turn elements based on the Angle of the turn element and the values of the hierarchy attribute of its first and last edge elements. It is used to add penalties when making a turn at a street intersection. For example, it may take longer to make a left turn from a local road on to a secondary road than it does to go straight on a secondary road.

The NetworkGlobalTurnDelayEvaluator can only be set as the DefaultEvaluator for the esriNETTurn network element type.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
NetworkGlobalTurnDelayEvaluator()
          Constructs a NetworkGlobalTurnDelayEvaluator using ArcGIS Engine.
NetworkGlobalTurnDelayEvaluator(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NetworkGlobalTurnDelayEvaluator theNetworkGlobalTurnDelayEvaluator = (NetworkGlobalTurnDelayEvaluator) obj;
 
Method Summary
 Object describe(String name)
          The description of the named object.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 IUID getCLSID()
          Unique CLSID identifier for this network evaluator.
 int getCustomPrimaryRoadCategoryMaxValue()
          Custom Primary road category maximum value.
 int getCustomSecondaryRoadCategoryMaxValue()
          Custom Secondary road category maximum value.
 IPropertySet getData()
          The data used by this network evaluator for custom properties.
 double getDefaultSeconds()
          Default traversal time in seconds (for undefined turn delay categories).
 String getDisplayName()
          Name displayed in the user interface for this network evaluator.
 int getMaxReverseTurnDeflectionAngle()
          The maximum deviation from a pure reverse turn to be classified as a reverse turn.
 int getMaxStraightTurnDeflectionAngle()
          The maximum deviation from a pure straight turn to be classified as a straight turn.
 String getName()
          Unique name of this network evaluator.
 IStringArray getRequiredFieldNames()
          Required fields of this network evaluator.
 IArray getTurnDelayCategories()
          Array of global turn delay categories in this evaluator.
 int hashCode()
          the hashcode for this object
 void initialize(INetworkDataset networkDataset, IDENetworkDataset dataElement, INetworkSource source, IEvaluatedNetworkAttribute attribute)
          Initializes the network evaluator in preparation to evaluate the attribute value of a network element.
 boolean isCacheAttribute()
          Indicates if this evaluator's values should be computed and stored when the network is built or computed at run time and never stored.
 boolean isDataHasEdits()
          Indicates if the data for this evaluator has been edited.
 boolean isUseCustomRoadCategoryRanges()
          Indicates whether to use custom road category ranges.
 Object queryValue(INetworkElement element, IRow row)
          Evaluates the attribute value of a network element.
 void refresh()
          Refresh custom data for this network evaluator to synchronize with updated attribute parameter values or other external data.
 void setCustomRoadCategoryMaxValues(int maxPrimaryRoadValue, int maxSecondaryRoadValue)
          Set custom road category maximum values.
 void setData(IPropertySet data)
          The data used by this network evaluator for custom properties.
 void setDefaultSeconds(double seconds)
          Default traversal time in seconds (for undefined turn delay categories).
 void setMaxReverseTurnDeflectionAngle(int maxDeflectionAngle)
          The maximum deviation from a pure reverse turn to be classified as a reverse turn.
 void setMaxStraightTurnDeflectionAngle(int maxDeflectionAngle)
          The maximum deviation from a pure straight turn to be classified as a straight turn.
 void setTurnDelayCategoriesByRef(IArray categories)
          Array of global turn delay categories in this evaluator.
 void setUseCustomRoadCategoryRanges(boolean flag)
          Indicates whether to use custom road category ranges.
 boolean supportsDefault(int elementType, IEvaluatedNetworkAttribute attribute)
          Indicates if this network evaluator can be used as the default evaluator for the given network element type and network attribute.
 boolean supportsSource(INetworkSource source, IEvaluatedNetworkAttribute attribute)
          Indicates if this network evaluator can be used as the evaluator for the given network source and network attribute.
 boolean validateDefault(int elementType, IEvaluatedNetworkAttribute attribute, int[] errorCode, String[] errorDescription, String[] errorAppendInfo)
          Indicates if the network evaluator is in a valid state for use as the default evaluator for the given element type and network attribute.
 boolean validateSource(IDatasetContainer2 datasetContainer, INetworkSource networkSource, IEvaluatedNetworkAttribute attribute, int[] errorCode, String[] errorDescription, String[] errorAppendInfo)
          Indicates if the network evaluator is in a valid state for use as the evaluator for the given network source and network attribute.
 
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

NetworkGlobalTurnDelayEvaluator

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

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

NetworkGlobalTurnDelayEvaluator

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

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

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

getName

public String getName()
               throws IOException,
                      AutomationException
Unique name of this network evaluator.

Product Availability

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

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

getDisplayName

public String getDisplayName()
                      throws IOException,
                             AutomationException
Name displayed in the user interface for this network evaluator.

Remarks

The DisplayName is the name for the evaluator that will be displayed in the Type column of the Evaluators dialog in ArcCatalog.

Product Availability

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

Specified by:
getDisplayName in interface INetworkEvaluator
Returns:
The pDisplayName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCacheAttribute

public boolean isCacheAttribute()
                         throws IOException,
                                AutomationException
Indicates if this evaluator's values should be computed and stored when the network is built or computed at run time and never stored.

Remarks

The CacheAttribute property determines whether the values computed by this evaluator are stored in the logical network of the network dataset.

If the CacheAttribute property is set to True, then the attribute values are computed by the evaluator only when the network is built. The computed attribute values are then stored in the logical network. When a client queries for attribute values (such as during a network analysis), the attribute values are retrieved from the logical network.

If the CacheAttribute property is set to False, then the attribute values are computed by the evaluator whenever any client asks for an attribute value (such as during a network analysis). The computed attribute values are not stored in the logical network. Depending on the complexity of the evaluator, this operation can be much slower than looking up values stored in the logical network.

Product Availability

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

Specified by:
isCacheAttribute in interface INetworkEvaluator
Returns:
The cache
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRequiredFieldNames

public IStringArray getRequiredFieldNames()
                                   throws IOException,
                                          AutomationException
Required fields of this network evaluator.

Remarks

RequiredFieldNames returns the field names that the evaluator requires in order to correctly evaluate the row. This property is used to minimize the data that is returned by the query to the database by only returning the required fields. Return a NULL pointer if you want it to include all the field names in the query.

Product Availability

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

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

refresh

public void refresh()
             throws IOException,
                    AutomationException
Refresh custom data for this network evaluator to synchronize with updated attribute parameter values or other external data.

Remarks

The Refresh method is an opportunity to update any internal state within the evaluator based on changes to parameters, dynamic data feeds, etc. The Refresh method is called on every evaluator assigned to a network attribute when INetworkAttribute2::Refresh() is called. For example, this is called internally during a solve operation after setting the network attribute parameters and prior to performing the actual solve.

Product Availability

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

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

initialize

public void initialize(INetworkDataset networkDataset,
                       IDENetworkDataset dataElement,
                       INetworkSource source,
                       IEvaluatedNetworkAttribute attribute)
                throws IOException,
                       AutomationException
Initializes the network evaluator in preparation to evaluate the attribute value of a network element.

Remarks

The Initialize method does all the "heavy lifting" needed to prepare the evaluator for a call to QueryValue, a lightweight method for querying the attribute value for a network element. Once the evaluator is initialized, the client can make multiple calls to this lightweight QueryValue for calculating the attribute values of multiple network elements.

When querying for attribute values in the network dataset ArcGIS calls the Initialize method immediately after it instantiates the evaluator. For evaluators with CacheAttribute = True, this occurs when building the network dataset. For evaluators with CacheAttribute = False, this occurs on the first call in the session to INetworkElement::AttributeValue or ::AttributeValueByName that requires this evaluator to determine the attribute value.

Product Availability

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

Specified by:
initialize in interface INetworkEvaluatorSetup
Parameters:
networkDataset - A reference to a com.esri.arcgis.geodatabase.INetworkDataset (in)
dataElement - A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)
source - A reference to a com.esri.arcgis.geodatabase.INetworkSource (in)
attribute - A reference to a com.esri.arcgis.geodatabase.IEvaluatedNetworkAttribute (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setData

public void setData(IPropertySet data)
             throws IOException,
                    AutomationException
The data used by this network evaluator for custom properties.

Product Availability

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

Specified by:
setData in interface INetworkEvaluatorSetup
Parameters:
data - 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.

getData

public IPropertySet getData()
                     throws IOException,
                            AutomationException
The data used by this network evaluator for custom properties.

Remarks

The Data property stores data that is needed by the evaluator. It is stored in a PropertySet object using key-value pairs.

Product Availability

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

Specified by:
getData in interface INetworkEvaluatorSetup
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.

isDataHasEdits

public boolean isDataHasEdits()
                       throws IOException,
                              AutomationException
Indicates if the data for this evaluator has been edited.

Remarks

The DataHasEdits property indicates whether changes have been made to the Data PropertySet that have not yet been handled by the evaluator's internal logic. This is useful in determining whether the evaluator needs to be re-Initialized before making additional calls to QueryValue.

This property is only used when modifying the network dataset's evaluators via objects like the EvaluatorEditor to signify the network dataset may need to be rebuilt/reinitialized. This property is not queried prior to network analysis to determine if the evaluator needs to be re-initialized. Thus, it is not a mechanism to trigger that the evaluators need to be re-initialized based on new data between solves.

Product Availability

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

Specified by:
isDataHasEdits in interface INetworkEvaluatorSetup
Returns:
The hasEdits
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCLSID

public IUID getCLSID()
              throws IOException,
                     AutomationException
Unique CLSID identifier for this network evaluator.

Product Availability

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

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

supportsSource

public boolean supportsSource(INetworkSource source,
                              IEvaluatedNetworkAttribute attribute)
                       throws IOException,
                              AutomationException
Indicates if this network evaluator can be used as the evaluator for the given network source and network attribute.

Remarks

TheSupportsSource method is used to determine if the evaluator can be used to assign attribute values for elements generated by the given source. If SupportsSource is False, then the evaluator does not show up as a choice for the user in the Evaluators dialog in ArcCatalog.

Product Availability

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

Specified by:
supportsSource in interface INetworkEvaluatorSetup
Parameters:
source - A reference to a com.esri.arcgis.geodatabase.INetworkSource (in)
attribute - A reference to a com.esri.arcgis.geodatabase.IEvaluatedNetworkAttribute (in)
Returns:
The isSupported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

supportsDefault

public boolean supportsDefault(int elementType,
                               IEvaluatedNetworkAttribute attribute)
                        throws IOException,
                               AutomationException
Indicates if this network evaluator can be used as the default evaluator for the given network element type and network attribute.

Remarks

The SupportsDefault method is used to determine if the evaluator can be used to assign default attribute values for elements of the given type. If SupportsDefault is False, then the evaluator does not show up as a default evaluator choice for the user in the Evaluators dialog in ArcCatalog.

Product Availability

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

Specified by:
supportsDefault in interface INetworkEvaluatorSetup
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriNetworkElementType constant (in)
attribute - A reference to a com.esri.arcgis.geodatabase.IEvaluatedNetworkAttribute (in)
Returns:
The isSupported
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSource

public boolean validateSource(IDatasetContainer2 datasetContainer,
                              INetworkSource networkSource,
                              IEvaluatedNetworkAttribute attribute,
                              int[] errorCode,
                              String[] errorDescription,
                              String[] errorAppendInfo)
                       throws IOException,
                              AutomationException
Indicates if the network evaluator is in a valid state for use as the evaluator for the given network source and network attribute.

Product Availability

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

Specified by:
validateSource in interface INetworkEvaluatorSetup
Parameters:
datasetContainer - A reference to a com.esri.arcgis.geodatabase.IDatasetContainer2 (in)
networkSource - A reference to a com.esri.arcgis.geodatabase.INetworkSource (in)
attribute - A reference to a com.esri.arcgis.geodatabase.IEvaluatedNetworkAttribute (in)
errorCode - The errorCode (in/out: use single element array)
errorDescription - The errorDescription (in/out: use single element array)
errorAppendInfo - The errorAppendInfo (in/out: use single element array)
Returns:
The isValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateDefault

public boolean validateDefault(int elementType,
                               IEvaluatedNetworkAttribute attribute,
                               int[] errorCode,
                               String[] errorDescription,
                               String[] errorAppendInfo)
                        throws IOException,
                               AutomationException
Indicates if the network evaluator is in a valid state for use as the default evaluator for the given element type and network attribute.

Product Availability

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

Specified by:
validateDefault in interface INetworkEvaluatorSetup
Parameters:
elementType - A com.esri.arcgis.geodatabase.esriNetworkElementType constant (in)
attribute - A reference to a com.esri.arcgis.geodatabase.IEvaluatedNetworkAttribute (in)
errorCode - The errorCode (in/out: use single element array)
errorDescription - The errorDescription (in/out: use single element array)
errorAppendInfo - The errorAppendInfo (in/out: use single element array)
Returns:
The isValid
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryValue

public Object queryValue(INetworkElement element,
                         IRow row)
                  throws IOException,
                         AutomationException
Evaluates the attribute value of a network element.

Remarks

QueryValue uses this evaluator to compute the attribute value for the given network element.

The Row parameter is provided in order to query any information from the Row (such as field values) corresponding to the given network element when building the network dataset. When computing attribute values that will be cached within the network, QueryValue is automatically called by the system, and the Row from the corresponding source feature will be passed into QueryValue.

Note that QueryValue is also automatically called by the system when querying non-cached attribute values by using the INetworkElement interface. In this situation, the Row parameter will always be null; that is, the Row from the corresponding source feature will not be passed into QueryValue.

Before calling QueryValue, the evaluator must first be initialized by calling the Initialize method. After calling Initialize, QueryValue can be called multiple times to calculate attribute values for multiple network elements.

Product Availability

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

Specified by:
queryValue in interface INetworkEvaluatorSetup
Parameters:
element - A reference to a com.esri.arcgis.geodatabase.INetworkElement (in)
row - A reference to a com.esri.arcgis.geodatabase.IRow (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isUseCustomRoadCategoryRanges

public boolean isUseCustomRoadCategoryRanges()
                                      throws IOException,
                                             AutomationException
Indicates whether to use custom road category ranges.

Remarks

The UseCustomRoadCategoryRanges property specifies whether to use the custom road category maximum values specified on this evaluator. If set to True, then the CustomPrimaryRoadCategoryMaxValue and CustomSecondaryRoadCategoryMaxValue properties will be used to determine whether a given road is a primary, secondary, or local road. If set to False, then the MaxValueForHierarchy values on the DENetworkDataset will be used to determine the road classification.

Product Availability

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

Specified by:
isUseCustomRoadCategoryRanges in interface INetworkGlobalTurnDelayEvaluator
Returns:
The flag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseCustomRoadCategoryRanges

public void setUseCustomRoadCategoryRanges(boolean flag)
                                    throws IOException,
                                           AutomationException
Indicates whether to use custom road category ranges.

Product Availability

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

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

setCustomRoadCategoryMaxValues

public void setCustomRoadCategoryMaxValues(int maxPrimaryRoadValue,
                                           int maxSecondaryRoadValue)
                                    throws IOException,
                                           AutomationException
Set custom road category maximum values.

Remarks

Use the SetCustomRoadCategoryMaxValues method to simultaneously set both the the CustomPrimaryRoadCategoryMaxValue and CustomSecondaryRoadCategoryMaxValue property values.

Product Availability

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

Specified by:
setCustomRoadCategoryMaxValues in interface INetworkGlobalTurnDelayEvaluator
Parameters:
maxPrimaryRoadValue - The maxPrimaryRoadValue (in)
maxSecondaryRoadValue - The maxSecondaryRoadValue (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomPrimaryRoadCategoryMaxValue

public int getCustomPrimaryRoadCategoryMaxValue()
                                         throws IOException,
                                                AutomationException
Custom Primary road category maximum value.

Remarks

The CustomPrimaryRoadCategoryMaxValue determines whether a road is classified as a primary road. If the AttributeValue of the HierarchyClusterAttribute is less than or equal to the CustomPrimaryRoadCategoryMaxValue, then it is a primary road.

Note that this property only takes effect if the UseCustomRoadCategoryRanges property is set to True. Otherwise, the level 1 value of MaxValueForHierarchy will be used instead.

The CustomPrimaryRoadCategoryMaxValue and CustomSecondaryRoadCategoryMaxValue are set by calling SetCustomRoadCategoryMaxValues.

Product Availability

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

Specified by:
getCustomPrimaryRoadCategoryMaxValue in interface INetworkGlobalTurnDelayEvaluator
Returns:
The maxValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCustomSecondaryRoadCategoryMaxValue

public int getCustomSecondaryRoadCategoryMaxValue()
                                           throws IOException,
                                                  AutomationException
Custom Secondary road category maximum value.

Remarks

The CustomSecondaryRoadCategoryMaxValue determines whether a road is classified as a local road. If the AttributeValue of the HierarchyClusterAttribute is greater than the CustomSecondaryRoadCategoryMaxValue, then it is a local road.

Note that this property only takes effect if the UseCustomRoadCategoryRanges property is set to True. Otherwise, the level 2 value of MaxValueForHierarchy will be used instead.

The CustomPrimaryRoadCategoryMaxValue and CustomSecondaryRoadCategoryMaxValue are set by calling SetCustomRoadCategoryMaxValues.

Product Availability

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

Specified by:
getCustomSecondaryRoadCategoryMaxValue in interface INetworkGlobalTurnDelayEvaluator
Returns:
The maxValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultSeconds

public double getDefaultSeconds()
                         throws IOException,
                                AutomationException
Default traversal time in seconds (for undefined turn delay categories).

Remarks

DefaultSeconds is the travel time, in seconds, assigned to a turn that does not fall into any of the classifications defined in the TurnDelayCategories.

Product Availability

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

Specified by:
getDefaultSeconds in interface INetworkGlobalTurnDelayEvaluator
Returns:
The seconds
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDefaultSeconds

public void setDefaultSeconds(double seconds)
                       throws IOException,
                              AutomationException
Default traversal time in seconds (for undefined turn delay categories).

Product Availability

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

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

getTurnDelayCategories

public IArray getTurnDelayCategories()
                              throws IOException,
                                     AutomationException
Array of global turn delay categories in this evaluator.

Remarks

The TurnDelayCategories is an array of NetworkGlobalTurnDelayCategory objects that define the classification of turn types for this evaluator. Each category is defined by the turning angle, the road category for the starting and finishing road of the turn, and the road category for any other crossroads at that intersection. For each category, a travel time, measured in seconds, is specified.

Product Availability

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

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

setTurnDelayCategoriesByRef

public void setTurnDelayCategoriesByRef(IArray categories)
                                 throws IOException,
                                        AutomationException
Array of global turn delay categories in this evaluator.

Product Availability

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

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

getMaxStraightTurnDeflectionAngle

public int getMaxStraightTurnDeflectionAngle()
                                      throws IOException,
                                             AutomationException
The maximum deviation from a pure straight turn to be classified as a straight turn.

Remarks

The MaxStraightTurnDeflectionAngle determines whether a NetworkTurnElement's is considered going straight, based on its Angle.

For example, if the MaxStraightTurnDeflectionAngle is set to 45, then a turn is considered going straight if its Angle is within 45 degrees of either 0 or 360 degrees (going perfectly straight) -- that is, if the angle is between 0 and 45 degrees or between 315 and 360 degrees, inclusive.

Product Availability

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

Specified by:
getMaxStraightTurnDeflectionAngle in interface INetworkGlobalTurnDelayEvaluator
Returns:
The maxDeflectionAngle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxStraightTurnDeflectionAngle

public void setMaxStraightTurnDeflectionAngle(int maxDeflectionAngle)
                                       throws IOException,
                                              AutomationException
The maximum deviation from a pure straight turn to be classified as a straight turn.

Product Availability

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

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

getMaxReverseTurnDeflectionAngle

public int getMaxReverseTurnDeflectionAngle()
                                     throws IOException,
                                            AutomationException
The maximum deviation from a pure reverse turn to be classified as a reverse turn.

Remarks

The MaxReverseTurnDeflectionAngle determines whether a NetworkTurnElement's is considered going in reverse, based on its Angle.

For example, if the MaxReverseTurnDeflectionAngle is set to 30, then a turn is considered going in reverse if its Angle is within 30 degrees of 180 degrees (going exactly in reverse) -- that is, if the angle is between 150 and 210 degrees, inclusive.

Product Availability

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

Specified by:
getMaxReverseTurnDeflectionAngle in interface INetworkGlobalTurnDelayEvaluator
Returns:
The maxDeflectionAngle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxReverseTurnDeflectionAngle

public void setMaxReverseTurnDeflectionAngle(int maxDeflectionAngle)
                                      throws IOException,
                                             AutomationException
The maximum deviation from a pure reverse turn to be classified as a reverse turn.

Product Availability

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

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

describe

public Object describe(String name)
                throws IOException,
                       AutomationException
The description of the named object.

Product Availability

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

Specified by:
describe in interface IGPDescribe
Parameters:
name - The name (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.