com.esri.arcgis.spatialanalyst
Class RasterDistanceOp

java.lang.Object
  extended by com.esri.arcgis.spatialanalyst.RasterDistanceOp
All Implemented Interfaces:
IGeoAnalysisEnvironment, IRasterAnalysisEnvironment, com.esri.arcgis.interop.RemoteObjRef, IDistanceOp, IDistanceOp2, ISupportErrorInfo, Serializable

public class RasterDistanceOp
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IRasterAnalysisEnvironment, IDistanceOp, IDistanceOp2, ISupportErrorInfo

A mechanism for performing distance operations on rasters.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
RasterDistanceOp()
          Constructs a RasterDistanceOp using ArcGIS Engine.
RasterDistanceOp(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
RasterDistanceOp theRasterDistanceOp = (RasterDistanceOp) obj;
 
Method Summary
 IGeoDataset corridor(IGeoDataset distance1, IGeoDataset distance2)
          Calculates for each cell location the sum of the accumulative costs for two input accumulative-cost datasets.
 IGeoDataset costAllocation(IGeoDataset sourceData, IGeoDataset costRaster, Object maxDistance, Object valueRaster)
          Calculates for each output cell the zone that could be reached with the least accumulative cost.
 IGeoDataset costBackLink(IGeoDataset sourceData, IGeoDataset costRaster, Object maxDistance, Object valueRaster)
          Calculates the neighbor that is the next cell on the least-accumulative-cost path from a cell to a source cell.
 IGeoDataset costDistance(IGeoDataset sourceData, IGeoDataset costRaster, Object maxDistance, Object valueRaster)
          Calculates for each cell the least-accumulative-cost distance over a cost surface to a source cell or a set of source cells.
 IGeoDataset costDistanceFull(IGeoDataset sourceData, IGeoDataset costRaster, boolean distance, boolean backlink, boolean allocation, Object maxDistance, Object valueRaster)
          Calculates for each cell the least-accumulative-cost distance, backlink, and allocation over a cost surface to a source cell or a set of source cells.
 IGeoDataset costPath(IGeoDataset fromData, IGeoDataset distance, IGeoDataset backlink, int pathType)
          Calculates the least-cost path(s) from selected cell(s) in the input data to the closest source cell.
 IGeometryCollection costPathAsPolyline(IPointCollection sourcePoints, IGeoDataset distance, IGeoDataset backlink)
          Calculates the least-cost path(s) from selected points in the input data and returns it as a polyline.
 boolean equals(Object o)
          Compare this object with another
 IGeoDataset eucAllocation(IGeoDataset sourceData, Object maxDistance, Object valueRaster)
          Calculates for each cell the zone of the closest source cell (in Euclidean distance).
 IGeoDataset eucDirection(IGeoDataset sourceData, Object maxDistance, Object valueRaster)
          Calculates the direction in degrees from each cell center to the cell center of the closest source.
 IGeoDataset eucDistance(IGeoDataset sourceData, Object maxDistance, Object valueRaster)
          Calculates for each cell the Euclidean distance to the closest source.
 IGeoDataset eucDistanceFull(IGeoDataset sourceData, boolean distance, boolean direction, boolean allocation, Object maxDistance, Object valueRaster)
          Calculates for each cell optionally the Euclidean distance, direction, and allocation to the closest source.
 void getCellSize(int[] envType, double[] cellSize)
          Gets the type and value of cell size in the RasterAnalysis.
static String getClsid()
          getClsid.
 String getDefaultOutputRasterPrefix()
          The default output raster prefix.
 String getDefaultOutputVectorPrefix()
          The default output vector prefix.
 void getExtent(int[] envType, IEnvelope[] extent)
          Gets the type and values of extent in the RasterAnalysis.
 IGeoDataset getMask()
          Mask allows processing to occur only for a selected set of cells.
 ISpatialReference getOutSpatialReference()
          The output spatial reference of GeoAnalysis.
 IWorkspace getOutWorkspace()
          The output workspace of GeoAnalysis.
 int getVerifyType()
          The verify type of the RasterAnalysis.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 IGeoDataset pathAllocation(IGeoDataset sourceData, Object costRaster, Object surfaceRaster, Object horizRaster, Object horizFactor, Object vertRaster, Object vertFactor, Object maxDistance, Object valueRaster)
          Calculates for each output cell the zone that could be reached with the least accumulative cost.
 IGeoDataset pathBackLink(IGeoDataset sourceData, Object costRaster, Object surfaceRaster, Object horizRaster, Object horizFactor, Object vertRaster, Object vertFactor, Object maxDistance, Object valueRaster)
          Calculates the neighbor that is the next cell on the least-accumulative-path path from a cell to a source cell.
 IGeoDataset pathDistance(IGeoDataset sourceData, Object costRaster, Object surfaceRaster, Object horizRaster, Object horizFactor, Object vertRaster, Object vertFactor, Object maxDistance, Object valueRaster)
          Calculates for each cell the least-accumulative-path distance over a path surface to a source cell or a set of source cells.
 IGeoDataset pathDistanceFull(IGeoDataset sourceData, boolean distance, boolean backlink, boolean allocation, Object costRaster, Object surfaceRaster, Object horizRaster, Object horizFactor, Object vertRaster, Object vertFactor, Object maxDistance, Object valueRaster)
          Calculates for each cell the least-accumulative-cost distance, backlink, and allocation over a cost surface to a source cell or a set of source cells.
 void reset()
          Remove all previously stored default rasteranalysis environments.
 void restoreToPreviousDefaultEnvironment()
          Restores to the previous default raster analysis environment.
 void setAsNewDefaultEnvironment()
          Sets the raster analysis environment of the object as new default environment.
 void setCellSize(int envType, Object cellSizeProvider)
          Sets the type and value of cell size in the RasterAnalysis.
 void setDefaultOutputRasterPrefix(String rasterPrefix)
          The default output raster prefix.
 void setDefaultOutputVectorPrefix(String vectorPrefix)
          The default output vector prefix.
 void setExtent(int envType, Object extentProvider, Object snapRasterData)
          Sets the type and values of extent in the RasterAnalysis.
 void setMaskByRef(IGeoDataset mask)
          Mask allows processing to occur only for a selected set of cells.
 void setOutSpatialReferenceByRef(ISpatialReference spatialReference)
          The output spatial reference of GeoAnalysis.
 void setOutWorkspaceByRef(IWorkspace workspace)
          The output workspace of GeoAnalysis.
 void setVerifyType(int verifyType)
          The verify type of the RasterAnalysis.
 
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

RasterDistanceOp

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

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

RasterDistanceOp

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

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

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

setCellSize

public void setCellSize(int envType,
                        Object cellSizeProvider)
                 throws IOException,
                        AutomationException
Sets the type and value of cell size in the RasterAnalysis.

Remarks

envType

An enumeration type specifying the raster cellsize environment settings for analysis. All subsequent results will be to the value specified. It can be of type

esriRasterEnvMaxOf The largest cell size of all input raster datasets that are specifed in the function. This is the default.

This option is not suitable for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only inputs. Use esriRasterEnvValue instead.

esriRasterEnvMinOf - Smallest cell size of all input raster datasets.

This option is not suitable for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only inputs. Use esriRasterEnvValue instead

esriRasterEnvValue - Any user specified value for the cell size.

Use this option to specify a particular value for a cell size or for methods such as IInterpolationOp::IDW, IDensityOp:KernalDensity etc. where features are the only input.

[cellSizeProvider]

A specified value (double) or RasterDataset that is used to provide the cellsize environment value.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setCellSize in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (in)
cellSizeProvider - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCellSize

public void getCellSize(int[] envType,
                        double[] cellSize)
                 throws IOException,
                        AutomationException
Gets the type and value of cell size in the RasterAnalysis.

Remarks

envType

will return an enumeration type constant specifying the raster cellsize environment settings for analysis. It can be of type

esriRasterEnvMaxOf - largest cell size of all input datasets. This is the default.

esriRasterEnvMinOf - smallest cell size of all input datasets

esriRasterEnvValue - User specified value.

cellsize

returns a value that specifying the current environment setting for cellsize

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCellSize in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (out: use single element array)
cellSize - The cellSize (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExtent

public void setExtent(int envType,
                      Object extentProvider,
                      Object snapRasterData)
               throws IOException,
                      AutomationException
Sets the type and values of extent in the RasterAnalysis.

Remarks

envType

An enumeration type specifying the raster extent environment settings for analysis. All subsequent results will be to this extent. It can be of type

esriRasterEnvMinOf Intersection of Inputs - All input feature extents are intersected and the extent common to all is used as the extent values for the study area. This is the default.

esriRasterEnvMaxOf - Union of Inputs - All input feature extents are combined and the outer extent of the union is used.

esriRasterEnvValue - Value - User specified values for the Left, Right, Top and Bottom extent (x, y values) of the study area.

[extentProvider]

An envelope object supporting IEnvelope interface or RasterDataset that is used to provide the environment values of the analysis extent.

[snapRasterData]

A RasterDataset that can be used to snap all output raster datasets to the cell registration of the specified raster. All subsequent results will share the lower-left corner and cell size of the specified raster.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setExtent in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (in)
extentProvider - A Variant (in, optional, pass null if not required)
snapRasterData - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtent

public void getExtent(int[] envType,
                      IEnvelope[] extent)
               throws IOException,
                      AutomationException
Gets the type and values of extent in the RasterAnalysis.

Remarks

envType

will return an enumeration constant specifying the raster extent environment settings for analysis. It can be of type,

esriRasterEnvMinOf Intersection of Inputs - All input feature extents are intersected and the extent common to all is used as the extent values for the study area. This is the default.

esriRasterEnvMaxOf - Union of Inputs - All input feature extents are combined and the outer extent of the union is used.

esriRasterEnvValue - Value - User specified values for the Left, Right, Top and Bottom extent (x, y values) of the study area.

extent

An envelope object supporting IEnvelope interface used to describe the values of the analysis extent.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtent in interface IRasterAnalysisEnvironment
Parameters:
envType - A com.esri.arcgis.geoanalyst.esriRasterEnvSettingEnum constant (out: use single element array)
extent - A reference to a com.esri.arcgis.geometry.IEnvelope (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaskByRef

public void setMaskByRef(IGeoDataset mask)
                  throws IOException,
                         AutomationException
Mask allows processing to occur only for a selected set of cells.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getMask

public IGeoDataset getMask()
                    throws IOException,
                           AutomationException
Mask allows processing to occur only for a selected set of cells.

Remarks

The mask can be a reference to a Raster, RasterDataset, RasterBand, or RasterDescriptor object or FeatureClass, FeatureClassDescriptor object.

The mask identifies only those cells within the analysis extent that will be considered when performing an action. Only the identified cells will be processed in subsequent output raster datasets. All other cells are characterized as nodata.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setVerifyType

public void setVerifyType(int verifyType)
                   throws IOException,
                          AutomationException
The verify type of the RasterAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setVerifyType in interface IRasterAnalysisEnvironment
Parameters:
verifyType - A com.esri.arcgis.geoanalyst.esriRasterVerifyEnum constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVerifyType

public int getVerifyType()
                  throws IOException,
                         AutomationException
The verify type of the RasterAnalysis.

Remarks

The value is an enumeration environment setting that contols the way that an output RasterDatasets are written to file when during analysis. The verify enumeration can be of type

esriRasterEnvVerifyOn - specifies that the user will be prompted to verify the output already exists and it is okay to overwrite it

esriRasterEnvVerifyOff - specifies that output data will be automatically overwritten if already exists. This is the default environment setting.

esriRasterEnvVerifyError - specifies that an error will be produced when the output already exists.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getVerifyType in interface IRasterAnalysisEnvironment
Returns:
A com.esri.arcgis.geoanalyst.esriRasterVerifyEnum constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDefaultOutputRasterPrefix

public String getDefaultOutputRasterPrefix()
                                    throws IOException,
                                           AutomationException
The default output raster prefix.

Remarks

The user specified prefix which is included to all temporary output RasterDatasets during analysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDefaultOutputRasterPrefix

public void setDefaultOutputRasterPrefix(String rasterPrefix)
                                  throws IOException,
                                         AutomationException
The default output raster prefix.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getDefaultOutputVectorPrefix

public String getDefaultOutputVectorPrefix()
                                    throws IOException,
                                           AutomationException
The default output vector prefix.

Remarks

The user specified prefix which is included to all temporary output Shapefiles during analysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setDefaultOutputVectorPrefix

public void setDefaultOutputVectorPrefix(String vectorPrefix)
                                  throws IOException,
                                         AutomationException
The default output vector prefix.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setAsNewDefaultEnvironment

public void setAsNewDefaultEnvironment()
                                throws IOException,
                                       AutomationException
Sets the raster analysis environment of the object as new default environment.

Remarks

Will set all current environment settings of the RasterAnalysis object as the new default environment. All subsequent analysis will use the set object properties unless otherwise specified.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

restoreToPreviousDefaultEnvironment

public void restoreToPreviousDefaultEnvironment()
                                         throws IOException,
                                                AutomationException
Restores to the previous default raster analysis environment.

Remarks

This will restore the default environment to the settings of the "previous" RasterAnalysisEnvironment object used to set the default environement. Note: If multiple default environments have been set it will reference the past settings one at a time in order of sequence.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

reset

public void reset()
           throws IOException,
                  AutomationException
Remove all previously stored default rasteranalysis environments.

Remarks

This method can be used to restore the system default raster environment settings for extent, cell size, precision, spatial reference and/or current workspace for analysis. This will change all previously altered environment settings made to the RasterAnlaysis object back to the original settings.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setOutWorkspaceByRef

public void setOutWorkspaceByRef(IWorkspace workspace)
                          throws IOException,
                                 AutomationException
The output workspace of GeoAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getOutWorkspace

public IWorkspace getOutWorkspace()
                           throws IOException,
                                  AutomationException
The output workspace of GeoAnalysis.

Remarks

The variable is an object specifying the directory or subdirectory to contain the output rasterdataset

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setOutSpatialReferenceByRef

public void setOutSpatialReferenceByRef(ISpatialReference spatialReference)
                                 throws IOException,
                                        AutomationException
The output spatial reference of GeoAnalysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setOutSpatialReferenceByRef in interface IGeoAnalysisEnvironment
Parameters:
spatialReference - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutSpatialReference

public ISpatialReference getOutSpatialReference()
                                         throws IOException,
                                                AutomationException
The output spatial reference of GeoAnalysis.

Remarks

The variable references an object that specifies the output features spatial reference. If not explicitly set the spatial reference of the input features will be used.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

eucDistance

public IGeoDataset eucDistance(IGeoDataset sourceData,
                               Object maxDistance,
                               Object valueRaster)
                        throws IOException,
                               AutomationException
Calculates for each cell the Euclidean distance to the closest source.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations whose values are assigned to the output cell locations that they are closest to. For rasters, the input value type can be an integer type, string type, or floating point type if in_value_raster is used.

[maxDistance]

Defines the threshold that the Euclidean distance values cannot exceed. If a cell is farther than the [maxDistance], the output value for the cell location will be NoData. The default distance is to the edge of the output Raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An input Raster that identifies the values to associate with the source cell locations. The source cells define the zones that will be used in the Euclidean distance calculations. The [valueRaster] is particularly important if the source Raster was created by the ILogicalOp::Test method or a Boolean operator that will only output 1 and 0, or if alternative values or zones are to be used instead of the existing ones on the source input. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
eucDistance in interface IDistanceOp
Specified by:
eucDistance in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

eucDistanceFull

public IGeoDataset eucDistanceFull(IGeoDataset sourceData,
                                   boolean distance,
                                   boolean direction,
                                   boolean allocation,
                                   Object maxDistance,
                                   Object valueRaster)
                            throws IOException,
                                   AutomationException
Calculates for each cell optionally the Euclidean distance, direction, and allocation to the closest source.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations whose values are assigned to the output cell locations that they are closest to. For rasters, the input value type can be an integer type, string type, or floating point type if in_value_raster is used.

distance

A Boolean and if True an output (Euclidean) distance Raster will be created. The distance Raster calculates for each cell the Euclidean distance to the closest source.

direction

a Boolean and if True an output (Euclidean) direction Raster will be created. The direction Raster contains the calculated direction in degrees each cell center is from the closest source cell center. The range of values is from 0 to 360, with 0 being reserved for the source cells. Due east (right) is 90 and the values increase clockwise (180, south; 270, west; and 360, north).

allocation

A Boolean and if True an output (Euclidean) allocation Raster will be created. For each cell, the allocation Raster identifies the zone of the closest source cell (in Euclidean distance)..

[maxDistance]

Defines the threshold that the Euclidean distance values cannot exceed. If a cell is farther than the [maxDistance], the output value for the cell location will be NoData. The default distance is to the edge of the output Raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An input Raster that identifies the values to associate with the source cell locations. The source cells define the zones that will be used in the Euclidean distance calculations. The [valueRaster] is particularly important if the source Raster was created by the ILogicalOp::Test method or a Boolean operator that will only output 1 and 0, or if alternative values or zones are to be used instead of the existing ones on the source input. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
eucDistanceFull in interface IDistanceOp
Specified by:
eucDistanceFull in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
distance - The distance (in)
direction - The direction (in)
allocation - The allocation (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

eucAllocation

public IGeoDataset eucAllocation(IGeoDataset sourceData,
                                 Object maxDistance,
                                 Object valueRaster)
                          throws IOException,
                                 AutomationException
Calculates for each cell the zone of the closest source cell (in Euclidean distance).

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations whose values are assigned to the output cell locations that they are closest to. For rasters, the input value type can be an integer type, string type, or floating point type if in_value_raster is used.

[maxDistance]

defines the threshold that the Euclidean distance values cannot exceed. If a cell is farther than the [maxDistance], the output value for the cell location will be NoData. The default distance is to the edge of the output Raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

an input Raster that identifies the values to associate with the source cell locations. The source cells define the zones that will be used in the Euclidean allocation calculations. The [valueRaster] is particularly important if the source Raster was created by the ILogicalOp::TEST method or a Boolean method that will only output 1 and 0, or if alternative values or zones are to be used instead of the existing ones on the source input. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
eucAllocation in interface IDistanceOp
Specified by:
eucAllocation in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

eucDirection

public IGeoDataset eucDirection(IGeoDataset sourceData,
                                Object maxDistance,
                                Object valueRaster)
                         throws IOException,
                                AutomationException
Calculates the direction in degrees from each cell center to the cell center of the closest source.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations whose values are assigned to the output cell locations that they are closest to. For rasters, the input value type can be an integer type, string type, or floating point type if in_value_raster is used.

[maxDistance]

defines the threshold that the Euclidean distance values cannot exceed. If a cell is farther than the [maxDistance], the output value for the cell location will be NoData. The default distance is to the edge of the output Raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

an input Raster that identifies the values to associate with the source cell locations. The source cells define the zones that will be used in the Euclidean direction calculations. The [valueRaster] is particularly important if the source Raster was created by the ILogicalOp::TEST method or a Boolean operator that will only output 1 and 0, or if alternative values or zones are to be used instead of the existing ones on the source input. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
eucDirection in interface IDistanceOp
Specified by:
eucDirection in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costDistance

public IGeoDataset costDistance(IGeoDataset sourceData,
                                IGeoDataset costRaster,
                                Object maxDistance,
                                Object valueRaster)
                         throws IOException,
                                AutomationException
Calculates for each cell the least-accumulative-cost distance over a cost surface to a source cell or a set of source cells.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations to which the least accumulated cost distances for every cell is calculated

For Rasters, the input value types can be either integer, string or floating-point type if in_raster_value is used.

costRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[maxDistance]

defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

an optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costDistance in interface IDistanceOp
Specified by:
costDistance in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costAllocation

public IGeoDataset costAllocation(IGeoDataset sourceData,
                                  IGeoDataset costRaster,
                                  Object maxDistance,
                                  Object valueRaster)
                           throws IOException,
                                  AutomationException
Calculates for each output cell the zone that could be reached with the least accumulative cost.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations to which the least accumulated cost distances for every cell is calculated

For Rasters, the input value types can be either integer, string or floating-point type if in_raster_value is used.

costRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[maxDistance]

defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

an optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costAllocation in interface IDistanceOp
Specified by:
costAllocation in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costBackLink

public IGeoDataset costBackLink(IGeoDataset sourceData,
                                IGeoDataset costRaster,
                                Object maxDistance,
                                Object valueRaster)
                         throws IOException,
                                AutomationException
Calculates the neighbor that is the next cell on the least-accumulative-cost path from a cell to a source cell.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations to which the least accumulated cost distances for every cell is calculated

For Rasters, the input value types can be either integer, string or floating-point type if in_raster_value is used.

costRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell. The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost)

[maxDistance]

defines the threshold that the accumulative cost values cannot exceed. If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point

[valueRaster]

an optional input Raster that identifies the zone values that should be used for each cell on the sourceData. The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costBackLink in interface IDistanceOp
Specified by:
costBackLink in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costDistanceFull

public IGeoDataset costDistanceFull(IGeoDataset sourceData,
                                    IGeoDataset costRaster,
                                    boolean distance,
                                    boolean backlink,
                                    boolean allocation,
                                    Object maxDistance,
                                    Object valueRaster)
                             throws IOException,
                                    AutomationException
Calculates for each cell the least-accumulative-cost distance, backlink, and allocation over a cost surface to a source cell or a set of source cells.

Remarks

sourceData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations to which the least accumulated cost distances for every cell is calculated

For Rasters, the input value types can be either integer, string or floating-point type if in_raster_value is used.

costRaster

an input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

distance

a Boolean that if True will create an output Raster that for each cell the least-accumulative-cost distance is calculated over a cost surface, the costRaster, to a source cell or a set of source cells specified in the sourceData

backlink

a Boolean that if True will create an output cost back link Raster

The back link Raster contains values from 0 through 8, which defines the direction or identifies the next neighboring cell (the succeeding cell) along the least acaccumulative cost path from a cell to reach a source.

If the path is to pass into the right neighbor, the cell will be assigned the value '1', '2' for the lower-right diagonal cell and continuing clockwise. The value '0' is reserved for source cells.

allocation

a Boolean that if True will create an output cost allocation Raster

The cost allocation raster identifies, for each cell, which source would require the least accumulative cost to reach.

[maxDistance]

defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

an optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be of type Raster, RasterDataset, RasterBand, or RasterDescriptor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costDistanceFull in interface IDistanceOp
Specified by:
costDistanceFull in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
distance - The distance (in)
backlink - The backlink (in)
allocation - The allocation (in)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

corridor

public IGeoDataset corridor(IGeoDataset distance1,
                            IGeoDataset distance2)
                     throws IOException,
                            AutomationException
Calculates for each cell location the sum of the accumulative costs for two input accumulative-cost datasets.

Remarks

distance1

an input Raster which was the output accumulated cost Raster from the IDistance::CostDistance or other Cost methods

distance2

an input Raster which was the output accumulated cost Raster from the IDistance::CostDistance or other Cost methods

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
corridor in interface IDistanceOp
Specified by:
corridor in interface IDistanceOp2
Parameters:
distance1 - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
distance2 - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costPath

public IGeoDataset costPath(IGeoDataset fromData,
                            IGeoDataset distance,
                            IGeoDataset backlink,
                            int pathType)
                     throws IOException,
                            AutomationException
Calculates the least-cost path(s) from selected cell(s) in the input data to the closest source cell.

Remarks

fromData

an input Raster, RasterDataset, RasterBand, or RasterDescriptor or FeatureClass, FeatureClassDescriptor that identifies those cells or locations from which the least cost path is determined to the least costly source

The Raster consists of cells which are to be considered in the IDistance::CostPath method calculations having valid values ('0' is a valid value), and the remaining cells must be assigned to NoData

distance

the name of a cost distance Raster to be used to determine the least cost path from the fromRaster cell locations to a source

The distance Raster is usually created with the IDistanceOp::CostDistance method (or by the IDistanceOp::CostDistanceFull method). The distance Raster stores, for each cell, the minimum accumulative cost distance over a cost surface from each cell to a set of source cells.

backlink

the name of a cost back link Raster used to determine the path to return to a source via the least-cost path

For each cell in the back link raster, a value identifies the neighbor that is the next cell on the least accumulative cost path from the cell to a single or set of source cells.

pathType

a parameter defining the manner in which the values and zones on the fromData will be interpreted in the cost path calculations

There are three different esriGeoAnalysisPathEnum types:

esriGeoAnalysisPathForEachCell

For each cell with valid values on the fromData, a least-cost path is determined and saved on the output raster of the IDistance::CostPath method. With the for each cell parameter, each cell of the fromData input is treated separately, and a least-cost path is determined for each 'from' cell.

esriGeoAnalysisPathForEachZone

For each zone on the fromData, a single least-cost path is determined and saved on the output raster of the IDistance::CostPath method. With the for each zone parameter, for each zone, the least-cost path begins from the cell with the lowest cost distance weighting in the zone.

esriGeoAnalysisPathForBestSingle

For all cells on the fromData input, the least cost path is derived from the cell with the minimum of the least cost paths to source cells.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costPath in interface IDistanceOp
Specified by:
costPath in interface IDistanceOp2
Parameters:
fromData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
distance - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
backlink - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
pathType - A com.esri.arcgis.spatialanalyst.esriGeoAnalysisPathEnum constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

costPathAsPolyline

public IGeometryCollection costPathAsPolyline(IPointCollection sourcePoints,
                                              IGeoDataset distance,
                                              IGeoDataset backlink)
                                       throws IOException,
                                              AutomationException
Calculates the least-cost path(s) from selected points in the input data and returns it as a polyline.

Remarks

sourcePoints

input collection of points which identifies the destinations in which the least cost path is routed to

distance

the name of a cost distance Raster to be used to determine the least cost path from the fromRaster cell locations to a source.

The distance Raster is usually created with the IDistanceOp::CostDistance method (or by the IDistanceOp::CostDistanceFull method). The distance Raster stores, for each cell, the minimum accumulative cost distance over a cost surface from each cell to a set of source cells.

backlink

the name of a cost back link Raster used to determine the path to return to a source via the least-cost path

For each cell in the back link raster, a value identifies the neighbor that is the next cell on the least accumulative cost path from the cell to a single or set of source cells.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
costPathAsPolyline in interface IDistanceOp
Specified by:
costPathAsPolyline in interface IDistanceOp2
Parameters:
sourcePoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
distance - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
backlink - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pathDistance

public IGeoDataset pathDistance(IGeoDataset sourceData,
                                Object costRaster,
                                Object surfaceRaster,
                                Object horizRaster,
                                Object horizFactor,
                                Object vertRaster,
                                Object vertFactor,
                                Object maxDistance,
                                Object valueRaster)
                         throws IOException,
                                AutomationException
Calculates for each cell the least-accumulative-path distance over a path surface to a source cell or a set of source cells.

Remarks

sourceData

An input Raster, RasterDataset, RasterBand, or RasterDescriptor that identifies those cells to which the least accumulated cost distances for every cell is calculated

The input value types can be either integer, string type or floating-point type

[costRaster]

An input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[surfaceRaster]

A raster identifying the z values at each cell location." " The values are used to calculate the actual surface distance that will be covered when passing between cells.

[horizRaster]

A raster defining the horizontal direction at each cell

[horizFactor]

Defines the relationship between the horizontal cost factor and the horizontal relative moving angle (HRMA)." " The input parameter may be one of several keywords (and modifiers) identifying a defined horizontal factor graph or an ASCII file that creates a custom graph. The graphs are used to identify the horizontal factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted.

The format for the horizontal parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the horizontal parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default horizontal parameter is BINARY.

Two acronyms are used in the explanations of the horizontal factor keywords and modifiers:

HF stands for the horizontal factor defining the horizontal difficulty that is encountered in moving from one cell to the next.

HRMA stands for the horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction.

Horizontal-factor keywords

BINARY - indicates that if the HRMA is less than the cut angle, the HF is set to the value associated with the zerofactor; otherwise, it is infinity.

FORWARD - establishes that only forward movement is allowed. The HRMA must be greater or equal to 0 and less than 90 (0 <= HRMA < 90). If the HRMA is greater than 0 and less than 45 degrees, the HF for the cell is set to the value associated with the zerofactor. If the HRMA is greater than or equal to 45 degrees, then the side value modifier value is used. The HF for any HRMA equal to or greater than 90 degrees is set to infinity.

LINEAR - defines that the HF is a linear function of the HRMA.

INVERSE_LINEAR - specifies that the HF is an inverse linear function of the HRMA.

TABLE - identifies that an ASCII file will be used to define the horizontal-factor graph used to determine the HFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the horizontal keywords

ZEROFACTOR - establishes the horizontal factor to be used when the HRMA is 0. This factor positions the y-intercept for any of the horizontal-factor functions.

CUTANGLE - defines the HRMA angle beyond which the HF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR horizontal-factor keywords. The slope is specified as a fraction of rise over run (i.e., 45 percent slope is 1/45, which is input as 0.02222).

SIDEVALUE - establishes the HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees for the FORWARD horizontal-factor keyword that is specified.

table_name - identifies the name of the ASCII table defining the HF. It is used in conjunction with the TABLE horizontal-factor keyword.

Default Values for Horizontal Factor Modifiers

Keywords         Zerofactor          Cutangle          Slope          Sidevalue

Binary               1.0                 45              -                -

Forward              0.5                 45(fixed)       -               1.0

Linear               0.5                 181            1/90              -

Inverse_linear       2.0                 180           -1/90              -

[vertRaster]

A raster defining the z value for each cell

[vertFactor]

Defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
The input parameter may be one of several keywords (and modifiers) identifying a defined vertical factor graph or an ASCII file creating a custom graph. The graphs are used to identify the vertical factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted. The format for the vertical parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the vertical parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default vertical parameter is SEC.

Two acronyms are used in the explanations of the vertical-factor keywords and modifiers:

VF stands for the vertical factor defining the vertical difficulty that is encountered moving from one cell to the next.
VRMA stands for the vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell.

Vertical-factor keywords

BINARY - specifies that if the VRMA is greater than the low-cut angle and less than the high-cut angle then the VF is set to the value associated with the zerofactor; otherwise, it is infinity.

LINEAR - indicates that the VF is a linear function of the VRMA.

SYM_LINEAR - defines that the VF is a linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

INVERSE_LINEAR - indicates that the VF is an inverse linear function of the VRMA.

SYM_INVERSE_LINEAR - identifies that the VF is an inverse linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

COS - defines the VF as the cosine-based function of the VRMA.

SEC - identifies the VF as the secant-based function of the VRMA.

COS-SEC - indicates that the VF is the cosine-based function of the VRMA when the VRMA is negative and the secant-based function of the VRMA when the VRMA is nonnegative.

SEC-COS - specifies that the VF is the secant-based function of the VRMA when the VRMA is negative and the cosine-based function of the VRMA when the VRMA is nonnegative.

TABLE - identifies that an ASCII file will be used to define the VFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the vertical-factor keywords

ZEROFACTOR - establishes the vertical factor to be used when the VRMA is 0. This factor positions the y-intercept of the specified function. By definition, the zerofactor is not applicable to any of the trigonometric vertical functions (COS, SEC, COS_SEC, or SEC_COS). The y-intercept is defined by these functions.

LCUTANGLE - defines the VRMA angle below which the VF will be set to infinity.

HCUTANGLE - defines the VRMA angle above which the VF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR vertical-factor keyword. The slope is specified as a fraction of rise over run (e.g., 45 percent slope is 1/45, which is input as 0.02222).

table_name - identifies the name of the ASCII file defining the VF. It is used in conjunction with the TABLE vertical-factor keyword.

Default Values for Vertical Factor Modifiers

Keywords                    Zerofactor     Lcutangle     Hcutangle     Slope     Cospower     Secpower

Binary                          1.0           -30            30          -           -           -

Linear                          1.0           -90            90         1/90         -           -

Sym_linear                      1.0           -90            90         1/90         -           -

Inverse_linear                  1.0           -45            45        -1/45         -           -

Sym_inverse_linear              1.0           -45            45        -1/44         -           - 

Cos                              -            -90            90          -          1.0          - 

Sec                              -            -90            90          -           -          1.0

Cos_sec                          -            -90            90          -          1.0         1.0

Sec_cos                          -            -90            90          -          1.0         1.0

[maxDistance]

Defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.)

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pathDistance in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A Variant (in, optional, pass null if not required)
surfaceRaster - A Variant (in, optional, pass null if not required)
horizRaster - A Variant (in, optional, pass null if not required)
horizFactor - A Variant (in, optional, pass null if not required)
vertRaster - A Variant (in, optional, pass null if not required)
vertFactor - A Variant (in, optional, pass null if not required)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pathAllocation

public IGeoDataset pathAllocation(IGeoDataset sourceData,
                                  Object costRaster,
                                  Object surfaceRaster,
                                  Object horizRaster,
                                  Object horizFactor,
                                  Object vertRaster,
                                  Object vertFactor,
                                  Object maxDistance,
                                  Object valueRaster)
                           throws IOException,
                                  AutomationException
Calculates for each output cell the zone that could be reached with the least accumulative cost.

Remarks

sourceData

An input Raster, RasterDataset, RasterBand, or RasterDescriptor that identifies those cells to which the least accumulated cost distances for every cell is calculated

The input value types can be either integer, string type or floating-point type

[costRaster]

An input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[surfaceRaster]

A raster identifying the z values at each cell location." " The values are used to calculate the actual surface distance that will be covered when passing between cells.

[horizRaster]

A raster defining the horizontal direction at each cell

[horizFactor]

Defines the relationship between the horizontal cost factor and the horizontal relative moving angle (HRMA)." " The input parameter may be one of several keywords (and modifiers) identifying a defined horizontal factor graph or an ASCII file that creates a custom graph. The graphs are used to identify the horizontal factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted.

The format for the horizontal parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the horizontal parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default horizontal parameter is BINARY.

Two acronyms are used in the explanations of the horizontal factor keywords and modifiers:

HF stands for the horizontal factor defining the horizontal difficulty that is encountered in moving from one cell to the next.

HRMA stands for the horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction.

Horizontal-factor keywords

BINARY - indicates that if the HRMA is less than the cut angle, the HF is set to the value associated with the zerofactor; otherwise, it is infinity.

FORWARD - establishes that only forward movement is allowed. The HRMA must be greater or equal to 0 and less than 90 (0 <= HRMA < 90). If the HRMA is greater than 0 and less than 45 degrees, the HF for the cell is set to the value associated with the zerofactor. If the HRMA is greater than or equal to 45 degrees, then the side value modifier value is used. The HF for any HRMA equal to or greater than 90 degrees is set to infinity.

LINEAR - defines that the HF is a linear function of the HRMA.

INVERSE_LINEAR - specifies that the HF is an inverse linear function of the HRMA.

TABLE - identifies that an ASCII file will be used to define the horizontal-factor graph used to determine the HFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the horizontal keywords

ZEROFACTOR - establishes the horizontal factor to be used when the HRMA is 0. This factor positions the y-intercept for any of the horizontal-factor functions.

CUTANGLE - defines the HRMA angle beyond which the HF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR horizontal-factor keywords. The slope is specified as a fraction of rise over run (i.e., 45 percent slope is 1/45, which is input as 0.02222).

SIDEVALUE - establishes the HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees for the FORWARD horizontal-factor keyword that is specified.

table_name - identifies the name of the ASCII table defining the HF. It is used in conjunction with the TABLE horizontal-factor keyword.

Default Values for Horizontal Factor Modifiers

Keywords         Zerofactor          Cutangle          Slope          Sidevalue

Binary               1.0                 45              -                -

Forward              0.5                 45(fixed)       -               1.0

Linear               0.5                 181            1/90              -

Inverse_linear       2.0                 180           -1/90              -

[vertRaster]

A raster defining the z value for each cell

[vertFactor]

Defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
The input parameter may be one of several keywords (and modifiers) identifying a defined vertical factor graph or an ASCII file creating a custom graph. The graphs are used to identify the vertical factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted. The format for the vertical parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the vertical parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default vertical parameter is SEC.

Two acronyms are used in the explanations of the vertical-factor keywords and modifiers:

VF stands for the vertical factor defining the vertical difficulty that is encountered moving from one cell to the next.
VRMA stands for the vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell.

Vertical-factor keywords

BINARY - specifies that if the VRMA is greater than the low-cut angle and less than the high-cut angle then the VF is set to the value associated with the zerofactor; otherwise, it is infinity.

LINEAR - indicates that the VF is a linear function of the VRMA.

SYM_LINEAR - defines that the VF is a linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

INVERSE_LINEAR - indicates that the VF is an inverse linear function of the VRMA.

SYM_INVERSE_LINEAR - identifies that the VF is an inverse linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

COS - defines the VF as the cosine-based function of the VRMA.

SEC - identifies the VF as the secant-based function of the VRMA.

COS-SEC - indicates that the VF is the cosine-based function of the VRMA when the VRMA is negative and the secant-based function of the VRMA when the VRMA is nonnegative.

SEC-COS - specifies that the VF is the secant-based function of the VRMA when the VRMA is negative and the cosine-based function of the VRMA when the VRMA is nonnegative.

TABLE - identifies that an ASCII file will be used to define the VFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the vertical-factor keywords

ZEROFACTOR - establishes the vertical factor to be used when the VRMA is 0. This factor positions the y-intercept of the specified function. By definition, the zerofactor is not applicable to any of the trigonometric vertical functions (COS, SEC, COS_SEC, or SEC_COS). The y-intercept is defined by these functions.

LCUTANGLE - defines the VRMA angle below which the VF will be set to infinity.

HCUTANGLE - defines the VRMA angle above which the VF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR vertical-factor keyword. The slope is specified as a fraction of rise over run (e.g., 45 percent slope is 1/45, which is input as 0.02222).

table_name - identifies the name of the ASCII file defining the VF. It is used in conjunction with the TABLE vertical-factor keyword.

Default Values for Vertical Factor Modifiers

Keywords                    Zerofactor     Lcutangle     Hcutangle     Slope     Cospower     Secpower

Binary                          1.0           -30            30          -           -           -

Linear                          1.0           -90            90         1/90         -           -

Sym_linear                      1.0           -90            90         1/90         -           -

Inverse_linear                  1.0           -45            45        -1/45         -           -

Sym_inverse_linear              1.0           -45            45        -1/44         -           - 

Cos                              -            -90            90          -          1.0          - 

Sec                              -            -90            90          -           -          1.0

Cos_sec                          -            -90            90          -          1.0         1.0

Sec_cos                          -            -90            90          -          1.0         1.0

[maxDistance]

Defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.)

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pathAllocation in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A Variant (in, optional, pass null if not required)
surfaceRaster - A Variant (in, optional, pass null if not required)
horizRaster - A Variant (in, optional, pass null if not required)
horizFactor - A Variant (in, optional, pass null if not required)
vertRaster - A Variant (in, optional, pass null if not required)
vertFactor - A Variant (in, optional, pass null if not required)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pathBackLink

public IGeoDataset pathBackLink(IGeoDataset sourceData,
                                Object costRaster,
                                Object surfaceRaster,
                                Object horizRaster,
                                Object horizFactor,
                                Object vertRaster,
                                Object vertFactor,
                                Object maxDistance,
                                Object valueRaster)
                         throws IOException,
                                AutomationException
Calculates the neighbor that is the next cell on the least-accumulative-path path from a cell to a source cell.

Remarks

sourceData

An input Raster, RasterDataset, RasterBand, or RasterDescriptor that identifies those cells to which the least accumulated cost distances for every cell is calculated

The input value types can be either integer, string type or floating-point type

[costRaster]

An input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[surfaceRaster]

A raster identifying the z values at each cell location." " The values are used to calculate the actual surface distance that will be covered when passing between cells.

[horizRaster]

A raster defining the horizontal direction at each cell

[horizFactor]

Defines the relationship between the horizontal cost factor and the horizontal relative moving angle (HRMA)." " The input parameter may be one of several keywords (and modifiers) identifying a defined horizontal factor graph or an ASCII file that creates a custom graph. The graphs are used to identify the horizontal factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted.

The format for the horizontal parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the horizontal parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default horizontal parameter is BINARY.

Two acronyms are used in the explanations of the horizontal factor keywords and modifiers:

HF stands for the horizontal factor defining the horizontal difficulty that is encountered in moving from one cell to the next.

HRMA stands for the horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction.

Horizontal-factor keywords

BINARY - indicates that if the HRMA is less than the cut angle, the HF is set to the value associated with the zerofactor; otherwise, it is infinity.

FORWARD - establishes that only forward movement is allowed. The HRMA must be greater or equal to 0 and less than 90 (0 <= HRMA < 90). If the HRMA is greater than 0 and less than 45 degrees, the HF for the cell is set to the value associated with the zerofactor. If the HRMA is greater than or equal to 45 degrees, then the side value modifier value is used. The HF for any HRMA equal to or greater than 90 degrees is set to infinity.

LINEAR - defines that the HF is a linear function of the HRMA.

INVERSE_LINEAR - specifies that the HF is an inverse linear function of the HRMA.

TABLE - identifies that an ASCII file will be used to define the horizontal-factor graph used to determine the HFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the horizontal keywords

ZEROFACTOR - establishes the horizontal factor to be used when the HRMA is 0. This factor positions the y-intercept for any of the horizontal-factor functions.

CUTANGLE - defines the HRMA angle beyond which the HF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR horizontal-factor keywords. The slope is specified as a fraction of rise over run (i.e., 45 percent slope is 1/45, which is input as 0.02222).

SIDEVALUE - establishes the HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees for the FORWARD horizontal-factor keyword that is specified.

table_name - identifies the name of the ASCII table defining the HF. It is used in conjunction with the TABLE horizontal-factor keyword.

Default Values for Horizontal Factor Modifiers

Keywords         Zerofactor          Cutangle          Slope          Sidevalue

Binary               1.0                 45              -                -

Forward              0.5                 45(fixed)       -               1.0

Linear               0.5                 181            1/90              -

Inverse_linear       2.0                 180           -1/90              -

[vertRaster]

A raster defining the z value for each cell

[vertFactor]

Defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
The input parameter may be one of several keywords (and modifiers) identifying a defined vertical factor graph or an ASCII file creating a custom graph. The graphs are used to identify the vertical factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted. The format for the vertical parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the vertical parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default vertical parameter is SEC.

Two acronyms are used in the explanations of the vertical-factor keywords and modifiers:

VF stands for the vertical factor defining the vertical difficulty that is encountered moving from one cell to the next.
VRMA stands for the vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell.

Vertical-factor keywords

BINARY - specifies that if the VRMA is greater than the low-cut angle and less than the high-cut angle then the VF is set to the value associated with the zerofactor; otherwise, it is infinity.

LINEAR - indicates that the VF is a linear function of the VRMA.

SYM_LINEAR - defines that the VF is a linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

INVERSE_LINEAR - indicates that the VF is an inverse linear function of the VRMA.

SYM_INVERSE_LINEAR - identifies that the VF is an inverse linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

COS - defines the VF as the cosine-based function of the VRMA.

SEC - identifies the VF as the secant-based function of the VRMA.

COS-SEC - indicates that the VF is the cosine-based function of the VRMA when the VRMA is negative and the secant-based function of the VRMA when the VRMA is nonnegative.

SEC-COS - specifies that the VF is the secant-based function of the VRMA when the VRMA is negative and the cosine-based function of the VRMA when the VRMA is nonnegative.

TABLE - identifies that an ASCII file will be used to define the VFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the vertical-factor keywords

ZEROFACTOR - establishes the vertical factor to be used when the VRMA is 0. This factor positions the y-intercept of the specified function. By definition, the zerofactor is not applicable to any of the trigonometric vertical functions (COS, SEC, COS_SEC, or SEC_COS). The y-intercept is defined by these functions.

LCUTANGLE - defines the VRMA angle below which the VF will be set to infinity.

HCUTANGLE - defines the VRMA angle above which the VF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR vertical-factor keyword. The slope is specified as a fraction of rise over run (e.g., 45 percent slope is 1/45, which is input as 0.02222).

table_name - identifies the name of the ASCII file defining the VF. It is used in conjunction with the TABLE vertical-factor keyword.

Default Values for Vertical Factor Modifiers

Keywords                    Zerofactor     Lcutangle     Hcutangle     Slope     Cospower     Secpower

Binary                          1.0           -30            30          -           -           -

Linear                          1.0           -90            90         1/90         -           -

Sym_linear                      1.0           -90            90         1/90         -           -

Inverse_linear                  1.0           -45            45        -1/45         -           -

Sym_inverse_linear              1.0           -45            45        -1/44         -           - 

Cos                              -            -90            90          -          1.0          - 

Sec                              -            -90            90          -           -          1.0

Cos_sec                          -            -90            90          -          1.0         1.0

Sec_cos                          -            -90            90          -          1.0         1.0

[maxDistance]

Defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.)

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pathBackLink in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
costRaster - A Variant (in, optional, pass null if not required)
surfaceRaster - A Variant (in, optional, pass null if not required)
horizRaster - A Variant (in, optional, pass null if not required)
horizFactor - A Variant (in, optional, pass null if not required)
vertRaster - A Variant (in, optional, pass null if not required)
vertFactor - A Variant (in, optional, pass null if not required)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pathDistanceFull

