com.esri.arcgis.geoprocessing.tools.spatialanalysttools
Class PathAllocation

java.lang.Object
  extended by com.esri.arcgis.geoprocessing.AbstractGPTool
      extended by com.esri.arcgis.geoprocessing.tools.spatialanalysttools.PathAllocation
All Implemented Interfaces:
GPTool

public class PathAllocation
extends AbstractGPTool

Calculates the nearest source for each cell based on the least accumulative cost over a cost surface, while accounting for surface distance and horizontal and vertical cost factors. The Path Distance Allocation tool is contained in the Spatial Analyst Tools tool box.

Usage tips:


Field Summary
 
Fields inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
vals
 
Constructor Summary
PathAllocation()
          Creates the Path Distance Allocation tool with defaults.
PathAllocation(Object inSourceData, Object outAllocationRaster)
          Creates the Path Distance Allocation tool with the required parameters.
 
Method Summary
 Object getHorizontalFactor()
          Returns the Horizontal factor parameter of this tool .
 Object getInCostRaster()
          Returns the Input cost raster parameter of this tool .
 Object getInHorizontalRaster()
          Returns the Input horizontal raster parameter of this tool .
 Object getInSourceData()
          Returns the Input raster or feature source data parameter of this tool .
 Object getInSurfaceRaster()
          Returns the Input surface raster parameter of this tool .
 Object getInValueRaster()
          Returns the Input value raster parameter of this tool .
 Object getInVerticalRaster()
          Returns the Input vertical raster parameter of this tool .
 double getMaximumDistance()
          Returns the Maximum distance parameter of this tool .
 Object getOutAllocationRaster()
          Returns the Output allocation raster parameter of this tool .
 Object getOutBacklinkRaster()
          Returns the Output backlink raster parameter of this tool .
 Object getOutDistanceRaster()
          Returns the Output distance raster parameter of this tool .
 Object getSourceField()
          Returns the Source field parameter of this tool .
 String getToolboxAlias()
          Returns the alias of the tool box containing this tool.
 String getToolboxName()
          Returns the name of the tool box containing this tool.
 String getToolName()
          Returns the name of this tool.
 Object getVerticalFactor()
          Returns the Vertical factor parameter of this tool .
 void setHorizontalFactor(Object horizontalFactor)
          Sets the Horizontal factor parameter of this tool .
 void setInCostRaster(Object inCostRaster)
          Sets the Input cost raster parameter of this tool .
 void setInHorizontalRaster(Object inHorizontalRaster)
          Sets the Input horizontal raster parameter of this tool .
 void setInSourceData(Object inSourceData)
          Sets the Input raster or feature source data parameter of this tool .
 void setInSurfaceRaster(Object inSurfaceRaster)
          Sets the Input surface raster parameter of this tool .
 void setInValueRaster(Object inValueRaster)
          Sets the Input value raster parameter of this tool .
 void setInVerticalRaster(Object inVerticalRaster)
          Sets the Input vertical raster parameter of this tool .
 void setMaximumDistance(double maximumDistance)
          Sets the Maximum distance parameter of this tool .
 void setOutAllocationRaster(Object outAllocationRaster)
          Sets the Output allocation raster parameter of this tool .
 void setOutBacklinkRaster(Object outBacklinkRaster)
          Sets the Output backlink raster parameter of this tool .
 void setOutDistanceRaster(Object outDistanceRaster)
          Sets the Output distance raster parameter of this tool .
 void setSourceField(Object sourceField)
          Sets the Source field parameter of this tool .
 void setVerticalFactor(Object verticalFactor)
          Sets the Vertical factor parameter of this tool .
 
Methods inherited from class com.esri.arcgis.geoprocessing.AbstractGPTool
getParameterValues, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PathAllocation

public PathAllocation()
Creates the Path Distance Allocation tool with defaults.

Initializes the array of tool parameters with the default values specified when the tool was created.


PathAllocation

public PathAllocation(Object inSourceData,
                      Object outAllocationRaster)
Creates the Path Distance Allocation tool with the required parameters.

Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.

Parameters:
inSourceData - null
outAllocationRaster - the output path distance allocation raster. this raster identifies the zone of each source location (cell or feature) that could be reached with the least accumulative cost, while accounting for surface distance and horizontal and vertical cost factors. the output raster is of integer type.
Method Detail

getInSourceData

public Object getInSourceData()
Returns the Input raster or feature source data parameter of this tool . This is a required parameter.

Returns:
the Input raster or feature source data

setInSourceData

