com.esri.arcgis.networkanalyst
Class NAClosestFacilitySolver

java.lang.Object
  extended by com.esri.arcgis.networkanalyst.NAClosestFacilitySolver
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, INAClosestFacilitySolver, INASolver, INASolverForwardStar, INASolverOutputGeneralization, INASolverSettings, INASolverSettings2, IPersist, IPersistStream, ISupportErrorInfo, Externalizable, Serializable

public class NAClosestFacilitySolver
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, INASolver, INASolverSettings, INASolverSettings2, INAClosestFacilitySolver, INASolverOutputGeneralization, IPersistStream, ISupportErrorInfo, INASolverForwardStar, Externalizable

Performs closest facility analysis.

Remarks

NAClosestFacilitySolver is a Network Analyst solver that finds a set of closest facilities from a set of incidents. It can find the closest facility based on any suitable cost attribute and then write the results to an in-memory feature class. It has options to limit the number of facilities to compute to/from any incident by either specifying a maximum number of facilities to find or by specifying a cutoff value. For example, find the three closest facilities from a set of incidents that are no more than 10 Km away. It can also generate the actual path or straight line geometries connecting each facility to each incident. The NAClosestFacilitySolver 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
NAClosestFacilitySolver()
          Constructs a NAClosestFacilitySolver using ArcGIS Engine.
NAClosestFacilitySolver(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NAClosestFacilitySolver theNAClosestFacilitySolver = (NAClosestFacilitySolver) obj;
 
Method Summary
 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.
 boolean equals(Object o)
          Compare this object with another
 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.
 int getDefaultTargetFacilityCount()
          The default number of facilities 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 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
 int getTravelDirection()
          The direction of the traversal.
 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 is created.
 void isDirty()
          isDirty
 boolean isIgnoreInvalidLocations()
          Indicates if invalid locations should be ignored or raise an error.
 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 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 is created.
 void setDefaultCutoff(Object value)
          The default cutoff value to stop traversing.
 void setDefaultTargetFacilityCount(int value)
          The default number of facilities 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 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 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 setTravelDirection(int value)
          The direction of the traversal.
 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

NAClosestFacilitySolver

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

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

NAClosestFacilitySolver

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

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

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.

getDefaultTargetFacilityCount

public int getDefaultTargetFacilityCount()
                                  throws IOException,
                                         AutomationException
The default number of facilities to find.

Remarks

DefaultTargetFacilityCount specifies up to how many facilities to solve for. Solving for 10 facilities will return at the most 10 closest facilities from each incident. This property sets and gets the number of destinations to find for the NAClosestFacilitySolver.

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

DefaultTargetFacilityCount defaults to a value of 1.

Product Availability

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

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

setDefaultTargetFacilityCount

public void setDefaultTargetFacilityCount(int value)
                                   throws IOException,
                                          AutomationException
The default number of facilities to find.

Remarks

DefaultTargetFacilityCount specifies up to how many facilities to solve for. Solving for 10 facilities will return at the most 10 closest facilities from each incident. This property sets and gets the number of destinations to find for the NAClosestFacilitySolver.

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

DefaultTargetFacilityCount defaults to a value of 1.

Product Availability

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

Specified by:
setDefaultTargetFacilityCount in interface INAClosestFacilitySolver
Parameters:
value - The value (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 facilities from each incident. Setting a default cutoff of 10 miles will only return those facilities within 10 miles from each incident. This property sets and gets the cutoff value for the NAClosestFacilitySolver.

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 INAClosestFacilitySolver
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 facilities from each incident. Setting a default cutoff of 10 miles will only return those facilities within 10 miles from each incident. This property sets and gets the cutoff value for the NAClosestFacilitySolver.

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 INAClosestFacilitySolver
Parameters:
value - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTravelDirection

public int getTravelDirection()
                       throws IOException,
                              AutomationException
The direction of the traversal.

Remarks

TravelDirection can be set to travel from the facility (default) or travel to the facility. This can make a difference in finding the closest facility if there are oneway restrictions, turn restrictions, or different travel cost attributes for each side of the street in the network. This property sets and gets the travel direction for the NAClosestFacilitySolver.

Do not set both ReturnCFRouteGeometries and ReturnCFRoutes to true. If just the geometry is needed, just set ReturnCFRouteGeometry to true. If the geometry and the other fields on the CFRoutes RecordSet are needed, just set ReturnCFRoutes to true since the geometries in the shape field of CFRoutes are the same geometries that are returned in CFRouteGeometries.

Do not set both ReturnDirections and ReturnCompactDirections to true. They each return directions in slightly different formats but contain similar information, Either direction format can be used independently and it is bad practice to return both formats. The time to compute each type of directions is considerable and should not be done unless necessary.

Product Availability

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

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

setTravelDirection

public void setTravelDirection(int value)
                        throws IOException,
                               AutomationException
The direction of the traversal.

Remarks

TravelDirection can be set to travel from the facility (default) or travel to the facility. This can make a difference in finding the closest facility if there are oneway restrictions, turn restrictions, or different travel cost attributes for each side of the street in the network. This property sets and gets the travel direction for the NAClosestFacilitySolver.

Product Availability

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

Specified by:
setTravelDirection in interface INAClosestFacilitySolver
Parameters:
value - A com.esri.arcgis.networkanalyst.esriNATravelDirection constant (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 is created.

Remarks

CreateTraversalResult specifies if the traversal results will be created by the closest facility solver. Not computing the traversal results can be faster if no output lines or straight lines are to be created. This property sets and gets the status as true or false for the NAClosestFacilitySolver.

Product Availability

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

Specified by:
isCreateTraversalResult in interface INAClosestFacilitySolver
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 is created.

Remarks

CreateTraversalResult specifies if the traversal results will be created by the closest facility solver. Not computing the traversal results can be faster if no output lines or straight lines are to be created. This property sets and gets the status as true or false for the NAClosestFacilitySolver.

Product Availability

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

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

Remarks

OutputLines specifies the type of lines to be generated by the closest facility solver. The choice is to generate true shapes, true shapes with measure, straight lines, or to generate no lines. This property sets and gets the output line type for the NAClosestFacilitySolver.

Product Availability

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

Specified by:
getOutputLines in interface INAClosestFacilitySolver
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 to be generated by the closest facility solver. The choice is to the generate the true shapes, straight lines, or to generate no lines. This property sets and gets the output line type for the NAClosestFacilitySolver.

Product Availability

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

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

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.

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.

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.

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.

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.

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