com.esri.arcgis.networkanalyst
Class NARouteSolver

java.lang.Object
  extended by com.esri.arcgis.networkanalyst.NARouteSolver
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, INARouteSolver, INARouteSolver2, INASolver, INASolverForwardStar, INASolverOutputGeneralization, INASolverSettings, INASolverSettings2, IClone, IPersist, IPersistStream, ISupportErrorInfo, IXMLSerialize, Externalizable, Serializable

public class NARouteSolver
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INASolver, INASolverSettings, INASolverSettings2, INARouteSolver, INARouteSolver2, INASolverOutputGeneralization, IPersist, IPersistStream, IClone, IXMLSerialize, ISupportErrorInfo, INASolverForwardStar, Externalizable

Performs shortest path and tour analysis.

Remarks

NARouteSolver is a Network Analyst solver that computes the shortest path between a set of input stops. It can also be used to reorder the stop sequence, i.e., solve the traveling salesman problem. The NARouteSolver can also honor time windows on stops, and it has options to preserve the start and end stop while optimizing their sequences. It can generate a line feature class of the shortest path found. The NARouteSolver honors all of the settings of the INASolverSettings interface.

Product Availability

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolver
IID, IIDbfd9e9d5_cd3c_4f1c_b39d_40a4134e4b36, xxDummy
 
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolverSettings2
IID, IIDd3696546_2831_4aa5_a879_acd66e50a938, xxDummy
 
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolverSettings
IID5a8dc105_0e57_45c8_a01d_0188ce7f7b52
 
Constructor Summary
NARouteSolver()
          Constructs a NARouteSolver using ArcGIS Engine.