public void setInSourceData(Object inSourceData)
Sets the Input raster or feature source data parameter of this tool . This is a required parameter.

Parameters:
inSourceData - null

getOutAllocationRaster

public Object getOutAllocationRaster()
Returns the Output allocation raster parameter of this tool . This parameter is the output path distance allocation raster. this raster identifies the zone of each source location (cell or feature) that could be reached with the least accumulative cost, while accounting for surface distance and horizontal and vertical cost factors. the output raster is of integer type. This is a required parameter.

Returns:
the Output allocation raster

setOutAllocationRaster

public void setOutAllocationRaster(Object outAllocationRaster)
Sets the Output allocation raster parameter of this tool . This parameter is the output path distance allocation raster. this raster identifies the zone of each source location (cell or feature) that could be reached with the least accumulative cost, while accounting for surface distance and horizontal and vertical cost factors. the output raster is of integer type. This is a required parameter.

Parameters:
outAllocationRaster - the output path distance allocation raster. this raster identifies the zone of each source location (cell or feature) that could be reached with the least accumulative cost, while accounting for surface distance and horizontal and vertical cost factors. the output raster is of integer type.

getInCostRaster

public Object getInCostRaster()
Returns the Input cost raster parameter of this tool . This parameter is a raster 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 of the cost raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost). This is an optional parameter.

Returns:
the Input cost raster

setInCostRaster

public void setInCostRaster(Object inCostRaster)
Sets the Input cost raster parameter of this tool . This parameter is a raster 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 of the cost raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost). This is an optional parameter.

Parameters:
inCostRaster - a raster 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 of the cost raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost).

getInSurfaceRaster

public Object getInSurfaceRaster()
Returns the Input surface raster parameter of this tool . This parameter is a raster defining the elevation values at each cell location. the values are used to calculate the actual surface distance covered when passing between cells. This is an optional parameter.

Returns:
the Input surface raster

setInSurfaceRaster

public void setInSurfaceRaster(Object inSurfaceRaster)
Sets the Input surface raster parameter of this tool . This parameter is a raster defining the elevation values at each cell location. the values are used to calculate the actual surface distance covered when passing between cells. This is an optional parameter.

Parameters:
inSurfaceRaster - a raster defining the elevation values at each cell location. the values are used to calculate the actual surface distance covered when passing between cells.

getInHorizontalRaster

public Object getInHorizontalRaster()
Returns the Input horizontal raster parameter of this tool . This parameter is a raster defining the horizontal direction at each cell. the values on the raster must be integers ranging from 0 to 360 with 0 degrees being north, or toward the top of the screen, and increasing clockwise. Flat areas should be given a value of -1. The values at each location will be used in conjunction with the {horizontal_factor} to determine the horizontal cost incurred when moving from a cell to its neighbors. This is an optional parameter.

Returns:
the Input horizontal raster

setInHorizontalRaster

public void setInHorizontalRaster(Object inHorizontalRaster)
Sets the Input horizontal raster parameter of this tool . This parameter is a raster defining the horizontal direction at each cell. the values on the raster must be integers ranging from 0 to 360 with 0 degrees being north, or toward the top of the screen, and increasing clockwise. Flat areas should be given a value of -1. The values at each location will be used in conjunction with the {horizontal_factor} to determine the horizontal cost incurred when moving from a cell to its neighbors. This is an optional parameter.

Parameters:
inHorizontalRaster - a raster defining the horizontal direction at each cell. the values on the raster must be integers ranging from 0 to 360 with 0 degrees being north, or toward the top of the screen, and increasing clockwise. Flat areas should be given a value of -1. The values at each location will be used in conjunction with the {horizontal_factor} to determine the horizontal cost incurred when moving from a cell to its neighbors.

getHorizontalFactor

public Object getHorizontalFactor()
Returns the Horizontal factor parameter of this tool . This parameter is the Horizontal Factor object defines the relationship between the horizontal cost factor and the horizontal relative moving angle. there are several factors with modifiers from which to select that identify a defined horizontal factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the horizontal factor used in calculating the total cost of moving into a neighboring cell. in the explanations below, two acronyms are used: 'HF' stands for horizontal factor, which defines the horizontal difficulty encountered when moving from one cell to the next; and 'HRMA' stands for horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the horizontal keywords are: This is an optional parameter.

Returns:
the Horizontal factor

setHorizontalFactor