public IGeoDataset pathDistanceFull(IGeoDataset sourceData,
                                    boolean distance,
                                    boolean backlink,
                                    boolean allocation,
                                    Object costRaster,
                                    Object surfaceRaster,
                                    Object horizRaster,
                                    Object horizFactor,
                                    Object vertRaster,
                                    Object vertFactor,
                                    Object maxDistance,
                                    Object valueRaster)
                             throws IOException,
                                    AutomationException
Calculates for each cell the least-accumulative-cost distance, backlink, and allocation over a cost surface to a source cell or a set of source cells.

Remarks

sourceData

An input Raster, RasterDataset, RasterBand, or RasterDescriptor that identifies those cells to which the least accumulated cost distances for every cell is calculated

The input value types can be either integer, string type or floating-point type

distance

a Boolean that if True will create an output Raster that for each cell the least-accumulative-cost distance is calculated over a cost surface, the costRaster, to a source cell or a set of source cells specified in the sourceData

backlink

a Boolean that if True will create an output cost back link Raster

The back link Raster contains values from 0 through 8, which defines the direction or identifies the next neighboring cell (the succeeding cell) along the least acaccumulative cost path from a cell to reach a source.

If the path is to pass into the right neighbor, the cell will be assigned the value '1', '2' for the lower-right diagonal cell and continuing clockwise. The value '0' is reserved for source cells.

