com.esri.arcgis.networkanalyst
Class NAODCostMatrixSolver

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

public class NAODCostMatrixSolver
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INASolver, INASolverSettings, INASolverSettings2, INAODCostMatrixSolver, INAODCostMatrixSolver2, INASolverOutputGeneralization, INATimeAwareSolverSettings, IPersist, IPersistStream, IClone, IXMLSerialize, ISupportErrorInfo, INASolverForwardStar, Externalizable

Performs origin-destination matrix analysis.

Remarks

NAODCostMatrixSolver is a Network Analyst solver that finds the shortest path distances between a set of origins and destinations. It can minimize the shortest path on any suitable cost attribute and write the results to an in-memory feature class, which can then be exported to a table. It has options to limit the number of destinations to compute from any origin by either specifying a maximum number of destinations to find or by specifying a cutoff value. For example, compute distances from a set of origins to, at the most, three destinations that are within 10 Km. It can also generate straight-line geometries connecting each origin-destination pair. The NAODCostMatrixSolver 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
NAODCostMatrixSolver()
          Constructs a NAODCostMatrixSolver using ArcGIS Engine.
NAODCostMatrixSolver(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NAODCostMatrixSolver theNAODCostMatrixSolver = (NAODCostMatrixSolver) 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.
 Object getDefaultCutoff()
          The default cutoff value to stop traversing.
 Object getDefaultTargetDestinationCount()
          The default number of destinations to find.
 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 getMatrixResultType()
          Indicates the type of matrix result to be created.
 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 how lines are generated.
 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 getTimeOfDay()
          The date-time value used in time-aware solvers.
 int getTimeOfDayUsage()
          The usage type for the TimeOfDay property.
 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.
 void isDirty()
          isDirty
 boolean isEqual(IClone other)
          Indicates if the receiver and other have the same properties.
 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 isPopulateODLines()
          Indicates if the ODLines class is to be populated.
 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.
 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 setDefaultCutoff(Object value)
          The default cutoff value to stop traversing.
 void setDefaultTargetDestinationCount(Object value)
          The default number of destinations to find.
 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 setMatrixResultType(int type)
          Indicates the type of matrix result to be created.
 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 how lines are generated.
 void setPopulateODLines(boolean value)
          Indicates if the ODLines class is to be populated.
 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 setTimeOfDay(Date timeOfDay)
          The date-time value used in time-aware solvers.
 void setTimeOfDayUsage(int timeOfDayUsage)
          The usage type for the TimeOfDay property.
 void setUseHierarchy(boolean useHierarchy)
          Indicates if the hierarchy attribute for the network should be used in analysis.
 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

NAODCostMatrixSolver

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

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

NAODCostMatrixSolver

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

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

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.

getDefaultTargetDestinationCount

public Object getDefaultTargetDestinationCount()
                                        throws IOException,
                                               AutomationException
The default number of destinations to find.

Remarks

DefaultTargetDestinationCount specifies the number of destinations to find for the NAODCostMatrixSolver. For example, solving for 10 destinations will return the cost-distance to the 10 closest destinations from each origin.

DefaultTargetDestinationCount is considered “default” because it can be overridden on a feature-by-feature basis by the presence of a non-null value in the TargetDestinationCount field of an individual feature.

DefaultTargetDestinationCount, if not NULL, can be cast as an integer. It is returned as an object/variant in order to allow a NULL value to be used to specify an unlimited default destination count. A DefaultTargetDestinationCount of NULL indicates that a path will be found, if possible, between every origin and every destination.

If a specific origin feature has a non-null value in the TargetDestinationCount field of its NAClass, this value will override the DefaultTargetDestinationCount for that origin.

If an attempt is made to set the DefaultTargetDestinationCount to a non-integer value, it will be rounded to the nearest integer.

Product Availability

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

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

setDefaultTargetDestinationCount

public void setDefaultTargetDestinationCount(Object value)
                                      throws IOException,
                                             AutomationException
The default number of destinations to find.

Remarks

DefaultTargetDestinationCount specifies the number of destinations to find for the NAODCostMatrixSolver. For example, solving for 10 destinations will return the cost-distance to the 10 closest destinations from each origin.

DefaultTargetDestinationCount is considered “default” because it can be overridden on a feature-by-feature basis by the presence of a non-null value in the TargetDestinationCount field of an individual feature.

DefaultTargetDestinationCount, if not NULL, can be cast as an integer. It is returned as an object/variant in order to allow a NULL value to be used to specify an unlimited default destination count. A DefaultTargetDestinationCount of NULL indicates that a path will be found, if possible, between every origin and every destination.

If a specific origin feature has a non-null value in the TargetDestinationCount field of its NAClass, this value will override the DefaultTargetDestinationCount for that origin.

If an attempt is made to set the DefaultTargetDestinationCount to a non-integer value, it will be rounded to the nearest integer.

Product Availability

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

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

getDefaultCutoff

public Object getDefaultCutoff()
                        throws IOException,
                               AutomationException
The default cutoff value to stop traversing.

Remarks

DefaultCutoff specifies how far to search for the destinations around each origin. For example, setting a default cutoff of 10 miles will only return those destinations within 10 miles from each origin.

DefaultCutoff is considered “default” because it can be overridden on a feature-by-feature basis by the presence of a non-null value in the Cutoff_<attribute name> field of an individual feature.

DefaultCutoff, if not NULL, can be cast as a double. It is returned as an object/variant in order to allow a NULL to be used to specify no default cutoff value. A DefaultCutoff of zero indicates a search distance of zero. A DefaultCutoff of NULL indicates an unlimited search distance.

Product Availability

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

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

setDefaultCutoff

public void setDefaultCutoff(Object value)
                      throws IOException,
                             AutomationException
The default cutoff value to stop traversing.

Remarks

DefaultCutoff specifies how far to search for the destinations around each origin. For example, setting a default cutoff of 10 miles will only return those destinations within 10 miles from each origin.

DefaultCutoff is considered “default” because it can be overridden on a feature-by-feature basis by the presence of a non-null value in the Cutoff_<attribute name> field of an individual feature.

DefaultCutoff, if not NULL, can be cast as a double. It is returned as an object/variant in order to allow a NULL to be used to specify no default cutoff value. A DefaultCutoff of zero indicates a search distance of zero. A DefaultCutoff of NULL indicates an unlimited search distance.

Product Availability

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

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

getOutputLines

public int getOutputLines()
                   throws IOException,
                          AutomationException
Indicates how lines are generated.

Remarks

OutputLines specifies the type of lines that are generated by the NAODCostMatrixSolver object.

The only two valid line types for a NAODCostMatrixSolver are esriNAOutputLineNone or esriNAOutputLineStraight. The determined path from an origin to a destination is a true network path, but the only allowed representation of that path is a straight line or no lines at all.

Product Availability

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

Specified by:
getOutputLines in interface INAODCostMatrixSolver
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 how lines are generated.

Remarks

OutputLines specifies the type of lines that are generated by the NAODCostMatrixSolver object.

The type can be straight lines connecting the origins and destinations or no lines.

Product Availability

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

Specified by:
setOutputLines in interface INAODCostMatrixSolver
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.

getMatrixResultType

public int getMatrixResultType()
                        throws IOException,
                               AutomationException
Indicates the type of matrix result to be created.

Remarks

Specifies what type of a cost matrix is created during a solve.

If the solver is set to produce a matrix (either esriNAODCostMatrixFull or esriNAODCostMatrixUpdate), make sure that the PopulateODLines property is set to False as only one of these can be populated by the solver.

Product Availability

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

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

setMatrixResultType

public void setMatrixResultType(int type)
                         throws IOException,
                                AutomationException
Indicates the type of matrix result to be created.

Remarks

Specifies what type of a cost matrix is created during a solve.

If the solver is set to produce a matrix (either esriNAODCostMatrixFull or esriNAODCostMatrixUpdate), make sure that the PopulateODLines property is set to False as only one these can be populated by the solver.

Product Availability

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

Specified by:
setMatrixResultType in interface INAODCostMatrixSolver2
Parameters:
type - A com.esri.arcgis.networkanalyst.esriNAODCostMatrixType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPopulateODLines

public boolean isPopulateODLines()
                          throws IOException,
                                 AutomationException
Indicates if the ODLines class is to be populated.

Remarks

Specifies if the solver should populate the ODLines output analysis class on solve.

If this is set to True, make sure that the MatrixResultType property is set to esriNAODCostMatrixNone as only one of these can be populated by the solver.

Product Availability

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

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

setPopulateODLines

public void setPopulateODLines(boolean value)
                        throws IOException,
                               AutomationException
Indicates if the ODLines class is to be populated.

Description

Returns true if the solver is set to populated the ODLines output analysis layer. If this is set true then the Matrix Result type cannot be populated. That is, the solver can either populate the ODLines or the Matrix result type.

Remarks

Specifies if the solver should populate the ODLines output analyis class on solve.

If this is set to True, make sure that the MatrixResultType property is set to esriNAODCostMatrixNone as only one these can be populated by the solver.

Product Availability

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

Specified by:
setPopulateODLines in interface INAODCostMatrixSolver2
Parameters:
value - The value (in)
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.

getTimeOfDay

public Date getTimeOfDay()
                  throws IOException,
                         AutomationException
The date-time value used in time-aware solvers.

Product Availability

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

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

setTimeOfDay

public void setTimeOfDay(Date timeOfDay)
                  throws IOException,
                         AutomationException
The date-time value used in time-aware solvers.

Remarks

TimeOfDay, in conjunction with TimeOfDayUsage, provides the time input to time-aware solvers. The time value is considered local time.

Product Availability

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

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

getTimeOfDayUsage

public int getTimeOfDayUsage()
                      throws IOException,
                             AutomationException
The usage type for the TimeOfDay property.

Product Availability

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

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

setTimeOfDayUsage

public void setTimeOfDayUsage(int timeOfDayUsage)
                       throws IOException,
                              AutomationException
The usage type for the TimeOfDay property.

Remarks

TimeOfDayUsage specifies how TimeOfDay is used by the solver. Please see esriNATimeOfDayUsage for a description of the possible usage types.

Product Availability

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

Specified by:
setTimeOfDayUsage in interface INATimeAwareSolverSettings
Parameters:
timeOfDayUsage - A com.esri.arcgis.networkanalyst.esriNATimeOfDayUsage constant (in)
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