public void setHorizontalFactor(Object horizontalFactor)
Sets the Horizontal factor parameter of this tool . This parameter is the Horizontal Factor object defines the relationship between the horizontal cost factor and the horizontal relative moving angle. there are several factors with modifiers from which to select that identify a defined horizontal factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the horizontal factor used in calculating the total cost of moving into a neighboring cell. in the explanations below, two acronyms are used: 'HF' stands for horizontal factor, which defines the horizontal difficulty encountered when moving from one cell to the next; and 'HRMA' stands for horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the horizontal keywords are: This is an optional parameter.

Parameters:
horizontalFactor - the Horizontal Factor object defines the relationship between the horizontal cost factor and the horizontal relative moving angle. there are several factors with modifiers from which to select that identify a defined horizontal factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the horizontal factor used in calculating the total cost of moving into a neighboring cell. in the explanations below, two acronyms are used: 'HF' stands for horizontal factor, which defines the horizontal difficulty encountered when moving from one cell to the next; and 'HRMA' stands for horizontal relative moving angle, which identifies the angle between the horizontal direction from a cell and the moving direction. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the horizontal keywords are:
  • {zero_factor}—Establishes the horizontal factor used when the HRMA is 0. This factor positions the y intercept for any of the horizontal factor functions.
  • {cut_angle}—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 (for example, 45 percent slope is 1/45, which is input as 0.02222).
  • {side_value}—Establishes the HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees when the FORWARD horizontal-factor keyword is specified.
  • in_table—Identifies the name of the table defining the HF.

getInVerticalRaster

public Object getInVerticalRaster()
Returns the Input vertical raster parameter of this tool . This parameter is a raster defining the z-values for each cell location. the values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another. This is an optional parameter.

Returns:
the Input vertical raster

setInVerticalRaster

public void setInVerticalRaster(Object inVerticalRaster)
Sets the Input vertical raster parameter of this tool . This parameter is a raster defining the z-values for each cell location. the values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another. This is an optional parameter.

Parameters:
inVerticalRaster - a raster defining the z-values for each cell location. the values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.

getVerticalFactor

public Object getVerticalFactor()
Returns the Vertical factor parameter of this tool . This parameter is the Vertical factor object defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA). there are several factors with modifiers from which to select that identify a defined vertical factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the vertical factor used in calculating the total cost for moving into a neighboring cell. in the explanations below, two acronyms are used: 'VF' stands for vertical factor, which defines the vertical difficulty encountered in moving from one cell to the next; and 'VRMA' stands for vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the vertical parameters are: This is an optional parameter.

Returns:
the Vertical factor

setVerticalFactor

public void setVerticalFactor(Object verticalFactor)
Sets the Vertical factor parameter of this tool . This parameter is the Vertical factor object defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA). there are several factors with modifiers from which to select that identify a defined vertical factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the vertical factor used in calculating the total cost for moving into a neighboring cell. in the explanations below, two acronyms are used: 'VF' stands for vertical factor, which defines the vertical difficulty encountered in moving from one cell to the next; and 'VRMA' stands for vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the vertical parameters are: This is an optional parameter.

Parameters:
verticalFactor - the Vertical factor object defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA). there are several factors with modifiers from which to select that identify a defined vertical factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the vertical factor used in calculating the total cost for moving into a neighboring cell. in the explanations below, two acronyms are used: 'VF' stands for vertical factor, which defines the vertical difficulty encountered in moving from one cell to the next; and 'VRMA' stands for vertical relative moving angle, which identifies the slope angle between the FROM or processing cell and the TO cell. the object comes in the following forms: the definitions and parameters of these are: the Modifiers to the vertical parameters are:
  • VfBinary, VfLinear, VfInverseLinear, VfSymLinear, VfSymInverseLinear, VfCos, VfSec, VfSec, VfCosSec, VfSecCos, VfTable.

getMaximumDistance

public double getMaximumDistance()
Returns the Maximum distance parameter of this tool . This parameter is defines the threshold that the accumulative cost values cannot exceed. if an accumulative cost distance value exceeds this value, the output value for the cell location will be NoData. The maximum distance defines the extent for which the accumulative cost distances are calculated. the default distance is to the edge of the output raster. This is an optional parameter.

Returns:
the Maximum distance

setMaximumDistance

public void setMaximumDistance(double maximumDistance)
Sets the Maximum distance parameter of this tool . This parameter is defines the threshold that the accumulative cost values cannot exceed. if an accumulative cost distance value exceeds this value, the output value for the cell location will be NoData. The maximum distance defines the extent for which the accumulative cost distances are calculated. the default distance is to the edge of the output raster. This is an optional parameter.