allocation

a Boolean that if True will create an output cost allocation Raster.

The cost allocation raster identifies, for each, cell, which source would require the least accumulative cost to reach.

[costRaster]

An input Raster, RasterDataset, RasterBand, or RasterDescriptor defining the impedance or cost to move planimetrically through each cell

The value at each cell location represents the cost per unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution (while also compensating for diagonal movement) to obtain the total cost of passing through the cell. The values on the costRaster can be integer or floating point, but they cannot be negative (you cannot have a negative cost).

[surfaceRaster]

A raster identifying the z values at each cell location." " The values are used to calculate the actual surface distance that will be covered when passing between cells.

[horizRaster]

A raster defining the horizontal direction at each cell

[horizFactor]

Defines the relationship between the horizontal cost factor and the horizontal relative moving angle (HRMA)." " The input parameter may be one of several keywords (and modifiers) identifying a defined horizontal factor graph or an ASCII file that creates a custom graph. The graphs are used to identify the horizontal factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted.

The format for the horizontal parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the horizontal parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default horizontal parameter is BINARY.

Two acronyms are used in the explanations of the horizontal factor keywords and modifiers:

HF stands for the horizontal factor defining the horizontal difficulty that is encountered in moving from one cell to the next.

HRMA stands for the horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction.

