com.esri.arcgis.networkanalyst
Class NAServiceAreaSolver

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

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

Performs service area analysis.

Remarks

NAServiceAreaSolver is a Network Analyst solver that computes the service area, or a polygon that surrounds all of the network locations that are within a specified cost-distance of a facility. For example, it can compute a three minute drive time polygon around a facility. More than one break value can be specified. For example, if solving on drivetime, break values of 5.0, 10.0, and 15.0 will compute three polygons at distances of 5, 10 and 15 minutes from the facility location. The actual set of edges traversed can also be generated separately. Multiple facilities will generate multiple, possibly overlapping service area lines and polygons. The overlapping polygons can be merged together and the overlapping lines can be made non-overlapping. Measure values can also be assigned to the service area lines. The NAServiceAreaSolver 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
NAServiceAreaSolver()
          Constructs a NAServiceAreaSolver using ArcGIS Engine.
NAServiceAreaSolver(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
NAServiceAreaSolver theNAServiceAreaSolver = (NAServiceAreaSolver) 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.
 IDoubleArray getDefaultBreaks()
          The default break(s) of the traversal.
 String getDisplayName()
          The display name of the solver.
 IStringArray getExcludeSourcesFromPolygons()
          A collection of network source names to NOT use when generating polygons.
 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()
          The type of line(s) generated.
 int getOutputPolygons()
          The type of polygon(s) 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.
 double getTrimPolygonDistance()
          If polygons are being trimmed, provides the distance to trim.
 int getTrimPolygonDistanceUnits()
          If polygons are being trimmed, provides the units of the distance to trim.
 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 isIncludeSourceInformationOnLines()
          Indicates if the lines will have SourceID, SourceOID, from and to position information added.
 boolean isMergeSimilarPolygonRanges()
          Indicates if similar ranges should be merged in the result polygons.
 boolean isOverlapLines()
          Indicates if lines should overlap from multiple facilities.
 boolean isOverlapPolygons()
          Indicates if the polygons for all facilities should not overlap.
 boolean isResetHierarchyRangesOnBind()
          Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound.
 boolean isSplitLinesAtBreaks()
          Indicates if lines should be split at breaks.
 boolean isSplitPolygonsAtBreaks()
          Indicates if polygons should be split at break values.
 boolean isTrimOuterPolygon()
          Indicates if the outermost polygon (at the maximum break value) will be trimmed.
 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 setDefaultBreaks(IDoubleArray value)
          The default break(s) of the traversal.
 void setExcludeSourcesFromPolygons(IStringArray networkSourceNames)
          A collection of network source names to NOT use when generating polygons.
 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 setIncludeSourceInformationOnLines(boolean value)
          Indicates if the lines will have SourceID, SourceOID, from and to position information added.
 void setMaxValueForHierarchy(int level, int value)
          The maximum value of the hierarchy attribute.
 void setMergeSimilarPolygonRanges(boolean value)
          Indicates if similar ranges should be merged in the result polygons.
 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)
          The type of line(s) generated.
 void setOutputPolygons(int value)
          The type of polygon(s) generated.
 void setOverlapLines(boolean value)
          Indicates if lines should overlap from multiple facilities.
 void setOverlapPolygons(boolean value)
          Indicates if the polygons for all facilities should not overlap.
 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 setSplitLinesAtBreaks(boolean value)
          Indicates if lines should be split at breaks.
 void setSplitPolygonsAtBreaks(boolean value)
          Indicates if polygons should be split at break values.
 void setTravelDirection(int value)
          The direction of the traversal.
 void setTrimOuterPolygon(boolean value)
          Indicates if the outermost polygon (at the maximum break value) will be trimmed.
 void setTrimPolygonDistance(double distance)
          If polygons are being trimmed, provides the distance to trim.
 void setTrimPolygonDistanceUnits(int units)
          If polygons are being trimmed, provides the units of the distance to trim.
 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

NAServiceAreaSolver

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

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

NAServiceAreaSolver

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

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

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.

getTravelDirection

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

Remarks

TravelDirection specifies if it is traveling from the facility (default) or traveling to the facility.

This can make a difference in the computed service area if there are oneway restrictions, turn restrictions, or different travel cost attributes for each side of the street in the network.