NARouteSolver(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NARouteSolver theNARouteSolver = (NARouteSolver) obj;
 
Method Summary
 void assign(IClone src)
          Assigns the properties of src to the receiver.
 void bind(INAContext context, IDENetworkDataset network, IGPMessages messages)
          Re-associate the solver with the given network dataset and its schema.
 INAContext createContext(IDENetworkDataset network, String name)
          Creates the analysis context for the solver.
 INetworkForwardStarEx createForwardStar(INAContext context, boolean isForwardTraversal)
          Creates a network dataset forward star which honors the current solver settings as well as any barriers.
 INALayer createLayer(INAContext context)
          Makes a new network analysis layer for the solver context.
 void deserialize(IXMLSerializeData data)
          Deserializes an object from XML.
 boolean equals(Object o)
          Compare this object with another
 IClone esri_clone()
          Clones the receiver and assigns the result to *clone.
 IStringArray getAccumulateAttributeNames()
          The collection of network attribute names to be accumulated with the analysis.
 Object getAttributeParameterValue(String attributeName, String paramName)
          The value to use for an attribute parameter within the network dataset.
 INamedSet getClassDefinitions()
          The inputs and outputs defined by the solver.
 void getClassID(GUID[] pClassID)
          getClassID
static String getClsid()
          getClsid.
 String getDisplayName()
          The display name of the solver.
 String getHierarchyAttributeName()
          The name of the hierarchy attribute to be used in analysis.
 int getHierarchyLevelCount()
          The number of levels in the hierarchy attribute.
 String getImpedanceAttributeName()
          The network attribute name to be used as the impedance attribute in analysis.
 int getMaxValueForHierarchy(int level)
          The maximum value of the hierarchy attribute.
 String getName()
          The name of the solver.
 int getNumTransitionToHierarchy(int toLevel)
          The number of lower level junctions to explore before searching the next hierarchy level.
 Object getOutputGeometryPrecision()
          Specifies the precision of the output geometry after generalization.
 int getOutputGeometryPrecisionUnits()
          Specifies the units of the output geometry precision.
 int getOutputLines()
          Indicates if lines will be generated in the result.
 IPropertySet getProperties()
          The properties for the solver.
 IStringArray getRestrictionAttributeNames()
          The collection of network attribute names to be used as restrictions with the analysis.
 int getRestrictUTurns()
          Indicates how U-Turns should be restricted in the analysis.
 void getSizeMax(_ULARGE_INTEGER[] pcbSize)
          getSizeMax
 Date getStartTime()
          Specifies the time the route begins.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isCanAccumulateAttributes()
          Indicates if the solver supports using accumulate network attributes.
 boolean isCanUseHierarchy()
          Indicates if the solver supports using a hierarchy network attribute.
 boolean isCreateTraversalResult()
          Indicates if a traversal result will be generated.
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 boolean isFindBestSequence()
          Indicates if the solver should resequence the route in the optimal order.
 boolean isIdentical(IClone other)
          Indicates if the receiver and other are the same object.
 boolean isIgnoreInvalidLocations()
          Indicates if invalid locations should be ignored or raise an error.
 boolean isPreserveFirstStop()
          Indicates if the solver should keep the first stop fixed in the sequence.
 boolean isPreserveLastStop()
          Indicates if the solver should keep the last stop fixed in the sequence.
 boolean isResetHierarchyRangesOnBind()
          Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound.
 boolean isUseHierarchy()
          Indicates if the hierarchy attribute for the network should be used in analysis.
 boolean isUseStartTime()
          Indicates if the solver should start the route at a particular time.
 boolean isUseTimeWindows()
          Indicates if the solver should consider time windows.
 void load(IStream pstm)
          load
 void readExternal(ObjectInput in)
           
 void save(IStream pstm, int fClearDirty)
          save
 void serialize(IXMLSerializeData data)
          Serializes an object to XML.
 void setAccumulateAttributeNamesByRef(IStringArray attributeNames)
          The collection of network attribute names to be accumulated with the analysis.
 void setAttributeParameterValue(String attributeName, String paramName, Object value)
          The value to use for an attribute parameter within the network dataset.
 void setCreateTraversalResult(boolean value)
          Indicates if a traversal result will be generated.
 void setFindBestSequence(boolean value)
          Indicates if the solver should resequence the route in the optimal order.
 void setHierarchyAttributeName(String attributeName)
          The name of the hierarchy attribute to be used in analysis.
 void setHierarchyLevelCount(int count)
          The number of levels in the hierarchy attribute.
 void setIgnoreInvalidLocations(boolean ignoreInvalidLocations)
          Indicates if invalid locations should be ignored or raise an error.
 void setImpedanceAttributeName(String attributeName)
          The network attribute name to be used as the impedance attribute in analysis.
 void setMaxValueForHierarchy(int level, int value)
          The maximum value of the hierarchy attribute.
 void setNumTransitionToHierarchy(int toLevel, int value)
          The number of lower level junctions to explore before searching the next hierarchy level.
 void setOutputGeometryPrecision(Object pValue)
          Specifies the precision of the output geometry after generalization.
 void setOutputGeometryPrecisionUnits(int pValue)
          Specifies the units of the output geometry precision.
 void setOutputLines(int value)
          Indicates if lines will be generated in the result.
 void setPreserveFirstStop(boolean value)
          Indicates if the solver should keep the first stop fixed in the sequence.
 void setPreserveLastStop(boolean value)
          Indicates if the solver should keep the last stop fixed in the sequence.
 void setResetHierarchyRangesOnBind(boolean value)
          Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound.
 void setRestrictionAttributeNamesByRef(IStringArray attributeName)
          The collection of network attribute names to be used as restrictions with the analysis.
 void setRestrictUTurns(int backtrack)
          Indicates how U-Turns should be restricted in the analysis.
 void setStartTime(Date value)
          Specifies the time the route begins.
 void setUseHierarchy(boolean useHierarchy)
          Indicates if the hierarchy attribute for the network should be used in analysis.
 void setUseStartTime(boolean value)
          Indicates if the solver should start the route at a particular time.
 void setUseTimeWindows(boolean value)
          Indicates if the solver should consider time windows.
 boolean solve(INAContext nAContext, IGPMessages messages, ITrackCancel trackCancel)
          Perform the network analysis and construct results.
 void updateContext(INAContext nAContext, IDENetworkDataset network, IGPMessages messages)
          Update the analysis context for the solver.
 boolean updateLayer(INALayer layer)
          Updates the layer and indicates if the layer was updated.
 void writeExternal(ObjectOutput out)
           
 
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

NARouteSolver

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

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

NARouteSolver

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

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

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
The name of the solver.

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

getDisplayName

public String getDisplayName()
                      throws IOException,
                             AutomationException
The display name of the solver.

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

getClassDefinitions

public INamedSet getClassDefinitions()
                              throws IOException,
                                     AutomationException
The inputs and outputs defined by the solver.

Specified by:
getClassDefinitions in interface INASolver
Returns:
A reference to a com.esri.arcgis.networkanalyst.INamedSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUseHierarchy

public boolean isCanUseHierarchy()
                          throws IOException,
                                 AutomationException
Indicates if the solver supports using a hierarchy network attribute.

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

isCanAccumulateAttributes

public boolean isCanAccumulateAttributes()
                                  throws IOException,
                                         AutomationException
Indicates if the solver supports using accumulate network attributes.

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

getProperties

public IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
The properties for the solver.

Specified by:
getProperties in interface INASolver
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.

createLayer

public INALayer createLayer(INAContext context)
                     throws IOException,
                            AutomationException
Makes a new network analysis layer for the solver context.

Specified by:
createLayer in interface INASolver
Parameters:
context - A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
Returns:
A reference to a com.esri.arcgis.networkanalyst.INALayer
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateLayer

public boolean updateLayer(INALayer layer)
                    throws IOException,
                           AutomationException
Updates the layer and indicates if the layer was updated.

Specified by:
updateLayer in interface INASolver
Parameters:
layer - A reference to a com.esri.arcgis.networkanalyst.INALayer (in)
Returns:
The layerUpdated
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

solve

public boolean solve(INAContext nAContext,
                     IGPMessages messages,
                     ITrackCancel trackCancel)
              throws IOException,
                     AutomationException
Perform the network analysis and construct results.

Specified by:
solve in interface INASolver
Parameters:
nAContext - A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
messages - A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
trackCancel - A reference to a com.esri.arcgis.system.ITrackCancel (in)
Returns:
The isPartialSolution
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createContext

public INAContext createContext(IDENetworkDataset network,
                                String name)
                         throws IOException,
                                AutomationException
Creates the analysis context for the solver.

Specified by:
createContext in interface INASolver
Parameters:
network - A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)
name - The name (in)
Returns:
A reference to a com.esri.arcgis.networkanalyst.INAContext
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateContext

public void updateContext(INAContext nAContext,
                          IDENetworkDataset network,
                          IGPMessages messages)
                   throws IOException,
                          AutomationException
Update the analysis context for the solver.

Specified by:
updateContext in interface INASolver
Parameters:
nAContext - A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
network - A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)
messages - A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

bind

public void bind(INAContext context,
                 IDENetworkDataset network,
                 IGPMessages messages)
          throws IOException,
                 AutomationException
Re-associate the solver with the given network dataset and its schema.

Specified by:
bind in interface INASolver
Parameters:
context - A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
network - A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)
messages - A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAccumulateAttributeNames

public IStringArray getAccumulateAttributeNames()
                                         throws IOException,
                                                AutomationException
The collection of network attribute names to be accumulated with the analysis.

Specified by:
getAccumulateAttributeNames in interface INASolverSettings
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.

setAccumulateAttributeNamesByRef

public void setAccumulateAttributeNamesByRef(IStringArray attributeNames)
                                      throws IOException,
                                             AutomationException
The collection of network attribute names to be accumulated with the analysis.

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

setImpedanceAttributeName

public void setImpedanceAttributeName(String attributeName)
                               throws IOException,
                                      AutomationException
The network attribute name to be used as the impedance attribute in analysis.

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

getImpedanceAttributeName

public String getImpedanceAttributeName()
                                 throws IOException,
                                        AutomationException
The network attribute name to be used as the impedance attribute in analysis.

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

setIgnoreInvalidLocations

public void setIgnoreInvalidLocations(boolean ignoreInvalidLocations)
                               throws IOException,
                                      AutomationException
Indicates if invalid locations should be ignored or raise an error.

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

isIgnoreInvalidLocations

public boolean isIgnoreInvalidLocations()
                                 throws IOException,
                                        AutomationException
Indicates if invalid locations should be ignored or raise an error.

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

getRestrictionAttributeNames

public IStringArray getRestrictionAttributeNames()
                                          throws IOException,
                                                 AutomationException
The collection of network attribute names to be used as restrictions with the analysis.

Specified by:
getRestrictionAttributeNames in interface INASolverSettings
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.

setRestrictionAttributeNamesByRef

public void setRestrictionAttributeNamesByRef(IStringArray attributeName)
                                       throws IOException,
                                              AutomationException
The collection of network attribute names to be used as restrictions with the analysis.

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

setRestrictUTurns

public void setRestrictUTurns(int backtrack)
                       throws IOException,
                              AutomationException
Indicates how U-Turns should be restricted in the analysis.

Specified by:
setRestrictUTurns in interface INASolverSettings
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.

getRestrictUTurns

public int getRestrictUTurns()
                      throws IOException,
                             AutomationException
Indicates how U-Turns should be restricted in the analysis.

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

setUseHierarchy

public void setUseHierarchy(boolean useHierarchy)
                     throws IOException,
                            AutomationException