Horizontal-factor keywords

BINARY - indicates that if the HRMA is less than the cut angle, the HF is set to the value associated with the zerofactor; otherwise, it is infinity.

FORWARD - establishes that only forward movement is allowed. The HRMA must be greater or equal to 0 and less than 90 (0 <= HRMA < 90). If the HRMA is greater than 0 and less than 45 degrees, the HF for the cell is set to the value associated with the zerofactor. If the HRMA is greater than or equal to 45 degrees, then the side value modifier value is used. The HF for any HRMA equal to or greater than 90 degrees is set to infinity.

LINEAR - defines that the HF is a linear function of the HRMA.

INVERSE_LINEAR - specifies that the HF is an inverse linear function of the HRMA.

TABLE - identifies that an ASCII file will be used to define the horizontal-factor graph used to determine the HFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the horizontal keywords

ZEROFACTOR - establishes the horizontal factor to be used when the HRMA is 0. This factor positions the y-intercept for any of the horizontal-factor functions.

CUTANGLE - defines the HRMA angle beyond which the HF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR horizontal-factor keywords. The slope is specified as a fraction of rise over run (i.e., 45 percent slope is 1/45, which is input as 0.02222).

SIDEVALUE - establishes the HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees for the FORWARD horizontal-factor keyword that is specified.