Product Availability

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

Specified by:
getTravelDirection in interface INAServiceAreaSolver
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 specifies if it is traveling from the facility (default) or traveling to the facility.

This can make a difference in the computed service area if there are oneway restrictions, turn restrictions, or different travel cost attributes for each side of the street in the network.

Product Availability

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

Specified by:
setTravelDirection in interface INAServiceAreaSolver
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.

getDefaultBreaks

public IDoubleArray getDefaultBreaks()
                              throws IOException,
                                     AutomationException
The default break(s) of the traversal.

Remarks

DefaultBreaks specifies how many rings to compute around each facility.

The breaks are specified as a double array of numbers like 2.0, 4.0, 6.0. This will result in three polygons around the facility at 2.0, 4.0 and 6.0 cumulative attribute value units from each facility.

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

Product Availability

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

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

setDefaultBreaks

public void setDefaultBreaks(IDoubleArray value)
                      throws IOException,
                             AutomationException
The default break(s) of the traversal.

Remarks

DefaultBreaks specifies how many rings to compute around each facility.

The breaks are specified as a double array of numbers like 2.0, 4.0, 6.0. This will result in three polygons around the facility at 2.0, 4.0 and 6.0 cumulative attribute value units from each facility.

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

Product Availability

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

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

isSplitPolygonsAtBreaks

public boolean isSplitPolygonsAtBreaks()
                                throws IOException,
                                       AutomationException
Indicates if polygons should be split at break values.

Remarks

SplitPolygonsAtBreaks specifies to the solver if the service area polygons will be split at the specified breaks. If they are not split, each break value gets a polygon starting from the start facility. If they are split at break values, then each polygon is like a donut (i.e., starts at the previous break value and ends at the next break value).

Product Availability

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

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

setSplitPolygonsAtBreaks

public void setSplitPolygonsAtBreaks(boolean value)
                              throws IOException,
                                     AutomationException
Indicates if polygons should be split at break values.

Remarks

SplitPolygonsAtBreaks specifies to the solver if the service area polygons will be split at the specified breaks. If they are not split then each break value gets a polygon starting from the start facility. If they are split at break values, then each polygon is like a donut (i.e. starts at the previous break value and ends at the next break value).

Product Availability

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

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

isOverlapLines

public boolean isOverlapLines()
                       throws IOException,
                              AutomationException
Indicates if lines should overlap from multiple facilities.

Remarks

OverlapLines specifies if the service area lines of two or more facilities will overlap and return coincident features.

A break value of 3.0 minutes will return all of the lines that can be reached within 3.0 minutes of the facility. If OverlapLines is set to false then only the line to the closest facility will be returned. In cases where parts of a line correspond to different facilities, the single line will be split and the two resulting lines will be apportioned appropriately.

Product Availability

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

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

setOverlapLines

public void setOverlapLines(boolean value)
                     throws IOException,
                            AutomationException
Indicates if lines should overlap from multiple facilities.

Remarks

OverlapLines specifies if the service area lines of two or more facilities will overlap and return coincident features.

A break value of 3.0 minutes will return all of the lines that can be reached within 3.0 minutes of the facility. If OverlapLines is set to false then only the line to the closest facility will be returned. In cases where parts of a line correspond to different facilities, the single line will be split and the two resulting lines will be apportioned appropriately.

Product Availability

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

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

getExcludeSourcesFromPolygons

public IStringArray getExcludeSourcesFromPolygons()
                                           throws IOException,
                                                  AutomationException
A collection of network source names to NOT use when generating polygons.

Remarks

ExcludeSourcesFromPolygons specifies if certain network sources should be excluded from the service area polygon generation. A service area on a multi-modal network where only one mode is being used to compute the service area would get a more appropriate shape if other modes are excluded from the polygons.

Product Availability

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

Specified by:
getExcludeSourcesFromPolygons in interface INAServiceAreaSolver
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.

setExcludeSourcesFromPolygons

public void setExcludeSourcesFromPolygons(IStringArray networkSourceNames)
                                   throws IOException,
                                          AutomationException
A collection of network source names to NOT use when generating polygons.

Remarks

