com.esri.arcgis.geodatabase
Class INetworkForwardStarExProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.INetworkForwardStarExProxy
All Implemented Interfaces:
INetworkForwardStarEx, Externalizable, Serializable

public class INetworkForwardStarExProxy
extends com.esri.arcgis.interop.Dispatch
implements INetworkForwardStarEx, Serializable

Provides access to members that specify the configuration for this NetworkForwardStar object and query information about adjacent elements in the network dataset.

Remarks

Please refer to NetworkForwardStar coclass for conceptual information about the object underlying the INetworkForwardStarEx interface.

Product Availability

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

See Also:
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
  INetworkForwardStarExProxy()
           
  INetworkForwardStarExProxy(Object obj)
           
protected INetworkForwardStarExProxy(Object obj, String iid)
           
 
Method Summary
 void addEdgeRestriction(INetworkEdge edge, double fromPosition, double toPosition)
          Restricts the traversability of a range on an edge element in the adjacency queries.
 void addJunctionRestriction(INetworkJunction junction)
          Restricts a junction element from being returned in the adjacency queries.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void addRestrictionAttribute(INetworkAttribute attribute)
          Adds a restriction network attribute to the NetworkForwardStar object to filter elements from adjacency queries.
 void addTurnRestriction(INetworkTurn turn)
          Restricts a turn in the adjacency queries.
 void adjustEdgeAttributeValue(INetworkEdge edge, double fromPosition, double toPosition, INetworkAttribute attribute, int adjustmentType, Object value)
          Adjusts the value of a network attribute for a range on an edge element.
 void adjustJunctionAttributeValue(INetworkJunction junction, INetworkAttribute attribute, int adjustmentType, Object value)
          Adjusts the value of a network attribute for a junction element.
 void adjustTurnAttributeValue(INetworkTurn turn, INetworkAttribute attribute, int adjustmentType, Object value)
          Adjusts the value of a network attribute for a turn element.
 int getBacktrackPolicy()
          Policy on when to return the from-edge in the NetworkForwardStarAdjacencies object.
 INetworkAttribute getHierarchyAttribute()
          Network attribute containing the hierarchy values for each network element.
 int getMaxTraversableHierarchyValue()
          Maximum hierarchy attribute value for elements permitted to be returned in the adjacency queries.
 INetworkDataset getNetworkDataset()
          Network dataset on which the NetworkForwardStar object is querying.
 INetworkAttribute getRestrictionAttribute(int index)
          Restriction network attribute by index in the NetworkForwardStar object.
 int getRestrictionAttributeCount()
          Number of restriction network attributes currently applied to the NetworkForwardStar object.
 boolean isForwardTraversal()
          Indicates if the NetworkForwardStar object is used to model forward traversal through the network dataset.
 boolean isRestricted(INetworkElement element)
          Indicates if the given network element is restricted from traversal in the NetworkForwardStar object.
 void queryAdjacencies(INetworkJunction atJunction, INetworkEdge fromEdge, INetworkEdge lastExteriorEdge, INetworkForwardStarAdjacencies adjacencies)
          Finds all network elements that are adjacent to the given sequence of network elements.
 void queryAttributeCutoffRange(INetworkEdge edge, INetworkAttribute attribute, double queryPosition, Object cutoffValue, double[] fromPosition, double[] toPosition)
          Returns the range of accessible positions within a specified attribute cutoff from a query position along an edge element, respective to any existing attribute adjustments along the edge.
 void queryEdge(int eID, int direction, INetworkEdge edge)
          Performs a network edge element query by element ID and edge direction and populates the given edge element object.
 void queryJunction(int eID, INetworkJunction junction)
          Performs a network junction element query by element ID and populates the given junction element object.
 void queryTraversableRange(INetworkEdge edge, double queryPosition, double[] fromPosition, double[] toPosition, boolean[] isFromPositionAccessible, boolean[] isToPositionAccessible)
          Returns the range of accessible positions from a query position along an edge element, respective to any existing restrictions along the edge.
 void queryTurn(int eID, INetworkTurn turn)
          Performs a network turn element query by element ID and populates the given turn element object.
 void removeAttributeValueAdjustments()
          Removes all element-specific attribute value adjustments currently applied to the NetworkForwardStar object.
 void removeElementRestrictions()
          Removes all element-specific restrictions currently applied to the NetworkForwardStar object.
 void removeListener(String iidStr, Object theListener)
           
 void removeRestrictionAttributes()
          Removes all restriction network attributes currently applied to the NetworkForwardStar object.
 void setBacktrackPolicy(int backtrack)
          Policy on when to return the from-edge in the NetworkForwardStarAdjacencies object.
 void setHierarchyAttributeByRef(INetworkAttribute attribute)
          Network attribute containing the hierarchy values for each network element.
 void setIsForwardTraversal(boolean isForwardTraversal)
          Indicates if the NetworkForwardStar object is used to model forward traversal through the network dataset.
 void setMaxTraversableHierarchyValue(int maxValue)
          Maximum hierarchy attribute value for elements permitted to be returned in the adjacency queries.
 
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
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