table_name - identifies the name of the ASCII table defining the HF. It is used in conjunction with the TABLE horizontal-factor keyword.

Default Values for Horizontal Factor Modifiers

Keywords         Zerofactor          Cutangle          Slope          Sidevalue

Binary               1.0                 45              -                -

Forward              0.5                 45(fixed)       -               1.0

Linear               0.5                 181            1/90              -

Inverse_linear       2.0                 180           -1/90              -

[vertRaster]

A raster defining the z value for each cell

[vertFactor]

Defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
The input parameter may be one of several keywords (and modifiers) identifying a defined vertical factor graph or an ASCII file creating a custom graph. The graphs are used to identify the vertical factor that will be used in calculating the total cost for moving into a neighboring cell. If the parameter is used with any modifier, the string must be double quoted. The format for the vertical parameter is:

"keyword {modifier_1 ... modifier_n}"

Spaces must be used to separate the keyword and modifiers.

The format for the vertical parameter modifiers is:

modifier_name=value or table_name

There is an equal sign (=) between the modifier name and its value, but there are no spaces between any of the three.

If no keyword is specified, the default vertical parameter is SEC.

Two acronyms are used in the explanations of the vertical-factor keywords and modifiers:

VF stands for the vertical factor defining the vertical difficulty that is encountered moving from one cell to the next.
VRMA stands for the vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell.