ExcludeSourcesFromPolygons specifies if certain network sources should be excluded from the service area polygon generation. A service area on a multi-modal network where only one mode is being used to compute the service area would get a more appropriate shape if other modes are excluded from the polygons.

Product Availability

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

Specified by:
setExcludeSourcesFromPolygons in interface INAServiceAreaSolver
Parameters:
networkSourceNames - 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.

isMergeSimilarPolygonRanges

public boolean isMergeSimilarPolygonRanges()
                                    throws IOException,
                                           AutomationException
Indicates if similar ranges should be merged in the result polygons.

Remarks

MergeSimillarPolygons specifies if polygons with same break values from different facilities should be merged together.

Product Availability

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

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

setMergeSimilarPolygonRanges

public void setMergeSimilarPolygonRanges(boolean value)
                                  throws IOException,
                                         AutomationException
Indicates if similar ranges should be merged in the result polygons.

Remarks

MergeSimillarPolygons specifies if polygons with same break values from different facilities should be merged together.

Product Availability

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

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

isSplitLinesAtBreaks

public boolean isSplitLinesAtBreaks()
                             throws IOException,
                                    AutomationException
Indicates if lines should be split at breaks.

Remarks

SplitLinesAtBreaks specifies if the service area lines will be split at the break values.

A service area with a set of break values like 2.0, 4.0, 6.0 will normally only return each edge in the input network with its from and to cumulative cost attribute. If this property is set to true, service area lines are also split at the location where the actual value of the break is reached.

Product Availability

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

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

setSplitLinesAtBreaks

public void setSplitLinesAtBreaks(boolean value)
                           throws IOException,
                                  AutomationException
Indicates if lines should be split at breaks.

Remarks

SplitLinesAtBreaks specifies if the service area lines will be split at the break values.

A service area with a set of break values like 2.0, 4.0, 6.0 will normally only return each edge in the input network with its from and to cumulative cost attribute. If this property is set to true, service area lines are also split at the location where the actual value of the break is reached.

Product Availability

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

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

getOutputPolygons

public int getOutputPolygons()
                      throws IOException,
                             AutomationException
The type of polygon(s) generated.

Remarks

OutputPolygons specifies if the service area polygons should be generated or not.

If they are to be generated, it specifies the type of polygons to be generated. For example, the choice could be simplified, detailed, or none. The detailed option accurately models the service area lines and may contain islands of unreached areas. The simplified option runs faster but is not as accurate at some fringes.

Product Availability

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

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

setOutputPolygons

public void setOutputPolygons(int value)
                       throws IOException,
                              AutomationException
The type of polygon(s) generated.

Remarks

OutputPolygons specifies if the service area polygons should be generated or not.

If they are to be generated it specifies the type of polygons to be generated. For example, the choice could be simplified, detailed or none. The detailed option accurately models the service area lines and may contain islands of unreached areas. The simplified option runs faster but is not as accurate at some fringes.

Product Availability

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

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

getOutputLines

public int getOutputLines()
                   throws IOException,
                          AutomationException
The type of line(s) generated.

Remarks

OutputLines specifies the type of lines to be generated by the service area solver. The choice is to the generate the lines with or without measures or to generate no lines.

Product Availability

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

Specified by:
getOutputLines in interface INAServiceAreaSolver
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
The type of line(s) generated.

Remarks

OutputLines specifies the type of lines to be generated by the service area solver. The choice is to the generate the lines with or without measures or to generate no lines.

Product Availability

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

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

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.

setOverlapPolygons

public void setOverlapPolygons(boolean value)
                        throws IOException,
                               AutomationException
Indicates if the polygons for all facilities should not overlap.

Remarks

If OverlapPolygons is true, service area polygons from multiple facilities may overlap. If set to false, the service area polygons generated will not overlap and each polygon will encompass the area reached by the closest facility.

Product Availability

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

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

isOverlapPolygons

public boolean isOverlapPolygons()
                          throws IOException,
                                 AutomationException
Indicates if the polygons for all facilities should not overlap.

Remarks

If OverlapPolygons is true, service area polygons from multiple facilities may overlap. If set to false, the service area polygons generated will not overlap and each polygon will encompass the area reached by the closest facility.

Product Availability

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

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

setIncludeSourceInformationOnLines