INetworkForwardStarExProxy

public INetworkForwardStarExProxy()

INetworkForwardStarExProxy

public INetworkForwardStarExProxy(Object obj)
                           throws IOException
Throws:
IOException

INetworkForwardStarExProxy

protected INetworkForwardStarExProxy(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 com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

queryAdjacencies

public void queryAdjacencies(INetworkJunction atJunction,
                             INetworkEdge fromEdge,
                             INetworkEdge lastExteriorEdge,
                             INetworkForwardStarAdjacencies adjacencies)
                      throws IOException,
                             AutomationException
Finds all network elements that are adjacent to the given sequence of network elements.

Remarks

QueryAdjacencies is the primary method for use in network dataset traversal. Using this method, the elements adjacent to the provided atJunction may be filtered based on hierarchy attributes, restriction attributes, BacktrackPolicy and other NetworkForwardStar settings. Any unfiltered elements will be returned in the NetworkForwardStarAdjacencies object. The NetworkForwardStarAdjacencies component is essentially a cursor object used to retrieve the element information relevant to a particular query for adjacency information from the NetworkForwardStar .

QueryAdjacencies requires an instantiated NetworkForwardStarAdjacencies object to return the adjacent elements found when calling QueryAdjacencies. The NetworkForwardStarAdjacencies object is created using the INetworkQuery::CreateForwardStarAdjacencies method. The NetworkForwardStarAdjacencies object should be reused in subsequent calls to QueryAdjacencies .

For standard patterns of queries to the NetworkForwardStar object, the QueryAdjacencies method will inform the related input NetworkForwardStarAdjacencies object of any additional element-specific dynamic restrictions and/or element-specific dynamic attribute adjustments to associate with the adjacent elements.

The fromEdge in an optional parameter that specifies the edge from which the atJunction was approached. This is useful in filtering results based on BacktrackPolicy and network turns.

The lastExteriorEdge is an optional parameter used to determine from where this particular network traversal maneuver began. This is useful in filtering for multi-part turns.

Product Availability

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

Specified by:
queryAdjacencies in interface INetworkForwardStarEx
Parameters:
atJunction - A reference to a com.esri.arcgis.geodatabase.INetworkJunction (in)
fromEdge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
lastExteriorEdge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
adjacencies - A reference to a com.esri.arcgis.geodatabase.INetworkForwardStarAdjacencies (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryJunction

public void queryJunction(int eID,
                          INetworkJunction junction)
                   throws IOException,
                          AutomationException
Performs a network junction element query by element ID and populates the given junction element object.

Remarks

QueryJunction takes an element ID for a junction and populates the passed-in NetworkJunction object.

This method is analogous to the existing INetworkQuery::QueryJunction method, except that the NetworkForwardStar will initialize the queried element with any potential attribute adjustment information.

Any queried junction should be either initialized directly from the QueryJunction method, the INetworkForwardStarAdjacencies::QueryAtJunction, or the INetworkForwardStarAdjacencies::QueryToJunction method in order to ensure proper element awareness of attribute adjustments.

Product Availability

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

Specified by:
queryJunction in interface INetworkForwardStarEx
Parameters:
eID - The eID (in)
junction - A reference to a com.esri.arcgis.geodatabase.INetworkJunction (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryEdge

public void queryEdge(int eID,
                      int direction,
                      INetworkEdge edge)
               throws IOException,
                      AutomationException
Performs a network edge element query by element ID and edge direction and populates the given edge element object.

Remarks

QueryEdge takes an element ID for an edge, as well as the direction being traveled along that edge, and populates the passed-in NetworkEdge object.

This method is analogous to the existing INetworkQuery::QueryEdge method, except that the NetworkForwardStar will initialize the queried element with any potential attribute adjustment information.

Any queried edge should be either initialized directly from the QueryEdge method or the INetworkForwardStarAdjacencies::QueryEdge method in order to ensure proper element awareness of attribute adjustments.

Product Availability

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

Specified by:
queryEdge in interface INetworkForwardStarEx
Parameters:
eID - The eID (in)
direction - A com.esri.arcgis.geodatabase.esriNetworkEdgeDirection constant (in)
edge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTurn

public void queryTurn(int eID,
                      INetworkTurn turn)
               throws IOException,
                      AutomationException
Performs a network turn element query by element ID and populates the given turn element object.

Remarks

QueryTurn takes an element ID for a turn and populates the passed-in NetworkTurn object.

This method is analogous to the existing INetworkQuery::QueryTurn method, except that the NetworkForwardStar will initialize the queried element with any potential attribute adjustment information.

Any queried edge should be either initialized directly from the QueryTurn method or the INetworkForwardStarAdjacencies::QueryTurn method in order to ensure proper element awareness of attribute adjustments.

Product Availability

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

Specified by:
queryTurn in interface INetworkForwardStarEx
Parameters:
eID - The eID (in)
turn - A reference to a com.esri.arcgis.geodatabase.INetworkTurn (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTraversableRange

public void queryTraversableRange(INetworkEdge edge,
                                  double queryPosition,
                                  double[] fromPosition,
                                  double[] toPosition,
                                  boolean[] isFromPositionAccessible,
                                  boolean[] isToPositionAccessible)
                           throws IOException,
                                  AutomationException
Returns the range of accessible positions from a query position along an edge element, respective to any existing restrictions along the edge.

Remarks

If a queried edge element is not completely restricted (as indicated by the INetworkForwardStarEx::get_IsRestricted method), then it may still have partial edge restrictions associated with it. The QueryTraversableRange method may be used to determine the appropriate range of accessibility along that edge from a given query position.

The isFromJunctionAccessible and isToJunctionAccessible return values indicate whether or not the fromPosition and toPosition of the traversable range are also accessible from the current position, respectively. For example, in the graphic above, the isFromPositionAccessible return value will be True and the isToPositionAccessible return value will be False.

Product Availability

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

Specified by:
queryTraversableRange in interface INetworkForwardStarEx
Parameters:
edge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
queryPosition - The queryPosition (in)
fromPosition - The fromPosition (out: use single element array)
toPosition - The toPosition (out: use single element array)
isFromPositionAccessible - The isFromPositionAccessible (out: use single element array)
isToPositionAccessible - The isToPositionAccessible (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryAttributeCutoffRange

public void queryAttributeCutoffRange(INetworkEdge edge,
                                      INetworkAttribute attribute,
                                      double queryPosition,
                                      Object cutoffValue,
                                      double[] fromPosition,
                                      double[] toPosition)
                               throws IOException,
                                      AutomationException
Returns the range of accessible positions within a specified attribute cutoff from a query position along an edge element, respective to any existing attribute adjustments along the edge.

Product Availability

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

Specified by:
queryAttributeCutoffRange in interface INetworkForwardStarEx
Parameters:
edge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
attribute - A reference to a com.esri.arcgis.geodatabase.INetworkAttribute (in)
queryPosition - The queryPosition (in)
cutoffValue - A Variant (in)
fromPosition - The fromPosition (out: use single element array)
toPosition - The toPosition (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNetworkDataset

public INetworkDataset getNetworkDataset()
                                  throws IOException,
                                         AutomationException
Network dataset on which the NetworkForwardStar object is querying.

Remarks

NetworkDataset returns the network dataset on which the NetworkForwardStar object is querying.

Product Availability

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

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

getBacktrackPolicy

public int getBacktrackPolicy()
                       throws IOException,
                              AutomationException
Policy on when to return the from-edge in the NetworkForwardStarAdjacencies object.

Remarks

BacktrackPolicy is also known as the U-Turn Policy. The NetworkForwardStar filters/excludes an element from being returned by QueryAdjacencies if that element violates the current u-turn/backtrack policy. For example, if the incoming edge is provided in the call to query adjacency information from the NetworkForwardStar and the current backtrack policy is "no backtrack allowed", then the NetworkForwardStar will exclude this incoming edge from being returned in the adjacency query.

Please see esriNetworkForwardStarBacktrack for information about specific enumerations.

Product Availability

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

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

setBacktrackPolicy

public void setBacktrackPolicy(int backtrack)
                        throws IOException,
                               AutomationException
Policy on when to return the from-edge in the NetworkForwardStarAdjacencies object.

Product Availability

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

Specified by:
setBacktrackPolicy in interface INetworkForwardStarEx
Parameters:
backtrack - A com.esri.arcgis.geodatabase.esriNetworkForwardStarBacktrack constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isForwardTraversal

public boolean isForwardTraversal()
                           throws IOException,
                                  AutomationException
Indicates if the NetworkForwardStar object is used to model forward traversal through the network dataset.

Remarks

IsForwardTraversal determines the direction of travel in QueryAdjacencies calls. Setting IsForwardTraversal to true is called “Forward Traversal”, while setting IsForwardTraversal to false is called “Backward Traversal”.

Example edges and junctions

In forward traversal, when including a fromEdge in the call to Query Adjacencies, you should use an edge direction that corresponds to travel from that edge into the specified atJunction. The adjacent edges returned in the NetworkForwardStarAdjacencies object will correspond to valid traversal edges in the forward direction of travel. This can be seen in the graphic below. Forward traversal entails making a QueryAdjacencies call with fromEdge “A” in the along direction and atJunction “y”. With a BacktrackPolicy of Allow, the returned edges would include edge “A” in the against direction (this could be considered a U-Turn), and edge “B” in the along direction. In layman’s terms, traveling through junction “y” from edge “A” has two possible paths, turning around and returning along edge “A” in the opposite direction, or traveling along edge “B”.

Traversing in a forward direction

In backward traversal, if you imagine network traversal as walking a path, then you would be walking backward. Your call to QueryAdjacencies for the atJunction “y” should use a fromEdge of B in the along direction. This is like walking backward into junction “y” from edge “B”. With that call, the returned adjacent edges will be “A” in the along direction and “B” in the against direction. In layman’s terms, if you had traveled onto edge “B” from junction “y”, you could only have done so coming from edge “A” in the along direction, or edge “B” in the against direction.

Traversing in a backward direction

Generally, IsForwardTraversal should be set to true. This makes QueryAdjacency calls and results easier to understand. In some network analysis cases, however, using a forward traversal search out from an origin, while, at the same time, using a backward traversal search out from a destination can aid in reducing search time.

Product Availability

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

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

setIsForwardTraversal

public void setIsForwardTraversal(boolean isForwardTraversal)
                           throws IOException,
                                  AutomationException
Indicates if the NetworkForwardStar object is used to model forward traversal through the network dataset.

Product Availability

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

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

addRestrictionAttribute

public void addRestrictionAttribute(INetworkAttribute attribute)
                             throws IOException,
                                    AutomationException
Adds a restriction network attribute to the NetworkForwardStar object to filter elements from adjacency queries.

Remarks

The AddRestrictionAttribute method adds a NetworkAttribute to the NetworkForwardStar object. This prevents network elements that have a value of True for this attribute from being returned by the forward star in QueryAdjacencies. This is useful when performing a network analysis only on those network elements that permit travel.

Only a NetworkAttribute with a UsageType of esriNAUTRestriction can be added to the NetworkForwardStar as a restriction.

Product Availability

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

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

getRestrictionAttribute

public INetworkAttribute getRestrictionAttribute(int index)
                                          throws IOException,
                                                 AutomationException
Restriction network attribute by index in the NetworkForwardStar object.

Product Availability

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

Specified by:
getRestrictionAttribute in interface INetworkForwardStarEx
Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetworkAttribute
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRestrictionAttributeCount

public int getRestrictionAttributeCount()
                                 throws IOException,
                                        AutomationException
Number of restriction network attributes currently applied to the NetworkForwardStar object.

Remarks

RestrictionAttributeCount retrieves the number of restriction attributes that have been applied to the NetworkForwardStar object. This count can be used to set up an iteration of the applied restriction attributes.

Product Availability

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

Specified by:
getRestrictionAttributeCount in interface INetworkForwardStarEx
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeRestrictionAttributes

public void removeRestrictionAttributes()
                                 throws IOException,
                                        AutomationException
Removes all restriction network attributes currently applied to the NetworkForwardStar object.

Remarks

The RemoveRestrictionAttributes method removes the NetworkAttributes of usage type restriction from being applied as a restriction in the NetworkForwardStar object. The network attributes were added to the NetworkForwardStar using the AddRestrictionAttribute method.

RemoveRestrictionAttributes is analogous to INetworkForwardStarSetup::RemoveRestriction method. However, RemoveRestriction could be used to remove an individual attribute.

Product Availability

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

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

getHierarchyAttribute

public INetworkAttribute getHierarchyAttribute()
                                        throws IOException,
                                               AutomationException
Network attribute containing the hierarchy values for each network element.

Remarks

The HierarchyAttribute is the NetworkAttribute used in determining the hierarchy level of a given network element. In calls to QueryAdjacencies, the NetworkForwardStar object will only return network elements whose hierarchy level is less than or equal to the MaxTraversableHierarchyValue value.

The HierarchyAttribute must be a NetworkAttribute with a UsageType of esriNAUTHierarchy.

Product Availability

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

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

setHierarchyAttributeByRef

public void setHierarchyAttributeByRef(INetworkAttribute attribute)
                                throws IOException,
                                       AutomationException
Network attribute containing the hierarchy values for each network element.

Product Availability

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

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

getMaxTraversableHierarchyValue

public int getMaxTraversableHierarchyValue()
                                    throws IOException,
                                           AutomationException
Maximum hierarchy attribute value for elements permitted to be returned in the adjacency queries.

Remarks

If a HierarchyAttribute is specified, then, in calls to QueryAdjacencies, the NetworkForwardStar object will only return network edge elements whose HierarchyAttribute value is less than or equal to the MaxTraversableHierarchyValue value.

Product Availability

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

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

setMaxTraversableHierarchyValue

public void setMaxTraversableHierarchyValue(int maxValue)
                                     throws IOException,
                                            AutomationException
Maximum hierarchy attribute value for elements permitted to be returned in the adjacency queries.

Product Availability

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

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

addJunctionRestriction

public void addJunctionRestriction(INetworkJunction junction)
                            throws IOException,
                                   AutomationException
Restricts a junction element from being returned in the adjacency queries.

Remarks

AddJunctionRestriction restricts the input junction from being used in calls to QueryAdjacencies. The RemoveElementRestrictions method can be used for removing all element-specific restrictions.

AddJunctionRestriction, AddEdgeRestriction, and AddTurnRestriction are intended as a replacement to INetworkForwardStarSetup::Traversable, as well as the related INetworkForwardStar::SetAllTraversable, INetworkForwardStarSetup::SetTraversable, and INetworkForwardStarSetup::NonTraversableElements.

Product Availability

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

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

addEdgeRestriction

public void addEdgeRestriction(INetworkEdge edge,
                               double fromPosition,
                               double toPosition)
                        throws IOException,
                               AutomationException
Restricts the traversability of a range on an edge element in the adjacency queries.

Remarks

AddEdgeRestriction restricts a given range for the input edge. Multiple, disjoint partial-edge restrictions may be applied to the same edge. The RemoveElementRestrictions method can be used for removing all element-specific restrictions.

If the traversal cannot enter the edge from the atJunction of a QueryAdjacencies call due to partial (or whole) edge restrictions, then the edge will not be included in the NetworkForwardStarAdjacencies object.

AddJunctionRestriction, AddEdgeRestriction, and AddTurnRestriction are intended as a replacement to INetworkForwardStarSetup::Traversable, as well as the related INetworkForwardStar::SetAllTraversable, INetworkForwardStarSetup::SetTraversable, and INetworkForwardStarSetup::NonTraversableElements.

Product Availability

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

Specified by:
addEdgeRestriction in interface INetworkForwardStarEx
Parameters:
edge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
fromPosition - The fromPosition (in)
toPosition - The toPosition (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addTurnRestriction

public void addTurnRestriction(INetworkTurn turn)
                        throws IOException,
                               AutomationException
Restricts a turn in the adjacency queries.

Remarks

AddTurnRestriction restricts the input turn's associated traversal maneuver in the NetworkForwardStar. The RemoveElementRestrictions method can be used for removing all element-specific restrictions.

AddJunctionRestriction, AddEdgeRestriction, and AddTurnRestriction are intended as a replacement to INetworkForwardStarSetup::Traversable, as well as the related INetworkForwardStar::SetAllTraversable, INetworkForwardStarSetup::SetTraversable, and INetworkForwardStarSetup::NonTraversableElements.

Product Availability

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

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

removeElementRestrictions

public void removeElementRestrictions()
                               throws IOException,
                                      AutomationException
Removes all element-specific restrictions currently applied to the NetworkForwardStar object.

Remarks

RemoveElementRestrictions removes all element-specific restrictions that have been added to the NetworkForwardStar via the AddEdgeRestriction, AddJunctionRestriction, or AddTurnRestriction methods.

Removing element-specific restrictions with this method does not affect filtering of elements in the NetworkForwardStar based on restriction attributes (i.e., elements may still be restricted by their restriction attribute values).

Product Availability

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

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

adjustJunctionAttributeValue

public void adjustJunctionAttributeValue(INetworkJunction junction,
                                         INetworkAttribute attribute,
                                         int adjustmentType,
                                         Object value)
                                  throws IOException,
                                         AutomationException
Adjusts the value of a network attribute for a junction element.

Remarks

AdjustJunctionAttributeValue applies attribute adjustments to the input junction.

Attribute adjustments at the NetworkForwardStar level allow dynamically adjusting network attribute values at runtime. For example, it is possible to add a constant value to a cost attribute or scale a cost attribute by a constant factor, as well as dynamically replacing attribute values.

Please see the help for esriNetworkAttributeAdjustmentType for attribute adjustment usage protocols.

Product Availability

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

Specified by:
adjustJunctionAttributeValue in interface INetworkForwardStarEx
Parameters:
junction - A reference to a com.esri.arcgis.geodatabase.INetworkJunction (in)
attribute - A reference to a com.esri.arcgis.geodatabase.INetworkAttribute (in)
adjustmentType - A com.esri.arcgis.geodatabase.esriNetworkAttributeAdjustmentType constant (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

adjustEdgeAttributeValue

public void adjustEdgeAttributeValue(INetworkEdge edge,
                                     double fromPosition,
                                     double toPosition,
                                     INetworkAttribute attribute,
                                     int adjustmentType,
                                     Object value)
                              throws IOException,
                                     AutomationException
Adjusts the value of a network attribute for a range on an edge element.

Remarks

AdjustEdgeAttributeValue applies attribute adjustments along a given range for the input edge. Multiple, disjoint partial-edge attribute adjustments may be applied to the same edge. The RemoveAttributeAdjustments method can be used for removing all element-specific attribute adjustments.

Attribute adjustments at the NetworkForwardStar level allow dynamically adjusting network attribute values at runtime. For example, it is possible to add a constant value to a cost attribute or scale a cost attribute by a constant factor, as well as dynamically replacing attribute values.

Please see the help for esriNetworkAttributeAdjustmentType for attribute adjustment usage protocols, including rules for overlapping attribute adjustments along an edge.

Product Availability

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

Specified by:
adjustEdgeAttributeValue in interface INetworkForwardStarEx
Parameters:
edge - A reference to a com.esri.arcgis.geodatabase.INetworkEdge (in)
fromPosition - The fromPosition (in)
toPosition - The toPosition (in)
attribute - A reference to a com.esri.arcgis.geodatabase.INetworkAttribute (in)
adjustmentType - A com.esri.arcgis.geodatabase.esriNetworkAttributeAdjustmentType constant (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

adjustTurnAttributeValue

public void adjustTurnAttributeValue(INetworkTurn turn,
                                     INetworkAttribute attribute,
                                     int adjustmentType,
                                     Object value)
                              throws IOException,
                                     AutomationException
Adjusts the value of a network attribute for a turn element.

Remarks

AdjustTurnAttributeValue applies attribute adjustments to the input turn.

Attribute adjustments at the NetworkForwardStar level allow dynamically adjusting network attribute values at runtime. For example, it is possible to add a constant value to a cost attribute or scale a cost attribute by a constant factor, as well as dynamically replacing attribute values.

Please see the help for esriNetworkAttributeAdjustmentType for attribute adjustment usage protocols.

Product Availability

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

Specified by:
adjustTurnAttributeValue in interface INetworkForwardStarEx
Parameters:
turn - A reference to a com.esri.arcgis.geodatabase.INetworkTurn (in)
attribute - A reference to a com.esri.arcgis.geodatabase.INetworkAttribute (in)
adjustmentType - A com.esri.arcgis.geodatabase.esriNetworkAttributeAdjustmentType constant (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAttributeValueAdjustments

public void removeAttributeValueAdjustments()
                                     throws IOException,
                                            AutomationException
Removes all element-specific attribute value adjustments currently applied to the NetworkForwardStar object.

Remarks

Removes all element-specific attribute value adjustments currently applied to the NetworkForwardStar object.

Product Availability

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

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

isRestricted

public boolean isRestricted(INetworkElement element)
                     throws IOException,
                            AutomationException
Indicates if the given network element is restricted from traversal in the NetworkForwardStar object.

Product Availability

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

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