Vertical-factor keywords

BINARY - specifies that if the VRMA is greater than the low-cut angle and less than the high-cut angle then the VF is set to the value associated with the zerofactor; otherwise, it is infinity.

LINEAR - indicates that the VF is a linear function of the VRMA.

SYM_LINEAR - defines that the VF is a linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

INVERSE_LINEAR - indicates that the VF is an inverse linear function of the VRMA.

SYM_INVERSE_LINEAR - identifies that the VF is an inverse linear function of the VRMA in either the negative or positive side of the VRMA, respectively, and the two linear functions are symmetrical with respect to the VF (y) axis.

COS - defines the VF as the cosine-based function of the VRMA.

SEC - identifies the VF as the secant-based function of the VRMA.

COS-SEC - indicates that the VF is the cosine-based function of the VRMA when the VRMA is negative and the secant-based function of the VRMA when the VRMA is nonnegative.

SEC-COS - specifies that the VF is the secant-based function of the VRMA when the VRMA is negative and the cosine-based function of the VRMA when the VRMA is nonnegative.

TABLE - identifies that an ASCII file will be used to define the VFs. The name of the table is entered as a modifier after a blank space following the keyword.

Modifiers to the vertical-factor keywords

ZEROFACTOR - establishes the vertical factor to be used when the VRMA is 0. This factor positions the y-intercept of the specified function. By definition, the zerofactor is not applicable to any of the trigonometric vertical functions (COS, SEC, COS_SEC, or SEC_COS). The y-intercept is defined by these functions.