public void setIncludeSourceInformationOnLines(boolean value)
                                        throws IOException,
                                               AutomationException
Indicates if the lines will have SourceID, SourceOID, from and to position information added.

Remarks

IncludeSourceInformationOnLines specifies if the SourceID, SourceOID, FromPosition and ToPosition fields on the SALines feature class will be populated or not. If this property is set to true, you can use these fields on the SALines to determine the source features and position along the feature that were part of the service area.

Product Availability

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

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

isIncludeSourceInformationOnLines

public boolean isIncludeSourceInformationOnLines()
                                          throws IOException,
                                                 AutomationException
Indicates if the lines will have SourceID, SourceOID, from and to position information added.

Remarks

IncludeSourceInformationOnLines specifies if the SourceID, SourceOID, FromPosition and ToPosition fields on the SALines feature class will be populated or not. If this property is set to true, you can use these fields on the SALines to determine the source features and position along the feature that were part of the service area.

Product Availability

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

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

setTrimOuterPolygon

public void setTrimOuterPolygon(boolean value)
                         throws IOException,
                                AutomationException
Indicates if the outermost polygon (at the maximum break value) will be trimmed.

Remarks

If this is true, the outer polygon will be adjusted to be within the TrimPolygonDistance of the source features. It is used to make the outer ring more cartographically pleasing by shrinking it to within a specified distance. This operation is not the same as clipping or buffering.

Small values for TrimPolygonDistance will increase processing time and may result in unusual looking polygons.

Product Availability

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

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

isTrimOuterPolygon

public boolean isTrimOuterPolygon()
                           throws IOException,
                                  AutomationException
Indicates if the outermost polygon (at the maximum break value) will be trimmed.

Remarks

If this is true, the outer polygon will be adjusted to be within the TrimPolygonDistance of the source features. It is used to make the outer ring more cartographically pleasing by shrinking it to within a specified distance. This operation is not the same as clipping or buffering.

Small values for TrimPolygonDistance will increase processing time and may result in unusual looking polygons.

Product Availability

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

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

setTrimPolygonDistance

public void setTrimPolygonDistance(double distance)
                            throws IOException,
                                   AutomationException
If polygons are being trimmed, provides the distance to trim.

Remarks

TrimPolygonDistance specifies the distance (based on units specified by TrimPolygonDistanceUnits) that the outer service area polygon should be from the source features. This is useful to reduce the area of the outer service area polygon in sparse networks.

Product Availability

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

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

getTrimPolygonDistance

public double getTrimPolygonDistance()
                              throws IOException,
                                     AutomationException
If polygons are being trimmed, provides the distance to trim.

Remarks

TrimPolygonDistance specifies the distance (based on units specified by TrimPolygonDistanceUnits) that the outer service area polygon should be from the source features. This is useful to reduce the area of the outer service area polygon in sparse networks.

Product Availability

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

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

setTrimPolygonDistanceUnits

public void setTrimPolygonDistanceUnits(int units)
                                 throws IOException,
                                        AutomationException
If polygons are being trimmed, provides the units of the distance to trim.

Remarks

TrimPolygonDistanceUnits specifies the length units used by TrimPolygonDistance to specify the distance the outer service area polygon should be from the source features. This is useful to reduce the area of the outer service area polygon in sparse networks.

Product Availability

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

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

getTrimPolygonDistanceUnits

public int getTrimPolygonDistanceUnits()
                                throws IOException,
                                       AutomationException
If polygons are being trimmed, provides the units of the distance to trim.

Remarks

TrimPolygonDistanceUnits specifies the length units used by TrimPolygonDistance, which in turn limits the distance of the outer service-area polygon from the source features. This is useful to reduce the area of the outer service area polygon in sparse networks.

Product Availability

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

Specified by:
getTrimPolygonDistanceUnits in interface INAServiceAreaSolver2
Returns:
A com.esri.arcgis.system.esriUnits constant
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.

Product Availability

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

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

isCreateTraversalResult

public boolean isCreateTraversalResult()
                                throws IOException,
                                       AutomationException
Indicates if a traversal result is created.

Product Availability

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

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

setOutputGeometryPrecision

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

Remarks

The precision of the output geometry after generalization.

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