Indicates if the hierarchy attribute for the network should be used in analysis.

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

isUseHierarchy

public boolean isUseHierarchy()
                       throws IOException,
                              AutomationException
Indicates if the hierarchy attribute for the network should be used in analysis.

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

setHierarchyAttributeName

public void setHierarchyAttributeName(String attributeName)
                               throws IOException,
                                      AutomationException
The name of the hierarchy attribute to be used in analysis.

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

getHierarchyAttributeName

public String getHierarchyAttributeName()
                                 throws IOException,
                                        AutomationException
The name of the hierarchy attribute to be used in analysis.

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

setHierarchyLevelCount

public void setHierarchyLevelCount(int count)
                            throws IOException,
                                   AutomationException
The number of levels in the hierarchy attribute.

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

getHierarchyLevelCount

public int getHierarchyLevelCount()
                           throws IOException,
                                  AutomationException
The number of levels in the hierarchy attribute.

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

setMaxValueForHierarchy

public void setMaxValueForHierarchy(int level,
                                    int value)
                             throws IOException,
                                    AutomationException
The maximum value of the hierarchy attribute.

Specified by:
setMaxValueForHierarchy in interface INASolverSettings
Parameters:
level - The level (in)
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxValueForHierarchy

public int getMaxValueForHierarchy(int level)
                            throws IOException,
                                   AutomationException
The maximum value of the hierarchy attribute.