LCUTANGLE - defines the VRMA angle below which the VF will be set to infinity.

HCUTANGLE - defines the VRMA angle above which the VF will be set to infinity.

SLOPE - establishes the slope of the straight line used with the LINEAR and INVERSE_LINEAR vertical-factor keyword. The slope is specified as a fraction of rise over run (e.g., 45 percent slope is 1/45, which is input as 0.02222).

table_name - identifies the name of the ASCII file defining the VF. It is used in conjunction with the TABLE vertical-factor keyword.

Default Values for Vertical Factor Modifiers

Keywords                    Zerofactor     Lcutangle     Hcutangle     Slope     Cospower     Secpower

Binary                          1.0           -30            30          -           -           -

Linear                          1.0           -90            90         1/90         -           -

Sym_linear                      1.0           -90            90         1/90         -           -

Inverse_linear                  1.0           -45            45        -1/45         -           -

Sym_inverse_linear              1.0           -45            45        -1/44         -           - 

Cos                              -            -90            90          -          1.0          - 

Sec                              -            -90            90          -           -          1.0

Cos_sec                          -            -90            90          -          1.0         1.0

Sec_cos                          -            -90            90          -          1.0         1.0

[maxDistance]

Defines the threshold that the accumulative cost values cannot exceed

If an accumulative cost distance value exceeds the maxDistance, the output value for the cell location will be NoData. The maxDistance defines the extent which the accumulative cost distances are calculated. If no maxDistance is specified the distance will be to the edge of the output raster. The data type for maxDistance can be either integer or floating point.

[valueRaster]

An optional input Raster that identifies the zone values that should be used for each cell on the sourceData

The value defined by the valueRaster for each source cell will be assigned to all cells that will be allocated to the source cell in the cost allocation computations. If no valueRaster is specified, the zone value for a source cell is the value on the sourceData.

This parameter is particularly important if the sourceRaster was created by the ILogicalOp::Test or a ILogicalOp::Boolean methods that will only output 1 and 0 or if alternative values or zones are to be used instead of the existing ones, on the input source. The data type for the valueRaster can be any Raster object that supports IGeoDataset (e.g., Raster, Raster band, etc.)

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires Spatial Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Specified by:
pathDistanceFull in interface IDistanceOp2
Parameters:
sourceData - A reference to a com.esri.arcgis.geodatabase.IGeoDataset (in)
distance - The distance (in)
backlink - The backlink (in)
allocation - The allocation (in)
costRaster - A Variant (in, optional, pass null if not required)
surfaceRaster - A Variant (in, optional, pass null if not required)
horizRaster - A Variant (in, optional, pass null if not required)
horizFactor - A Variant (in, optional, pass null if not required)
vertRaster - A Variant (in, optional, pass null if not required)
vertFactor - A Variant (in, optional, pass null if not required)
maxDistance - A Variant (in, optional, pass null if not required)
valueRaster - A Variant (in, optional, pass null if not required)
Returns:
A reference to a com.esri.arcgis.geodatabase.IGeoDataset
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.