Parameters:
maximumDistance - defines the threshold that the accumulative cost values cannot exceed. if an accumulative cost distance value exceeds this value, the output value for the cell location will be NoData. The maximum distance defines the extent for which the accumulative cost distances are calculated. the default distance is to the edge of the output raster.

getInValueRaster

public Object getInValueRaster()
Returns the Input value raster parameter of this tool . This parameter is the input integer raster that identifies the zone values that should be used for each input source location. for each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells allocated to the source location for the computation. The value raster will take precedence over any setting for the {source_field}. This is an optional parameter.

Returns:
the Input value raster

setInValueRaster

public void setInValueRaster(Object inValueRaster)
Sets the Input value raster parameter of this tool . This parameter is the input integer raster that identifies the zone values that should be used for each input source location. for each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells allocated to the source location for the computation. The value raster will take precedence over any setting for the {source_field}. This is an optional parameter.

Parameters:
inValueRaster - the input integer raster that identifies the zone values that should be used for each input source location. for each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells allocated to the source location for the computation. The value raster will take precedence over any setting for the {source_field}.

getSourceField

public Object getSourceField()
Returns the Source field parameter of this tool . This parameter is the field used to assign values to the source locations. It must be integer type. if the {in_value_raster} has been set, the values in that input will have precedence over any setting for the {source_field}. This is an optional parameter.

Returns:
the Source field

setSourceField

public void setSourceField(Object sourceField)
Sets the Source field parameter of this tool . This parameter is the field used to assign values to the source locations. It must be integer type. if the {in_value_raster} has been set, the values in that input will have precedence over any setting for the {source_field}. This is an optional parameter.

Parameters:
sourceField - the field used to assign values to the source locations. It must be integer type. if the {in_value_raster} has been set, the values in that input will have precedence over any setting for the {source_field}.

getOutDistanceRaster

public Object getOutDistanceRaster()
Returns the Output distance raster parameter of this tool . This parameter is the output path distance raster. the output path distance raster identifies, for each cell, the least accumulative cost distance, over a cost surface to the identified source locations, while accounting for surface distance as well as horizontal and vertical surface factors. a source can be a cell, a set of cells, or one or more feature locations. the output raster is of floating point type. This is an optional parameter.

Returns:
the Output distance raster

setOutDistanceRaster

public void setOutDistanceRaster(Object outDistanceRaster)
Sets the Output distance raster parameter of this tool . This parameter is the output path distance raster. the output path distance raster identifies, for each cell, the least accumulative cost distance, over a cost surface to the identified source locations, while accounting for surface distance as well as horizontal and vertical surface factors. a source can be a cell, a set of cells, or one or more feature locations. the output raster is of floating point type. This is an optional parameter.

Parameters:
outDistanceRaster - the output path distance raster. the output path distance raster identifies, for each cell, the least accumulative cost distance, over a cost surface to the identified source locations, while accounting for surface distance as well as horizontal and vertical surface factors. a source can be a cell, a set of cells, or one or more feature locations. the output raster is of floating point type.

getOutBacklinkRaster

public Object getOutBacklinkRaster()
Returns the Output backlink raster parameter of this tool . This parameter is the output cost back-link raster. the back-link raster contains values of 0 through 8, which define the direction or identify the next neighboring cell (the succeeding cell) along the least accumulative cost path from a cell to reach its least cost source, while accounting for surface distance as well as horizontal and vertical surface factors. 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. This is an optional parameter.

Returns:
the Output backlink raster

setOutBacklinkRaster

public void setOutBacklinkRaster(Object outBacklinkRaster)
Sets the Output backlink raster parameter of this tool . This parameter is the output cost back-link raster. the back-link raster contains values of 0 through 8, which define the direction or identify the next neighboring cell (the succeeding cell) along the least accumulative cost path from a cell to reach its least cost source, while accounting for surface distance as well as horizontal and vertical surface factors. 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. This is an optional parameter.

Parameters:
outBacklinkRaster - the output cost back-link raster. the back-link raster contains values of 0 through 8, which define the direction or identify the next neighboring cell (the succeeding cell) along the least accumulative cost path from a cell to reach its least cost source, while accounting for surface distance as well as horizontal and vertical surface factors. 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.

getToolName

public String getToolName()
Returns the name of this tool.

Returns:
the tool name

getToolboxName

public String getToolboxName()
Returns the name of the tool box containing this tool.

Returns:
the tool box name

getToolboxAlias

public String getToolboxAlias()
Returns the alias of the tool box containing this tool.

Returns:
the tool box alias