Specified by:
getMaxValueForHierarchy in interface INASolverSettings
Parameters:
level - The level (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setNumTransitionToHierarchy

public void setNumTransitionToHierarchy(int toLevel,
                                        int value)
                                 throws IOException,
                                        AutomationException
The number of lower level junctions to explore before searching the next hierarchy level.

Specified by:
setNumTransitionToHierarchy in interface INASolverSettings
Parameters:
toLevel - The toLevel (in)
value - The value (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNumTransitionToHierarchy

public int getNumTransitionToHierarchy(int toLevel)
                                throws IOException,
                                       AutomationException
The number of lower level junctions to explore before searching the next hierarchy level.

Specified by:
getNumTransitionToHierarchy in interface INASolverSettings
Parameters:
toLevel - The toLevel (in)
Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isResetHierarchyRangesOnBind

public boolean isResetHierarchyRangesOnBind()
                                     throws IOException,
                                            AutomationException
Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound.

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

setResetHierarchyRangesOnBind

public void setResetHierarchyRangesOnBind(boolean value)
                                   throws IOException,
                                          AutomationException
Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound.

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

getAttributeParameterValue

public Object getAttributeParameterValue(String attributeName,
                                         String paramName)
                                  throws IOException,
                                         AutomationException
The value to use for an attribute parameter within the network dataset.

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

setAttributeParameterValue

public void setAttributeParameterValue(String attributeName,
                                       String paramName,
                                       Object value)
                                throws IOException,
                                       AutomationException
The value to use for an attribute parameter within the network dataset.

Specified by:
setAttributeParameterValue in interface INASolverSettings2
Parameters:
attributeName - The attributeName (in)
paramName - The paramName (in)
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFindBestSequence

public boolean isFindBestSequence()
                           throws IOException,
                                  AutomationException
Indicates if the solver should resequence the route in the optimal order.

Remarks

FindBestSequence determines whether or not the route solver optimizes the sequence of stops before solving the shortest path.

Product Availability

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

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

setFindBestSequence

public void setFindBestSequence(boolean value)
                         throws IOException,
                                AutomationException
Indicates if the solver should resequence the route in the optimal order.

Remarks

FindBestSequence determines whether or not the route solver optimizes the sequence of stops before solving the shortest path.

Product Availability

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

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

isPreserveFirstStop

public boolean isPreserveFirstStop()
                            throws IOException,
                                   AutomationException
Indicates if the solver should keep the first stop fixed in the sequence.

Remarks

PreserveFirstStop allows the first stop to stay as the first stop if the FindBestSequence has been turned on to optimize the sequence of stops.

Product Availability

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

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

setPreserveFirstStop

public void setPreserveFirstStop(boolean value)
                          throws IOException,
                                 AutomationException
Indicates if the solver should keep the first stop fixed in the sequence.

Remarks

PreserveFirstStop allows the first stop to stay as the first stop if the FindBestSequence has been turned on to optimize the sequence of stops.

Product Availability

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

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

isPreserveLastStop

public boolean isPreserveLastStop()
                           throws IOException,
                                  AutomationException
Indicates if the solver should keep the last stop fixed in the sequence.

Remarks

PreserveLastStop allows the last stop to stay as the last stop if the FindBestSequence has been turned on to optimize the sequence of stops.

Product Availability

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

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

setPreserveLastStop

public void setPreserveLastStop(boolean value)
                         throws IOException,
                                AutomationException
Indicates if the solver should keep the last stop fixed in the sequence.

Remarks

PreserveLastStop allows the last stop to stay as the last stop if the FindBestSequence has been turned on to optimize the sequence of stops.

Product Availability

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

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

isUseTimeWindows

public boolean isUseTimeWindows()
                         throws IOException,
                                AutomationException
Indicates if the solver should consider time windows.

Remarks

UseTimeWindows allows the use of time windows on individual stops. The route solver will change the sequence of the stops to satisfy the time windows. This is done regardless of settings for FindBestSequence.

Product Availability

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

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

setUseTimeWindows

public void setUseTimeWindows(boolean value)
                       throws IOException,
                              AutomationException
Indicates if the solver should consider time windows.

Remarks

UseTimeWindows allows the use of time windows on individual stops. The route solver will change the sequence of the stops to satisfy the time windows. This is done regardless of settings for FindBestSequence.

Product Availability

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

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

isCreateTraversalResult

public boolean isCreateTraversalResult()
                                throws IOException,
                                       AutomationException
Indicates if a traversal result will be generated.

Remarks

CreateTraversalResult specifies if the traversal results will be created by the route solver.

Product Availability

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

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

setCreateTraversalResult

public void setCreateTraversalResult(boolean value)
                              throws IOException,
                                     AutomationException
Indicates if a traversal result will be generated.

Remarks

CreateTraversalResult specifies if the traversal results will be created by the route solver.

Product Availability

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

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

getOutputLines

public int getOutputLines()
                   throws IOException,
                          AutomationException
Indicates if lines will be generated in the result.

Remarks

OutputLines specifies the type of lines that are generated by the solver. The type can be true shape, true shape with measures, straight lines connecting the stops or no lines.

Product Availability

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

Specified by:
getOutputLines in interface INARouteSolver
Returns:
A com.esri.arcgis.networkanalyst.esriNAOutputLineType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutputLines

public void setOutputLines(int value)
                    throws IOException,
                           AutomationException
Indicates if lines will be generated in the result.

Remarks

OutputLines specifies the type of lines that are generated by the solver. The type can be true shape, true shape with measures, straight lines connecting the stops or no lines.

Product Availability

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

Specified by:
setOutputLines in interface INARouteSolver
Parameters:
value - A com.esri.arcgis.networkanalyst.esriNAOutputLineType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setUseStartTime

public void setUseStartTime(boolean value)
                     throws IOException,
                            AutomationException
Indicates if the solver should start the route at a particular time.

Remarks

UseStartTime specifies whether or not you want the solver to track the start time of the route. This property is used in conjunction with StartTime which specifies the actual start time.

Product Availability

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

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

isUseStartTime

public boolean isUseStartTime()
                       throws IOException,
                              AutomationException
Indicates if the solver should start the route at a particular time.

Remarks

UseStartTime specifies whether or not you want the solver to track the start time of the route. This property is used in conjunction with StartTime, which specifies the actual start time.

Product Availability

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

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

setStartTime

public void setStartTime(Date value)
                  throws IOException,
                         AutomationException
Specifies the time the route begins.

Remarks

StartTime specifies the route's start time. This property is used in conjunction with the UseStartTime property which specifies if the start time is used or not. The allowable date range (for explicit dates) is 1/1/1901 through 12/31/9999.

To specify days of the week, use the following chart:

Interpreted Day Specific Date to Pass to the Solver
Today 12/30/1899
Sunday 12/31/1899
Monday 1/1/1900
Tuesday 1/2/1900
Wednesday 1/3/1900
Thursday 1/4/1900
Friday 1/5/1900
Saturday 1/6/1900

Product Availability

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

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

getStartTime

public Date getStartTime()
                  throws IOException,
                         AutomationException
Specifies the time the route begins.

Remarks

StartTime specifies the route's start time. This property is used in conjunction with the UseStartTime property which specifies if the start time is used or not. The allowable date range (for explicit dates) is 1/1/1901 through 12/31/9999.

To specify days of the week, use the following chart:

Interpreted Day Specific Date to Pass to the Solver
Today 12/30/1899
Sunday 12/31/1899
Monday 1/1/1900
Tuesday 1/2/1900
Wednesday 1/3/1900
Thursday 1/4/1900
Friday 1/5/1900
Saturday 1/6/1900

Product Availability

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

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

setOutputGeometryPrecision

public void setOutputGeometryPrecision(Object pValue)
                                throws IOException,
                                       AutomationException
Specifies the precision of the output geometry after generalization.

Remarks

The precision of the output geometry after generalization.

See IPolyCurve.Generalize for information on the generalization technique that is utilized by INASolverOutputGeneralization.

Product Availability

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

Specified by:
setOutputGeometryPrecision in interface INASolverOutputGeneralization
Parameters:
pValue - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutputGeometryPrecision

public Object getOutputGeometryPrecision()
                                  throws IOException,
                                         AutomationException
Specifies the precision of the output geometry after generalization.

Product Availability

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

Specified by:
getOutputGeometryPrecision in interface INASolverOutputGeneralization
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutputGeometryPrecisionUnits

public void setOutputGeometryPrecisionUnits(int pValue)
                                     throws IOException,
                                            AutomationException
Specifies the units of the output geometry precision.

Remarks

The length units that the OutputGeometryPrecision are in. If unknown, the units are assumed to be the same as the spatial reference of the geometries.

See IPolyCurve.Generalize for information on the generalization technique that is utilized by INASolverOutputGeneralization.

Product Availability

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

Specified by:
setOutputGeometryPrecisionUnits in interface INASolverOutputGeneralization
Parameters:
pValue - A com.esri.arcgis.system.esriUnits constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutputGeometryPrecisionUnits

public int getOutputGeometryPrecisionUnits()
                                    throws IOException,
                                           AutomationException
Specifies the units of the output geometry precision.

Product Availability

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

Specified by:
getOutputGeometryPrecisionUnits in interface INASolverOutputGeneralization
Returns:
A com.esri.arcgis.system.esriUnits constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getClassID

public void getClassID(GUID[] pClassID)
                throws IOException,
                       AutomationException
getClassID

Description

IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getClassID in interface IPersist
Parameters:
pClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDirty

public void isDirty()
             throws IOException,
                    AutomationException
isDirty

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

load

public void load(IStream pstm)
          throws IOException,
                 AutomationException
load

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

save

public void save(IStream pstm,
                 int fClearDirty)
          throws IOException,
                 AutomationException
save

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
save in interface IPersistStream
Parameters:
pstm - A reference to a com.esri.arcgis.system.IStream (in)
fClearDirty - The fClearDirty (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSizeMax

public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
                throws IOException,
                       AutomationException
getSizeMax

Description

IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSizeMax in interface IPersistStream
Parameters:
pcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

esri_clone

public IClone esri_clone()
                  throws IOException,
                         AutomationException
Clones the receiver and assigns the result to *clone.

Product Availability

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

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

assign

public void assign(IClone src)
            throws IOException,
                   AutomationException
Assigns the properties of src to the receiver.

Description

Use Assign method to assign the properties of source object to receiver object. Both objects need to have the same CLSIDs. Both source and receiver objects need to be instantiated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isEqual

public boolean isEqual(IClone other)
                throws IOException,
                       AutomationException
Indicates if the receiver and other have the same properties.

Description

IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isIdentical

public boolean isIdentical(IClone other)
                    throws IOException,
                           AutomationException
Indicates if the receiver and other are the same object.

Description

IsIdentical returns true if the receiver and the source reference the same object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

serialize

public void serialize(IXMLSerializeData data)
               throws IOException,
                      AutomationException
Serializes an object to XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

deserialize

public void deserialize(IXMLSerializeData data)
                 throws IOException,
                        AutomationException
Deserializes an object from XML.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createForwardStar

public INetworkForwardStarEx createForwardStar(INAContext context,
                                               boolean isForwardTraversal)
                                        throws IOException,
                                               AutomationException
Creates a network dataset forward star which honors the current solver settings as well as any barriers.

Remarks

CreateForwardStar will generate a NetworkForwardStar object prepared with the settings specified on the current solver and the INAContext that is passed in. The returned NetworkForwardStar object will have the INetworkForwardStarEx::IsForwardTraversal value set to match the value of the IsForwardTraversal Boolean that is passed in to CreateForwardStar.

Product Availability

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

Specified by:
createForwardStar in interface INASolverForwardStar
Parameters:
context - A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
isForwardTraversal - The isForwardTraversal (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.INetworkForwardStarEx
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException