arcgis.raster.functions.gbl module
Global Raster functions. These functions are applied to the raster data to create a processed product on disk, using ImageryLayer.save() method or arcgis.raster.analytics.generate_raster().
Global functions cannot be used for visualization using dynamic image processing. They cannot be applied to layers that are added to a map for onthefly image processing or visualized inline within the Jupyter notebook.
Functions can be applied to various rasters (or images), including the following:
Imagery layers
Rasters within imagery layers
boundary_clean¶

arcgis.raster.functions.gbl.
boundary_clean
(input_raster, sort_type='NO_SORT', number_of_runs='TWO_WAY')¶ The boundary_clean function smooths the boundary between zones in a raster. Function available in ArcGIS Image Server 10.9 and higher.
Argument
Description
input_raster
Required. The input raster for which the boundary between zones will be smoothed. It must be of integer type.
sort_type
Optional string. Specifies the type of sorting to use in the smoothing process. The sorting determines the priority by which cells can expand into their neighbors. The sorting can be done based on zone value or zone area. The available choices are: [‘NO_SORT’, ‘DESCEND’, ‘ASCEND’] The default is: ‘NO_SORT’.
NO_SORT
 The zones are not sorted by size. Zones with larger values will have a higher priority to expand into zones with smaller values in the smoothed output. This is the default.DESCEND
 Sorts zones in descending order by size. Zones with larger total areas have a higher priority to expand into zones with smaller total areas. This option will tend to eliminate or reduce the prevalence of cells from smaller zones in the smoothed output.ASCEND
 Sorts zones in ascending order by size. Zones with smaller total areas have a higher priority to expand into zones with larger total areas. This option will tend to preserve or increase the prevalence of cells from smaller zones in the smoothed output.
number_of_runs
Optional String or Boolean. Specifies the number of times the smoothing process will take place, twice or once.
TWO_WAY
(true)  Performs an expansion and shrinking operation two times. For the first time the operation is performed according to the specified sorting type. Then an additional expansion and shrinking operation is performed, but with the priority reversed. This is the default.ONE_WAY
(false)  Performs the expansion and shrinking operation once, according to the sorting type.
 Returns
output raster with function applied
# Usage Example: boundary_clean_output = boundary_clean(input_raster = imagery_layer, sort_type = "NO_SORT", number_of_runs="TWO_WAY") boundary_clean_item = boundary_clean_output.save()
calculate_distance¶

arcgis.raster.functions.gbl.
calculate_distance
(in_source_data, maximum_distance=None, output_cell_size=None, allocation_field=None, generate_out_allocation_raster=False, generate_out_direction_raster=False, generate_out_back_direction_raster=False, in_barrier_data=None, distance_method='PLANAR')¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation() (or arcgis.raster.functions.gbl.distance_allocation() for allocation output) instead.
Calculates the Euclidean distance, direction, and allocation from a single source or set of sources.
 Parameters
in_source_data – Required. The layer that defines the sources to calculate the distance to. The layer can be raster or feature. To use a raster input, it must be of integer type.
maximum_distance –
Optional. Defines the threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance value exceeds this value, the output value for the cell location will be NoData. The default distance is to the edge of the output raster.
Supported units: Meters  Kilometers  Feet  Miles
Example:
{“distance”:”60”,”units”:”Meters”}
output_cell_size –
Optional. Specify the cell size to use for the output raster.
Supported units: Meters  Kilometers  Feet  Miles
Example: {“distance”:”60”,”units”:”Meters”}
allocation_field –
Optional. A field on the input_source_data layer that holds the values that defines each source.
It can be an integer or a string field of the source dataset.
The default for this parameter is ‘Value’.
generate_out_direction_raster –
Optional Boolean, determines whether out_direction_raster should be generated or not. Set this parameter to True, in order to generate the out_direction_raster. If set to true, the output will be a named tuple with name values being output_distance_service and output_direction_service. eg,
out_layer = calculate_distance(in_source_data, generate_out_direction_raster=True) out_var = out_layer.save()
then,
out_var.output_distance_service > gives you the output distance imagery layer item out_var.output_direction_service > gives you the output backlink raster imagery layer item
The output direction raster is in degrees, and indicates the direction to return to the closest source from each cell center. The values on the direction raster are based on compass directions, with 0 degrees reserved for the source cells. Thus, a value of 90 means 90 degrees to the East, 180 is to the South, 270 is to the west, and 360 is to the North.
generate_out_allocation_raster –
Optional Boolean, determines whether out_allocation_raster should be generated or not. Set this parameter to True, in order to generate the out_backlink_raster. If set to true, the output will be a named tuple with name values being output_distance_service and output_allocation_service. eg,
out_layer = calculate_distance(in_source_data, generate_out_allocation_raster=True) out_var = out_layer.save()
then,
out_var.output_distance_service > gives you the output distance imagery layer item out_var.output_allocation_service > gives you the output allocation raster imagery layer item
This parameter calculates, for each cell, the nearest source based on Euclidean distance.
generate_out_back_direction_raster –
Optional Boolean, determines whether out_back_direction_raster should be generated or not. Set this parameter to True, in order to generate the out_back_direction_raster. If set to true, the output will be a named tuple with name values being output_distance_service and out_back_direction_service. eg,
out_layer = calculate_distance(in_source_data, generate_out_back_direction_raster=True) out_var = out_layer.save()
then,
out_var.output_distance_service > gives you the output distance imagery layer item out_var.out_back_direction_service > gives you the output back direction raster imagery layer item
in_barrier_data – Optional barrier raster. The input raster that defines the barriers. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
distance_method –
Optional String. Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
 Returns
output raster with function applied
calculate_travel_cost¶

arcgis.raster.functions.gbl.
calculate_travel_cost
(in_source_data, in_cost_raster=None, in_surface_raster=None, in_horizontal_raster=None, in_vertical_raster=None, horizontal_factor='BINARY', vertical_factor='BINARY', maximum_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None, allocation_field=None, generate_out_allocation_raster=False, generate_out_backlink_raster=False)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation() (or arcgis.raster.functions.gbl.distance_allocation() for allocation output), instead.
 Parameters
in_source_data – Required. The layer that defines the sources to calculate the distance too. The layer can be raster or feature.
in_cost_raster – Optional. A raster defining the impedance or cost to move planimetrically through each cell.
in_surface_raster – Optional. A raster defining the elevation values at each cell location.
in_horizontal_raster – Optional. A raster defining the horizontal direction at each cell.
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle. Possible values are: “BINARY”, “LINEAR”, “FORWARD”, “INVERSE_LINEAR”
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA) Possible values are: “BINARY”, “LINEAR”, “SYMMETRIC_LINEAR”, “INVERSE_LINEAR”, “SYMMETRIC_INVERSE_LINEAR”, “COS”, “SEC”, “COS_SEC”, “SEC_COS”
maximum_distance – Optional. The maximum distance to calculate out to. If no distance is provided, a default will be calculated that is based on the locations of the input sources.
source_cost_multiplier – Optional. Multiplier to apply to the cost values.
source_start_cost – Optional. The starting cost from which to begin the cost calculations.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases.
source_capacity – Optional. Defines the cost capacity for the traveler for a source.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE
allocation_field – Optional. A field on theinputSourceRasterOrFeatures layer that holds the values that define each source.
generate_out_backlink_raster –
Optional Boolean, determines whether out_backlink_raster should be generated or not. Set this parameter to True, in order to generate the out_backlink_raster. If set to true, the output will be a named tuple with name values being output_distance_service and output_backlink_service. eg,
out_layer = calculate_travel_cost(in_source_data, generate_out_backlink_raster=True) out_var = out_layer.save()
then,
out_var.output_distance_service > gives you the output distance imagery layer item
out_var.output_backlink_service > gives you the output backlink raster imagery layer item
generate_out_allocation_raster –
Optional Boolean, determines whether out_allocation_raster should be generated or not. Set this parameter to True, in order to generate the out_backlink_raster. If set to true, the output will be a named tuple with name values being output_distance_service and output_allocation_service. eg,
out_layer = calculate_travel_cost(in_source_data, generate_out_allocation_raster=False) out_var = out_layer.save()
then,
out_var.output_distance_service > gives you the output distance imagery layer item
out_var.output_allocation_service > gives you the output allocation raster imagery layer item
gis – Optional, the GIS on which this tool runs. If not specified, the active GIS is used.
 Returns
output raster with function applied
corridor¶

arcgis.raster.functions.gbl.
corridor
(in_distance_raster1, in_distance_raster2)¶ Calculates the sum of accumulative costs for two input accumulative cost rasters.
 Parameters
in_distance_raster1 – Required. The first input distance raster. It should be an accumulated cost distance output from a distance function such as cost_distance or path_distance.
in_distance_raster2 – Required. The second input distance raster. It should be an accumulated cost distance output from a distance function such as cost_distance or path_distance.
 Returns
output raster with function applied
cost_allocation¶

arcgis.raster.functions.gbl.
cost_allocation
(in_source_data, in_cost_raster, in_value_raster=None, max_distance=None, source_field=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_allocation() instead.
Calculates, for each cell, its leastcost source based on the least accumulative cost over a cost surface. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/costallocationglobalfunction.htm
 Parameters
in_source_data – Required. The input raster that identifies the pixels or locations to which the least accumulated cost distance for every output pixel location is calculated. The Source Raster can be an integer or a floatingpoint value. If the input Source Raster is floating point, the Value Raster must be set, and it must be an integer. The Value Raster will take precedence over any setting of the Source Field.
in_cost_raster – Required. A raster defining the cost or impedance to move planimetrically through each pixel. The value at each pixel location represents the costperunit distance for moving through it. Each pixel location value is multiplied by the pixel resolution, while also compensating for diagonal movement to obtain the total cost of passing through the pixel. The values of the Cost Raster can be integer or floating point, but they cannot be negative or zero.
in_value_raster – Optional. The input integer raster that identifies the zone values that should be used for each input source location. For each source location pixel, the value defined by the Value Raster will be assigned to all pixels allocated to the source location for the computation. The Value Raster will take precedence over any setting for the Source Field.
max_distance – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_field – Optional. The field used to assign values to the source locations. It must be an integer type. If the Value Raster has been set, the values in that input will take precedence over any setting for the Source Field.
source_cost_multiplier – Optional. This parameter allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell. The default value is 1. The values must be greater than 0. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_start_cost – Optional. The starting cost from which to begin the cost calculations. This parameter allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of 0, the cost algorithm will begin with the value set here. The default is 0. The value must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a pixel is multiplied by the resistance rate and added to the cost to move into the subsequent pixel. It is a modified version of a compound interest rate formula that is used to calculate the apparent cost of moving through a pixel. As the value of the resistance rate increases, it increases the cost of the pixels that are visited later. The greater the resistance rate, the higher the cost to reach the next pixel, which is compounded for each subsequent movement. Since the resistance rate is similar to a compound rate and generally the accumulative cost values are very large, small resistance rates are suggested, such as 0.005 or even smaller, depending on the accumulative cost values. The default is 0. The values must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_capacity – Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached. The default capacity is to the edge of the output raster. The values must be greater than 0. A double numeric value or a field from the Source Raster can be used for this parameter.
source_direction –
Optional. Defines the direction of the traveler when applying the source resistance rate and the source starting cost.
FROM_SOURCE  The source resistance rate and source starting cost will be applied beginning at the input source and moving out to the nonsource cells. This is the default.
TO_SOURCE  The source resistance rate and source starting cost will be applied beginning at each nonsource cell and moving back to the input source.
Either specify the FROM_SOURCE or TO_SOURCE keyword, which will be applied to all sources, or specify a field in the Source Raster that contains the keywords to identify the direction of travel for each source. That field must contain the string FROM_SOURCE or TO_SOURCE.
 Returns
output raster with function applied
cost_backlink¶

arcgis.raster.functions.gbl.
cost_backlink
(in_source_data, in_cost_raster, max_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation()with value specified for output_back_direction_raster_name, instead.
Calculates the least accumulative cost distance for each cell from or to the leastcost source over a cost surface.
 Parameters
in_source_data – Required. The input raster that identifies the pixels or locations to which the least accumulated cost distance for every output pixel location is calculated. The Source Raster can be an integer or a floatingpoint value.
in_cost_raster – Required. A raster defining the cost or impedance to move planimetrically through each pixel. The value at each pixel location represents the costperunit distance for moving through it. Each pixel location value is multiplied by the pixel resolution, while also compensating for diagonal movement to obtain the total cost of passing through the pixel.
max_distance – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_cost_multiplier – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_start_cost – Optional. The starting cost from which to begin the cost calculations. This parameter allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of 0, the cost algorithm will begin with the value set here. The default is 0. The value must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a pixel is multiplied by the resistance rate and added to the cost to move into the subsequent pixel. It is a modified version of a compound interest rate formula that is used to calculate the apparent cost of moving through a pixel. As the value of the resistance rate increases, it increases the cost of the pixels that are visited later. The greater the resistance rate, the higher the cost to reach the next pixel, which is compounded for each subsequent movement. Since the resistance rate is similar to a compound rate and generally the accumulative cost values are very large, small resistance rates are suggested, such as 0.005 or even smaller, depending on the accumulative cost values. The default is 0. The values must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_capacity – Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached. The default capacity is to the edge of the output raster. The values must be greater than 0. A double numeric value or a field from the Source Raster can be used for this parameter.
source_direction –
Optional. Defines the direction of the traveler when applying the source resistance rate and the source starting cost.
FROM_SOURCE  The source resistance rate and source starting cost will be applied beginning at the input source and moving out to the nonsource cells. This is the default.
TO_SOURCE  The source resistance rate and source starting cost will be applied beginning at each nonsource cell and moving back to the input source.
Either specify the FROM_SOURCE or TO_SOURCE keyword, which will be applied to all sources, or specify a field in the Source Raster that contains the keywords to identify the direction of travel for each source. That field must contain the string FROM_SOURCE or TO_SOURCE.
 Returns
output raster with function applied
cost_distance¶

arcgis.raster.functions.gbl.
cost_distance
(in_source_data, in_cost_raster, max_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation() instead.
Calculates the least accumulative cost distance for each cell from or to the leastcost source over a cost surface. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/costdistanceglobalfunction.htm
 Parameters
in_source_data – Required. The input raster that identifies the pixels or locations to which the least accumulated cost distance for every output pixel location is calculated. The Source Raster can be an integer or a floatingpoint value.
in_cost_raster – Required. A raster defining the cost or impedance to move planimetrically through each pixel. The value at each pixel location represents the costperunit distance for moving through it. Each pixel location value is multiplied by the pixel resolution, while also compensating for diagonal movement to obtain the total cost of passing through the pixel.
max_distance – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_cost_multiplier – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_start_cost – Optional. The starting cost from which to begin the cost calculations. This parameter allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of 0, the cost algorithm will begin with the value set here. The default is 0. The value must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a pixel is multiplied by the resistance rate and added to the cost to move into the subsequent pixel. It is a modified version of a compound interest rate formula that is used to calculate the apparent cost of moving through a pixel. As the value of the resistance rate increases, it increases the cost of the pixels that are visited later. The greater the resistance rate, the higher the cost to reach the next pixel, which is compounded for each subsequent movement. Since the resistance rate is similar to a compound rate and generally the accumulative cost values are very large, small resistance rates are suggested, such as 0.005 or even smaller, depending on the accumulative cost values. The default is 0. The values must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_capacity – Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached. The default capacity is to the edge of the output raster. The values must be greater than 0. A double numeric value or a field from the Source Raster can be used for this parameter.
source_direction –
Optional. Defines the direction of the traveler when applying the source resistance rate and the source starting cost.
FROM_SOURCE  The source resistance rate and source starting cost will be applied beginning at the input source and moving out to the nonsource cells. This is the default.
TO_SOURCE  The source resistance rate and source starting cost will be applied beginning at each nonsource cell and moving back to the input source.
Either specify the FROM_SOURCE or TO_SOURCE keyword, which will be applied to all sources, or specify a field in the Source Raster that contains the keywords to identify the direction of travel for each source. That field must contain the string FROM_SOURCE or TO_SOURCE.
 Returns
output raster with function applied
cost_path¶

arcgis.raster.functions.gbl.
cost_path
(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, path_type='EACH_CELL', destination_field=None, force_flow_direction_convention=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.optimal_path_as_raster() instead.
Calculates the leastcost path from a source to a destination.
 Parameters
in_destination_data – Required raster layer. A raster that identifies those cells from which the leastcost path is determined to the least costly source. The input raster layer consists of cells that have valid values (zero is a valid value), and the remaining cells must be assigned NoData.
in_cost_distance_raster – Required. The name of a cost distance raster to be used to determine the leastcost path from the destination locations to a source. The cost distance raster is usually created with the Cost Distance, Cost Allocation or Cost Back Link tools. The cost distance raster stores, for each cell, the minimum accumulative cost distance over a cost surface from each cell to a set of source cells.
in_cost_backlink_raster – Required. The name of a cost back link raster used to determine the path to return to a source via the leastcost 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 source cell or set of source cells.
path_type –
Optional. A keyword defining the manner in which the values and zones on the input destination data will be interpreted in the cost path calculations.
EACH_CELL  For each cell with valid values on the input destination data, a leastcost path is determined and saved on the output raster. With this option, each cell of the input destination data is treated separately, and a leastcost path is determined for each from cell.
EACH_ZONE  For each zone on the input destination data, a leastcost path is determined and saved on the output raster. With this option, the leastcost path for each zone begins at the cell with the lowest cost distance weighting in the zone.
BEST_SINGLE  For all cells on the input destination data, the leastcost path is derived from the cell with the minimum of the leastcost paths to source cells.
destination_field – Optional. The field used to obtain values for the destination locations. Input feature data must contain at least one valid field.
force_flow_direction_convention – Optional boolean. Set to True to force flow direction convention for backlink raster
 Returns
output raster with function applied
distance_accumulation¶

arcgis.raster.functions.gbl.
distance_accumulation
(in_source_data, in_barrier_data=None, in_surface_raster=None, in_cost_raster=None, in_vertical_raster=None, vertical_factor='BINARY 1 30 30', in_horizontal_raster=None, horizontal_factor='BINARY 1 45', source_initial_accumulation=None, source_maximum_accumulation=None, source_cost_multiplier=None, source_direction='FROM_SOURCE', distance_method='PLANAR', output_back_direction_raster_name=None, output_source_direction_raster_name=None, output_source_location_raster_name=None)¶ Calculates the least accumulative cost distance for each cell from or to the leastcost source over a cost surface, preserving euclidean distance metric
 Parameters
in_source_data –
Required. The input source locations.
This is a layer that identifies the cells or locations from or to which the least accumulated cost distance for every output cell location is calculated. This parameter can have either a raster layer input or a feature layer input. For rasters, the input type can be integer or floating point.
in_barrier_data – Optional. The input layer that defines the barriers. This parameter can have either a raster layer input or a feature layer input. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
in_surface_raster – Optional. 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.
in_cost_raster –
Optional. A raster defining the impedance or cost to move planimetrically through each cell.
The value at each cell location represents the costperunit 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).
in_horizontal_raster – Optional. 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.
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell. The values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle.
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
maximum_distance –
Optional. 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.
distance_method –
Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
source_initial_accumulation –
Optional. The starting cost from which to begin the cost calculations.
Allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of zero, the cost algorithm will begin with the value set by source_start_cost.
The values must be zero or greater. The default is 0.
source_maximum_accumulation –
Optional. The cost capacity for the traveler for a source.
The cost calculations continue for each source until the specified capacity is reached.
The values must be greater than zero. The default capacity is to the edge of the output raster.
source_cost_multiplier – Optional. Multiplier to apply to the cost values. Allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell. The values must be greater than zero. The default is 1.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE. Default value is FROM_SOURCE.
output_back_direction_raster_name – Optional string, determines whether back_direction_raster should be generated or not. Set this parameter, in order to generate the back_direction_raster. If set, the output of the function will be a named tuple.
output_source_direction_raster_name – Optional string. Name of the source_direction_raster. This parameter determines whether source_direction_raster should be generated or not. Set this parameter, in order to generate the source_direction_raster. If set, the output of the function will be a named tuple.
output_source_location_raster_name – Optional string. Name of the source_location_raster.This paramter determines whether source_location_raster should be generated or not. Set this parameter, in order to generate the source_location_raster. If set, the output of the function will be a named tuple.
 Returns
output raster with function applied
distance_allocation¶

arcgis.raster.functions.gbl.
distance_allocation
(in_source_data, in_barrier_data=None, in_surface_raster=None, in_cost_raster=None, in_vertical_raster=None, vertical_factor='BINARY 1 30 30', in_horizontal_raster=None, horizontal_factor='BINARY 1 45', source_field=None, source_initial_accumulation=None, source_maximum_accumulation=None, source_cost_multiplier=None, source_direction='FROM_SOURCE', distance_method='PLANAR', output_distance_accumulation_raster_name=None, output_back_direction_raster_name=None, output_source_direction_raster_name=None, output_source_location_raster_name=None)¶ Calculates, for each cell, its leastcost source based on the least accumulative cost over a cost surface, avoiding network distance distortion.”,
 Parameters
in_source_data –
Required. The input source locations.
This is a layer that identifies the cells or locations from or to which the least accumulated cost distance for every output cell location is calculated. This parameter can have either a raster layer input or a feature layer input. For rasters, the input type can be integer or floating point.
in_barrier_data – Optional. The input layer that defines the barriers. This parameter can have either a raster layer input or a feature layer input. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
in_surface_raster – Optional. 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.
in_cost_raster –
Optional. A raster defining the impedance or cost to move planimetrically through each cell.
The value at each cell location represents the costperunit 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).
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell. The values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA)
in_horizontal_raster – Optional. 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.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle.
source_field – Optional. The field used to assign values to the source locations. It must be an integer type. If the Value Raster has been set, the values in that input will take precedence over any setting for the source field.
source_initial_accumulation –
Optional. The starting cost from which to begin the cost calculations.
Allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of zero, the cost algorithm will begin with the value set by source_start_cost.
The values must be zero or greater. The default is 0.
source_maximum_accumulation –
Optional. The cost capacity for the traveler for a source.
The cost calculations continue for each source until the specified capacity is reached.
The values must be greater than zero. The default capacity is to the edge of the output raster.
source_cost_multiplier – Optional. Multiplier to apply to the cost values. Allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell. The values must be greater than zero. The default is 1.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE. Default value is FROM_SOURCE.
distance_method –
Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
output_back_direction_raster_name – Optional string, determines whether back_direction_raster should be generated or not. Set this parameter, in order to generate the back_direction_raster. If set, the output of the function will be a named tuple.
output_source_direction_raster_name – Optional string. Name of the source_direction_raster. This parameter determines whether source_direction_raster should be generated or not. Set this parameter, in order to generate the source_direction_raster. If set, the output of the function will be a named tuple.
output_source_location_raster_name – Optional string. Name of the source_location_raster.This paramter determines whether source_location_raster should be generated or not. Set this parameter, in order to generate the source_location_raster. If set, the output of the function will be a named tuple.
 Returns
output raster with function applied
euclidean_allocation¶

arcgis.raster.functions.gbl.
euclidean_allocation
(in_source_data, in_value_raster=None, max_distance=None, cell_size=None, source_field=None, distance_method='PLANAR', in_barrier_data=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_allocation() instead.
Calculates, for each cell, the nearest source based on Euclidean distance. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/euclideanallocationglobalfunction.htm
 Parameters
in_source_data – Required; The input raster that identifies the pixels or locations to which the Euclidean distance for every output pixel location is calculated. The input type can be an integer or a floatingpoint value. If the input Source Raster is floating point, the Value Raster must be set, and it must be an integer. The Value Raster will take precedence over any setting of the Source Field.
in_value_raster – Optional. The input integer raster that identifies the zone values that should be used for each input source location. For each source location pixel, the value defined by the Value Raster will be assigned to all pixels allocated to the source location for the computation. The Value Raster will take precedence over any setting for the Source Field .
max_distance – Optional. The threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance exceeds this value, the output value for the pixel location will be NoData. The default distance is to the edge of the output raster
cell_size – Optional. The pixel size at which the output raster will be created. If the cell size was explicitly set in Environments, that will be the default cell size. If Environments was not set, the output cell size will be the same as the Source Raster
source_field – Optional. The field used to assign values to the source locations. It must be an integer type. If the Value Raster has been set, the values in that input will take precedence over any setting for the Source Field.
distance_method –
Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
in_barrier_data – Optional barrier raster. The input raster that defines the barriers. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
 Returns
output raster with function applied
euclidean_back_direction¶

arcgis.raster.functions.gbl.
euclidean_back_direction
(in_source_data, cell_size=None, max_distance=None, distance_method='PLANAR', in_barrier_data=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation()with value specified for output_back_direction_raster_name, instead.
Calculates, for each cell, the direction, in degrees, to the neighboring cell along the shortest path back to the closest source while avoiding barriers.
The direction is calculated from each cell center to the center of the source cell that’s nearest to it.
The range of values is from 0 degrees to 360 degrees, with 0 reserved for the source cells. Due east (right) is 90 and the values increase clockwise (180 is south, 270 is west, and 360 is north).
For more information, see https://pro.arcgis.com/en/proapp/help/data/imagery/euclideanbackdirectionfunction.htm
 Parameters
in_source_data – Required; The input raster that identifies the pixels or locations to which the Euclidean direction for every output cell location is calculated. The input type can be an integer or a floatingpoint value.
cell_size – Optional. The pixel size at which the output raster will be created. If the cell size was explicitly set in Environments, that will be the default cell size. If Environments was not set, the output cell size will be the same as the Source Raster
max_distance – Optional. The threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance exceeds this value, the output value for the pixel location will be NoData. The default distance is to the edge of the output raster
distance_method –
Optional. Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
in_barrier_data – Optional barrier raster. The input raster that defines the barriers. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
 Returns
output raster with function applied
euclidean_direction¶

arcgis.raster.functions.gbl.
euclidean_direction
(in_source_data, cell_size=None, max_distance=None, distance_method='PLANAR', in_barrier_data=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation()with value specified for output_source_direction_raster_name, instead.
Calculates, for each cell, the Euclidean distance to the closest source.
 Parameters
in_source_data – Required raster layer. The input source locations. This is a raster that identifies the cells or locations to which the Euclidean distance for every output cell location is calculated. For rasters, the input type can be integer or floating point.
cell_size – Optional. Defines the threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance value exceeds this value, the output value for the cell location will be NoData. The default distance is to the edge of the output raster.
max_distance – Optional. Defines the threshold distance within which the direction to the closest source will be calculated. If the distance to the nearest source exceeds this, the output for that cell will be NoData. The default distance is to the extent of the output raster.
distance_method –
Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
in_barrier_data – Optional barrier raster. The input raster that defines the barriers. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
 Returns
output raster with function applied
euclidean_distance¶

arcgis.raster.functions.gbl.
euclidean_distance
(in_source_data, cell_size=None, max_distance=None, distance_method='PLANAR', in_barrier_data=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation() instead.
Calculates, for each cell, the Euclidean distance to the closest source. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/euclideandistanceglobalfunction.htm
 Parameters
in_source_data – Required. The input raster that identifies the pixels or locations to which the Euclidean distance for every output pixel location is calculated. The input type can be an integer or a floatingpoint value.
cell_size – Optional. The pixel size at which the output raster will be created. If the cell size was explicitly set in Environments, that will be the default cell size. If Environments was not set, the output cell size will be the same as the Source Raster
max_distance – Optional. The threshold that the accumulative distance values cannot exceed. If an accumulative Euclidean distance exceeds this value, the output value for the pixel location will be NoData. The default distance is to the edge of the output raster
distance_method –
Optional String; Determines whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
Planar  Planar measurements use 2D Cartesian mathematics to calculate length and area. The option is only available when measuring in a projected coordinate system and the 2D plane of that coordinate system will be used as the basis for the measurements. This is the default.
Geodesic  The shortest line between two points on the earth’s surface on a spheroid (ellipsoid). Therefore, regardless of input or output projection, the results do not change.
One use for a geodesic line is when you want to determine the shortest distance between two cities for an airplane’s flight path. This is also known as a great circle line if based on a sphere rather than an ellipsoid.
in_barrier_data – Optional barrier raster. The input raster that defines the barriers. The dataset must contain NoData where there are no barriers. Barriers are represented by valid values including zero. The barriers can be defined by an integer or floatingpoint raster.
 Returns
output raster with function applied
expand¶

arcgis.raster.functions.gbl.
expand
(input_raster, number_of_cells, zone_values)¶ Expands specified zones of a raster by a specified number of cells. https://pro.arcgis.com/en/proapp/help/data/imagery/expandfunction.htm
 Parameters
input_raster – Required. The input raster for which the identified zones are to be expanded. It must be of integer type.
number_of_cells – Required. The number of cells to expand by. The value must be integer, and can be 1 or greater.
zone_values – Required. The list of zones to expand. The zone values must be integer, and they can be in any order. The zone values can be specified as a list or as a string. If specified as a string and if it is required to specify multiple zones, use a semicolon (“;”) to separate the zone values.
 Returns
output raster with function applied
fill¶

arcgis.raster.functions.gbl.
fill
(input_surface_raster, zlimit=None)¶ Fills sinks in a surface raster to remove small imperfections in the data
 Parameters
input_surface_raster – Required. The input raster representing a continuous surface.
zlimit – Optional. Data type  Double. Maximum elevation difference between a sink and its pour point to be filled. If the difference in zvalues between a sink and its pour point is greater than the z_limit, that sink will not be filled. The value for zlimit must be greater than zero. Unless a value is specified for this parameter, all sinks will be filled, regardless of depth.
 Returns
output raster with function applied
flow_accumulation¶

arcgis.raster.functions.gbl.
flow_accumulation
(input_flow_direction_raster, input_weight_raster=None, data_type='FLOAT', flow_direction_type='D8')¶ ” Replaces cells of a raster corresponding to a mask with the values of the nearest neighbors.
 Parameters
input_flow_direction_raster – Required. The input raster that shows the direction of flow out of each cell.
input_weight_raster – An optional input raster for applying a weight to each cell.
data_type – Optional. Choice List: INTEGER, FLOAT, DOUBLE
 Returns
output raster with function applied
flow_direction¶

arcgis.raster.functions.gbl.
flow_direction
(input_surface_raster, force_flow='NORMAL', flow_direction_type='D8', generate_out_drop_raster=False)¶ 
The
flow_direction
task creates a raster of flow direction from each cell to its steepest downslope neighbor.This task supports three flow modeling algorithms. Those are D8, Multi Flow Direction (MFD), and DInfinity (DINF).
D8 flow modeling algorithm
The D8 flow method models flow direction from each cell to its steepest downslope neighbor.
The output of the FlowDirection task run with the D8 flow direction type is an integer raster whose values range from 1255. The values for each direction from the center are the following:
For example, if the direction of steepest drop was to the left of the current processing cell, its flow direction would be coded at 16.
The following are additional considerations for using the D8 flow method:
If a cell is lower than its eight neighbors, that cell is given the value of its lowest neighbor, and flow is defined toward this cell. If multiple neighbors have the lowest value, the cell is still given this value, but flow is defined with one of the two methods explained below. This is used to filter out onecell sinks, which are considered noise.
If a cell has the same change in zvalue in multiple directions and that cell is part of a sink, the flow direction is referred to as undefined. In such cases, the value for that cell in the output flow direction raster will be the sum of those directions. For example, if the change in zvalue is the same both to the right (flow direction = 1) and down (flow direction = 4), the flow direction for that cell is 5.
If a cell has the same change in zvalue in multiple directions and is not part of a sink, the flow directions is assigned with a lookup table defining the most likely direction. See Greenlee (1987).
The output drop raster is calculated as the difference in zvalue divided by the path length between the cell centers, expressed in percentages. For adjacent cells, this is analogous to the percent slop between cells. Across a flat area, the distance becomes the distance to the nearest cell of lower elevation. The result is a map of percent rise in the path of steepest descent from each cell.
When calculating a drop raster in flat areas, the distance to diagonally adjacent cells (1.41421 * cell size) is approximated by 1.5 * cell size for improved performance.
With the forceFlow parameter set to the default value False, a cell at the edge of the surface raster will flow towards the inner cell with the steepest zvalue. If the drop is less than or equal to zero, the cell will flow out of the surface raster.
MFD flow modeling algorithm
The MFD algorithm, described by Qin et al. (2007), partitions flow from a cell to all downslope neighbors. A flowpartition exponent is created from an adaptive approach based on local terrain conditions and is used to determine fraction of flow draining to all downslope neighbors.
When the MFD flow direction output is added to a map, it only displays the D8 flow direction. As MFD flow directions have potentially multiple values tied to each cell (each value corresponds to proportion of flow to each downslope neighbor), it is not easily visualized. However, an MFD flow direction output raster is an input recognized by the FlowAccumulation task that would utilize the MFD flow directions to proportion and accumulate flow from each cell to all downslope neighbors.
DINF flow modeling algorithm
The DINF flow method, described by Tarboton (1997), determines flow direction as the steepest downward slope on eight triangular facets formed in a 3x3 cell window centered on the cell of interest. The flow direction output is a floatingpoint raster represented as a single angle in degrees going counterclockwise from 0 (due east) to 360 (also due east).
Argument
Description
input_surface_raster
Required. The input raster representing a continuous surface.
force_flow
Optional string. Specifies if edge cells will always flow outward or follow normal flow rules.
Choice list: [‘NORMAL’, ‘FORCE’]
The default value is ‘NORMAL’.
flow_direction_type
Optional string. Specifies the flow direction type to use.
Choice list: [‘D8’, ‘MFD’, ‘DINF’]
D8
is for the D8 flow direction type. This is the default.MFD
is for the Multi Flow Direction type.DINF
is for the DInfinity type.
The default value is ‘D8’.
generate_out_drop_raster
Optional Boolean, determines whether out_drop_raster should be generated or not. Set this parameter to True, in order to generate the out_drop_raster. If set to true, the output will be a named tuple with name values being output_flow_direction_service and output_drop_service.
 Returns
output raster with function applied
# Usage Example: To add an image to an existing image collection. flow_direction_output = flow_direction(input_surface_raster=in_raster, force_flow="NORMAL", flow_direction_type="D8", generate_out_drop_raster=True) out_var = flow_direction_output.save() out_var.output_flow_direction_service # gives you the output flow direction imagery layer item out_var.output_drop_service # gives you the output drop raster imagery layer item
flow_distance¶

arcgis.raster.functions.gbl.
flow_distance
(input_stream_raster, input_surface_raster, input_flow_direction_raster=None, distance_type='VERTICAL', flow_direction_type='D8', statistics_type='MINIMUM')¶ This function computes, for each cell, the minimum downslope horizontal or vertical distance to cell(s) on a stream or river into which they flow. If an optional flow direction raster is provided, the down slope direction(s) will be limited to those defined by the input flow direction raster.
 Parameters
input_stream_raster – Required. An input raster that represents a linear stream network
input_surface_raster – Required. The input raster representing a continuous surface.
input_flow_direction_raster – Optional. The input raster that shows the direction of flow out of each cell.
distance_type – Optional. VERTICAL or HORIZONTAL distance to compute; if not specified, VERTICAL distance is computed.
flow_direction_type –
Optional String; Defines the type of the input flow direction raster.
D8  The input flow direction raster is of type D8. This is the default.
MFD  The input flow direction raster is of type Multi Flow Direction (MFD).
Dinf  The input flow direction raster is of type DInfinity (DINF).
statistics_type –
Optional String; Determines the statistics type used to compute flow distance over multiple flow paths. If there is only a single flow path from each cell to a cell on the stream, all statistics types produce the same result.
MINIMUM  Where multiple flow paths exist, minimum flow distance in computed. This is the default.
WEIGHTED_MEAN  Where multiple flow paths exist, a weighted mean of flow distance is computed. Flow proportion from a cell to its downstream neighboring cells are used as weights for computing weighted mean.
MAXIMUM  When multiple flow paths exist, maximum flow distance is computed.
 Returns
output raster with function applied
flow_length¶

arcgis.raster.functions.gbl.
flow_length
(input_flow_direction_raster, direction_measurement='DOWNSTREAM', input_weight_raster=None)¶ Creates a raster layer of upstream or downstream distance, or weighted distance, along the flow path for each cell.
A primary use of the Flow Length function is to calculate the length of the longest flow path within a given basin. This measure is often used to calculate the time of concentration of a basin. This would be done using the Upstream option.
The function can also be used to create distancearea diagrams of hypothetical rainfall and runoff events using the weight raster as an impedance to movement downslope.
For more information, see https://pro.arcgis.com/en/proapp/help/data/imagery/flowlengthfunction.htm
 Parameters
input_flow_direction_raster – Required. The input raster that shows the direction of flow out of each cell. The flow direction raster can be created by running the Flow Direction function.
direction_measurement –
Optional String. The direction of measurement along the flow path.
DOWNSTREAM  Calculates the downslope distance along the flow path, from each cell to a sink or outlet on the edge of the raster. this is the default.
UPSTREAM  Calculates the longest upslope distance along the flow path, from each cell to the top of the drainage divide.
input_weight_raster – An optional input raster for applying a weight to each cell. If no weight raster is specified, a default weight of 1 will be applied to each cell.
 Returns
output raster with function applied
kernel_density¶

arcgis.raster.functions.gbl.
kernel_density
(in_features, population_field, cell_size=None, search_radius=None, area_unit_scale_factor='SQUARE_MAP_UNITS', out_cell_values='DENSITIES', method='PLANAR', in_barriers=None)¶ Calculates a magnitudeperunit area from point or polyline features using a kernel function to fit a smoothly tapered surface to each point or polyline. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/kerneldensityglobalfunction.htm
 Parameters
in_features – Required. The input point or line features for which to calculate the density
population_field – Required. Field denoting population values for each feature. The Population Field is the count or quantity to be spread across the landscape to create a continuous surface. Values in the population field may be integer or floating point.
cell_size – Optional. The pixel size for the output raster dataset. If the Cellsize has been set in the geoprocessing Environments it will be the default.
search_radius – Optional. The search radius within which to calculate density. Units are based on the linear unit of the projection.
area_unit_scale_factor –
Optional. The desired area units of the output density values.
SQUARE_MAP_UNITSFor the square of the linear units of the output spatial reference.
SQUARE_MILESFor (U.S.) miles.
SQUARE_KILOMETERSFor kilometers.
ACRES For (U.S.) acres.
HECTARESFor hectares.
SQUARE_METERSFor meters.
SQUARE_YARDSFor (U.S.) yards.
SQUARE_FEETFor (U.S.) feet.
SQUARE_INCHESFor (U.S.) inches.
SQUARE_CENTIMETERSFor centimeters.
SQUARE_MILLIMETERSFor millimeters.
out_cell_values –
Optional. Determines what the values in the output raster represent.
DENSITIESThe output values represent the predicted density value. This is the default.
EXPECTED_COUNTSThe output values represent the predicted amount of the phenomenon within each pixel. Since the pixel value is linked to the specified Cellsize, the resulting raster cannot be resampled to a different pixel size and still represent the amount of the phenomenon.
method –
Optional. Determines whether to use a shortest path on a spheroid (geodesic) or a flat earth (planar) method.
PLANARUses planar distances between the features. This is the default.
GEODESICUses geodesic distances between features. This method takes into account the curvature of the spheroid and correctly deals with data near the poles and the International dateline.
in_barriers – Optional. The dataset that defines the barriers. The barriers can be a feature layer of polyline or polygon features. (Parameter available in ArcGIS Image Server 10.9 and higher.)
 Returns
output raster
least_cost_path¶

arcgis.raster.functions.gbl.
least_cost_path
(in_source_data, in_cost_raster, in_destination_data, destination_field=None, path_type='EACH_CELL', max_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.9.0: Please use arcgis.raster.functions.gbl.distance_accumulation() and arcgis.raster.gbl.optimal_path_as_raster() instead.
Calculates the leastcost path from a source to a destination. The least accumulative cost distance is calculated for each pixel over a cost surface, to the nearest source. This produces an output raster that records the leastcost path, or paths, from selected locations to the closest source pixels defined within the accumulative cost surface, in terms of cost distance. For more information, see http://pro.arcgis.com/en/proapp/help/data/imagery/leastcostpathglobalfunction.htm
 Parameters
in_source_data – Required. The input raster that identifies the pixels or locations to which the least accumulated cost distance for every output pixel location is calculated. The Source Raster can be an integer or a floatingpoint value. If the input Source Raster is floating point, the Value Raster must be set, and it must be an integer. The Value Raster will take precedence over any setting of the Source Field.
in_cost_raster – Required. A raster defining the cost or impedance to move planimetrically through each pixel. The value at each pixel location represents the costperunit distance for moving through it. Each pixel location value is multiplied by the pixel resolution, while also compensating for diagonal movement to obtain the total cost of passing through the pixel. The values of the Cost Raster can be integer or floating point, but they cannot be negative or zero.
in_destination_data – Required. A raster that identifies the pixels from which the leastcost path is determined to the least costly source. This input consists of pixels that have valid values, and the remaining pixels must be assigned NoData. Values of 0 are valid.
destination_field – Optional. The field used to obtain values for the destination locations.
path_type –
Optional. A keyword defining the manner in which the values and zones on the input destination data will be interpreted in the cost path calculations:
EACH_CELLA leastcost path is determined for each pixel with valid values on the input destination data, and saved on the output raster. Each cell of the input destination data is treated separately, and a leastcost path is determined for each from cell.
EACH_ZONEA leastcost path is determined for each zone on the input destination data and saved on the output raster. The leastcost path for each zone begins at the pixel with the lowest cost distance weighting in the zone.
BEST_SINGLEFor all pixels on the input destination data, the leastcost path is derived from the pixel with the minimum of the leastcost paths to source cells.
max_distance – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_field – Optional. The field used to assign values to the source locations. It must be an integer type. If the Value Raster has been set, the values in that input will take precedence over any setting for the Source Field.
source_cost_multiplier – Optional. The threshold that the accumulative cost values cannot exceed. If an accumulative cost distance exceeds this value, the output value for the pixel 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.
source_start_cost – Optional. The starting cost from which to begin the cost calculations. This parameter allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of 0, the cost algorithm will begin with the value set here. The default is 0. The value must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a pixel is multiplied by the resistance rate and added to the cost to move into the subsequent pixel. It is a modified version of a compound interest rate formula that is used to calculate the apparent cost of moving through a pixel. As the value of the resistance rate increases, it increases the cost of the pixels that are visited later. The greater the resistance rate, the higher the cost to reach the next pixel, which is compounded for each subsequent movement. Since the resistance rate is similar to a compound rate and generally the accumulative cost values are very large, small resistance rates are suggested, such as 0.005 or even smaller, depending on the accumulative cost values. The default is 0. The values must be 0 or greater. A numeric (double) value or a field from the Source Raster can be used for this parameter.
source_capacity – Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached. The default capacity is to the edge of the output raster. The values must be greater than 0. A double numeric value or a field from the Source Raster can be used for this parameter.
source_direction –
Optional. Defines the direction of the traveler when applying the source resistance rate and the source starting cost.
FROM_SOURCE  The source resistance rate and source starting cost will be applied beginning at the input source and moving out to the nonsource cells. This is the default.
TO_SOURCE  The source resistance rate and source starting cost will be applied beginning at each nonsource cell and moving back to the input source.
Either specify the FROM_SOURCE or TO_SOURCE keyword, which will be applied to all sources, or specify a field in the Source Raster that contains the keywords to identify the direction of travel for each source. That field must contain the string FROM_SOURCE or TO_SOURCE.
 Returns
output raster with function applied
nibble¶

arcgis.raster.functions.gbl.
nibble
(input_raster, input_mask_raster, nibble_values='ALL_VALUES', nibble_no_data='PRESERVE_NODATA', input_zone_raster=None)¶ Replaces cells of a raster corresponding to a mask with the values of the nearest neighbors.
 Parameters
input_raster – Required. The input rater to nibble. The input raster can be either integer or floating point type.
input_mask_raster – Required. The input raster to use as the mask.
nibble_values – Optional. possbile options are “ALL_VALUES” and “DATA_ONLY”. Default is “ALL_VALUES”
nibble_no_data – Optional. PRESERVE_NODATA or PROCESS_NODATA possible values; Default is PRESERVE_NODATA.
input_zone_raster – Optional. The input raster that defines the zones to use as the mask.
 Returns
output raster with function applied
optimal_path_as_raster¶

arcgis.raster.functions.gbl.
optimal_path_as_raster
(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, destination_field=None, path_type='EACH_ZONE')¶ Calculates, for each cell, its leastcost source based on the least accumulative cost over a cost surface, avoiding network distance distortion.”,
 Parameters
in_destination_data –
Required layer. A layer that identifies locations from which the optimal path is determined to the least costly source. This parameter can have either a raster layer input or a feature layer input.
If the input is a raster, it must consists of cells that have valid values (zero is a valid value), and the remaining cells must be assigned NoData.
in_distance_accumulation_raster –
Required raster layer. The distance accumulation raster is used to determine the optimal path from the sources to the destinations.
The distance accumulation raster is usually created with the distance_accumulation or distance_allocation functions. Each cell in the distance accumulation raster represents the minimum accumulative cost distance over a surface from each cell to a set of source cells.
in_back_direction_raster – Required raster layer. The back direction raster contains calculated directions in degrees. The direction identifies the next cell along the optimal path back to the least accumulative cost source while avoiding barriers.
destination_field – Optional string. The field to be used to obtain values for the destination locations.
path_type –
Optional string. A keyword defining the manner in which the values and zones on the input destination data will be interpreted in the cost path calculations.
EACH_ZONE  For each zone on the input destination data, a leastcost path is determined and saved on the output raster. With this option, the leastcost path for each zone begins at the cell with the lowest cost distance weighting in the zone. This is the default.
BEST_SINGLE  For all cells on the input destination data, the leastcost path is derived from the cell with the minimum of the leastcost paths to source cells.
EACH_CELL  For each cell with valid values on the input destination data, a leastcost path is determined and saved on the output raster. With this option, each cell of the input destination data is treated separately, and a leastcost path is determined for each from cell.
 Returns
output raster with function applied
path_distance¶

arcgis.raster.functions.gbl.
path_distance
(in_source_data, in_cost_raster=None, in_surface_raster=None, in_horizontal_raster=None, in_vertical_raster=None, horizontal_factor='BINARY', vertical_factor='BINARY', maximum_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation() instead.
Calculates, for each cell, the least accumulative cost distance from or to the leastcost source, while accounting for surface distance along with horizontal and vertical cost factors
 Parameters
in_source_data –
Required. The input source locations. This is a raster that identifies the cells or locations from or to which the least accumulated cost distance for every output cell location is calculated.
The raster input type can be integer or floating point.
in_cost_raster – Optional. A raster defining the impedance or cost to move planimetrically through each cell. The value at each cell location represents the costperunit 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).
in_surface_raster – Optional. 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.
in_horizontal_raster – Optional. 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.
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell. The values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle. Possible values are: “BINARY”, “LINEAR”, “FORWARD”, “INVERSE_LINEAR”
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA) Possible values are: “BINARY”, “LINEAR”, “SYMMETRIC_LINEAR”, “INVERSE_LINEAR”, “SYMMETRIC_INVERSE_LINEAR”, “COS”, “SEC”, “COS_SEC”, “SEC_COS”
maximum_distance –
Optional. 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.
source_cost_multiplier – Optional. Multiplier to apply to the cost values.
source_start_cost – Optional. The starting cost from which to begin the cost calculations.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a cell is multiplied by the resistance rate and added to the cost to move into the subsequent cell.
source_capacity – Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached. The values must be greater than zero. The default capacity is to the edge of the output raster.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE
 Returns
output raster with function applied
path_distance_allocation¶

arcgis.raster.functions.gbl.
path_distance_allocation
(in_source_data, in_cost_raster=None, in_surface_raster=None, in_horizontal_raster=None, in_vertical_raster=None, horizontal_factor='BINARY', vertical_factor='BINARY', maximum_distance=None, in_value_raster=None, source_field=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_allocation() instead.
Calculates the leastcost source for each cell based on the least accumulative cost over a cost surface, while accounting for surface distance along with horizontal and vertical cost factors.
 Parameters
in_source_data –
Required. The input source locations. This is a raster that identifies the cells or locations from or to which the least accumulated cost distance for every output cell location is calculated.
For rasters, the input type can be integer or floating point.
If the input source raster is floating point, the {in_value_raster} must be set, and it must be of integer type. The value raster will take precedence over any setting of the {source_field}.
in_cost_raster – Optional. A raster defining the impedance or cost to move planimetrically through each cell.
in_surface_raster – Optional. A raster defining the elevation values at each cell location.
in_horizontal_raster – Optional. A raster defining the horizontal direction at each cell.
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle. Possible values are: “BINARY”, “LINEAR”, “FORWARD”, “INVERSE_LINEAR”
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA) Possible values are: “BINARY”, “LINEAR”, “SYMMETRIC_LINEAR”, “INVERSE_LINEAR”, “SYMMETRIC_INVERSE_LINEAR”, “COS”, “SEC”, “COS_SEC”, “SEC_COS”
maximum_distance – Optional. Defines the threshold that the accumulative cost values cannot exceed.
in_value_raster – Optional. The input integer raster that identifies the zone values that should be used for each input source location. For each source location cell, 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}.
source_field – Optional. The field used to assign values to the source locations. It must be of 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}.
source_cost_multiplier –
Optional. Multiplier to apply to the cost values. Allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell.
The values must be greater than zero. The default is 1.
source_start_cost –
Optional. The starting cost from which to begin the cost calculations. Allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of zero, the cost algorithm will begin with the value set by source_start_cost.
The values must be zero or greater. The default is 0.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a cell is multiplied by the resistance rate and added to the cost to move into the subsequent cell.
source_capacity –
Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached.
The values must be greater than zero. The default capacity is to the edge of the output raster.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE
 Returns
output raster with function applied
path_distance_back_link¶

arcgis.raster.functions.gbl.
path_distance_back_link
(in_source_data, in_cost_raster=None, in_surface_raster=None, in_horizontal_raster=None, in_vertical_raster=None, horizontal_factor='BINARY', vertical_factor='BINARY', maximum_distance=None, source_cost_multiplier=None, source_start_cost=None, source_resistance_rate=None, source_capacity=None, source_direction=None)¶ Deprecated since version 1.8.1: Please use arcgis.raster.functions.gbl.distance_accumulation()with value specified for output_back_direction_raster_name, instead.
Defines the neighbor that is the next cell on the least accumulative cost path to the leastcost source, while accounting for surface distance along with horizontal and vertical cost factors.
 Parameters
in_source_data –
Required. The input source locations.
This is a raster that identifies the cells or locations from or to which the least accumulated cost distance for every output cell location is calculated.
For rasters, the input type can be integer or floating point.
in_cost_raster –
Optional. A raster defining the impedance or cost to move planimetrically through each cell.
The value at each cell location represents the costperunit 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).
in_surface_raster – Optional. 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.
in_horizontal_raster – Optional. 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.
in_vertical_raster – Optional. A raster defining the vertical (z) value for each cell. The values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.
horizontal_factor – Optional. The Horizontal Factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle. Possible values are: “BINARY”, “LINEAR”, “FORWARD”, “INVERSE_LINEAR”
vertical_factor – Optional. The Vertical Factor defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA) Possible values are: “BINARY”, “LINEAR”, “SYMMETRIC_LINEAR”, “INVERSE_LINEAR”, “SYMMETRIC_INVERSE_LINEAR”, “COS”, “SEC”, “COS_SEC”, “SEC_COS”
maximum_distance –
Optional. 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.
source_cost_multiplier – Optional. Multiplier to apply to the cost values. Allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell. The values must be greater than zero. The default is 1.
source_start_cost –
Optional. The starting cost from which to begin the cost calculations. Allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of zero, the cost algorithm will begin with the value set by source_start_cost.
The values must be zero or greater. The default is 0.
source_resistance_rate – Optional. This parameter simulates the increase in the effort to overcome costs as the accumulative cost increases. It is used to model fatigue of the traveler. The growing accumulative cost to reach a cell is multiplied by the resistance rate and added to the cost to move into the subsequent cell.
source_capacity –
Optional. Defines the cost capacity for the traveler for a source. The cost calculations continue for each source until the specified capacity is reached.
The values must be greater than zero. The default capacity is to the edge of the output raster.
source_direction – Optional. Defines the direction of the traveler when applying horizontal and vertical factors, the source resistance rate, and the source starting cost. Possible values: FROM_SOURCE, TO_SOURCE
 Returns
output raster with function applied
region_group¶

arcgis.raster.functions.gbl.
region_group
(in_raster, number_of_neighbor_cells='FOUR', zone_connectivity='WITHIN', add_link='ADD_LINK', excluded_value=0)¶ Records, for each cell in the output, the identity of the connected region to which that cell belongs. A unique number is assigned to each region.
 Parameters
in_raster – Required. The input raster for which unique connected regions of cells will be identified. It must be of integer type.
number_of_neighbor_cells –
Optional. The number of neighboring cells to use when evaluating connectivity between cells that define a region. The default is FOUR.
FOUR  Connectivity is evaluated for the four nearest (orthogonal) neighbors of each input cell.
EIGHT  Connectivity is evaluated for the eight nearest neighbors (both orthogonal and diagonal) of each input cell.
zone_connectivity –
Optional. Defines which cell values should be considered when testing for connectivity. The default is WITHIN.
WITHIN  Connectivity for a region is evaluated for input cells that are part of the same zone (cell value). The only cells that can be grouped are cells from the same zone that meet the spatial requirements of connectivity specified by the number_of_neighbor_cells parameter (four or eight).
CROSS  Connectivity for a region is evaluated between cells of any value, except for the zone cells identified to be excluded by the excluded_value parameter, and subject to the spatial requirements specified by the number_of_neighbor_cells parameter.
add_link –
Optional. Specifies whether a link field will be added to the table of the output when the zone_connectivity parameter is set to WITHIN. It is ignored if that parameter is set to CROSS.
ADD_LINK  A LINK field will be added to the table of the output raster. This field stores the value of the zone to which the cells of each region in the output belong, according to the connectivity rule defined in the number_of_neighbor_cells parameter. This is the default.
NO_LINK  A LINK field will not be added. The attribute table for the output raster will only contain the Value and Count fields.
excluded_value –
Optional. A value that excludes all cells of that zone value from the connectivity evaluation. If a cell location contains the value, no spatial connectivity will be evaluated, regardless of how the number of neighbors is specified.
Cells with the excluded value will be treated in a similar way to NoData cells, and are eliminated from consideration in the operation. Input cells that contain the excluded value will receive 0 on the output raster. The excluded value is similar to the concept of a background value.
If a zone in the input raster has a value of 0, to have that zone be included in the operation, specify a value for this parameter that is not present in the input. For example, if an input raster has values of 0, 1, 2, and 3, specify an excluded_value of 99. Otherwise, all cells of value 0 in the input will be 0 in the output, and will also not have their individual regions determined.
 Returns
output raster with function applied
shrink¶

arcgis.raster.functions.gbl.
shrink
(input_raster, number_of_cells, zone_values)¶ Shrinks the selected zones by a specified number of cells by replacing them with the value of the cell that is most frequent in its neighborhood. https://pro.arcgis.com/en/proapp/help/data/imagery/shrinkfunction.htm
 Parameters
input_raster – Required. The input raster for which the identified zones are to be shrunk. It must be of integer type.
number_of_cells – Required. The number of cells by which to shrink each specified zone. The value must be integer, and can be 1 or greater.
zone_values – Required. The list of zones to shrink. The zone values must be integer, and they can be in any order. The zone values can be specified as a list or as a string. If specified as a string and if it is required to specify multiple zones, use a semicolon (“;”) to separate the zone values.
 Returns
output raster with function applied
sink¶

arcgis.raster.functions.gbl.
sink
(input_flow_direction_raster)¶ Creates a raster layer identifying all sinks or areas of internal drainage.
The value type for the Sink function output raster layer is floating point.
For more information, see https://pro.arcgis.com/en/proapp/help/data/imagery/sinkfunction.htm
 Parameters
input_flow_direction_raster –
Required. The input raster that shows the direction of flow out of each cell.
The flow direction raster can be created by running the Flow Direction function.
 Returns
output raster with function applied
snap_pour_point¶

arcgis.raster.functions.gbl.
snap_pour_point
(in_pour_point_data, in_accumulation_raster=None, snap_distance=0, pour_point_field=None)¶ Snaps pour points to the cell of highest flow accumulation within a specified distance.
For more information, see https://pro.arcgis.com/en/proapp/help/data/imagery/snappourpointfunction.htm
 Parameters
in_pour_point_data – Required. The input pour point locations that are to be snapped. For an input raster layer, all cells that are not NoData (that is, have a value) will be considered pour points and will be snapped.
in_accumulation_raster – optional raster; The input flow accumulation raster layer.
snap_distance – Optional. Maximum distance, in map units, to search for a cell of higher accumulated flow. Default is 0
pour_point_field – Optional. Field used to assign values to the pour point locations.
 Returns
output raster with function applied
stream_link¶

arcgis.raster.functions.gbl.
stream_link
(input_raster, input_flow_direction_raster)¶ Assigns unique values to sections of a raster linear network between intersections
 Parameters
input_raster – Required. An input raster that represents a linear stream network.
input_flow_direction_raster – Required. The input raster that shows the direction of flow out of each cell
 Returns
output raster with function applied
stream_order¶

arcgis.raster.functions.gbl.
stream_order
(input_stream_raster, input_flow_direction_raster=None, order_method='STRAHLER')¶ Creates a raster layer that assigns a numeric order to segments of a raster representing branches of a linear network.
For more information, see https://pro.arcgis.com/en/proapp/help/data/imagery/streamorderfunction.htm
 Parameters
input_stream_raster – Required. An input stream raster that represents a linear stream network.
input_flow_direction_raster – Optional. The input raster that shows the direction of flow out of each cell The flow direction raster can be created by running the Flow Direction function.
order_method –
Optional. The method used for assigning stream order.
STRAHLER  The method of stream ordering proposed by Strahler in 1952. Stream order only increases when streams of the same order intersect. Therefore, the intersection of a firstorder and secondorder link will remain a secondorder link, rather than creating a thirdorder link. This is the default.
SHREVE  The method of stream ordering by magnitude, proposed by Shreve in 1967. All links with no tributaries are assigned a magnitude (order) of one. Magnitudes are additive downslope. When two links intersect, their magnitudes are added and assigned to the downslope link.
 Returns
output raster with function applied
viewshed¶

arcgis.raster.functions.gbl.
viewshed
(input_raster, input_observer_features, analysis_method='ALL_SIGHTLINES', analysis_type='FREQUENCY', vertical_error='0 Meters', refractivity_coefficient=0.13, surface_offset='0 Meters', observer_elevation=None, observer_offset='1 Meters', inner_radius=None, inner_radius_is_3d=False, outer_radius=None, outer_radius_is_3d=False, horizontal_start_angle=0, horizontal_end_angle=360, vertical_upper_angle=90, vertical_lower_angle= 90)¶ Determines the raster surface locations visible to a set of observer features using geodesic methods.
Argument
Description
input_raster
Required. The input surface raster. It can be an integer or a floatingpoint raster.
The input is transformed into a 3D geocentric coordinate system during the visibility calculation. NoData cells on the input raster do not block the visibility determination.
input_observer_features
Required. The input feature class that identifies the observer locations. It can be point, multipoint, or polyline features.
The input feature class is transformed into a 3D geocentric coordinate system during the visibility calculation. Observers outside of the extent of the surface raster, or located on NoData cells, will be ignored in the calculation.
analysis_method
Choose the method by which the visibility will be calculated. This option allows you to trade some accuracy for increased performance.
ALL_SIGHTLINES  A sightline is performed on every pixel in the raster in order to establish visible areas. This is the default method.
PERIMETER_SIGHTLINES  Sightlines are only performed to the pixels on the perimeter of the visible areas in order to establish visibility areas. This method has a better performance than the ALL_SIGHTLINES method since less sightlines are in the calculation.
analysis_type
Choose which type of visibility analysis you wish to perform, either determining how visible each cell is to the observers, or identifying for each surface location which observers are visible.
FREQUENCY  The number of times that each pixel location in the input surface raster can be seen by the input observation locations (as points or as vertices for polyline observer features). This is the default.
OBSERVERS  The output identifies exactly which observer points are visible from each raster surface location. The allowed maximum number of input observers is 32 with this analysis type.
vertical_error
The amount of uncertainty, measured as Root Mean Square error (RMSE), in the surface elevation values. It is a floatingpoint value representing the expected error of the input elevation values. When this parameter is assigned a value greater than 0, the output visibility raster will be floating point. In this case, each pixel value on the output visibility raster represents the sum of probabilities that the cell is visible to any of the observers.
When the Analysis Type is OBSERVERS or the Analysis Method is PERIMETER_SIGHTLINES, this parameter is not honoured.
refractivity_coefficient
Optional integer. Coefficient of the refraction of visible light in air.
The default value is 0.13.
surface_offset
This value indicates a vertical distance (in surface units) to be added to the zvalue of each target pixel as it is considered for visibility. It should be a positive integer or floatingpoint value.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
observer_elevation
This value is used to define the surface elevations of the observer points or vertices.
It can be a field in the input input_observer_features or a numerical value. If this parameter is not specified, the observer elevation will be obtained from the surface raster using bilinear interpolation. If this parameter is set to a value, then that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
observer_offset
This value indicates a vertical distance (in surface units) to be added to observer elevation. It should be a positive integer or floatingpoint value.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
inner_radius
This value defines the start (minimum) distance from which visibility is determined. Pixels closer than this distance are considered not visible in the output but can still block visibility of the pixels between the inner_radius and the outer_radius. The default value is 0.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
inner_radius_is_3d
Type of distance for the inner radius parameter.
False  Inner Radius is to be interpreted as a 2D distance. This is the default.
True  Inner Radius is to be interpreted as a 3D distance.
outer_radius
This value defines the maximum distance from which visibility is determined. Pixels beyond this distance are excluded from the analysis.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
outer_radius_is_3d
Type of distance for the outer_radius parameter.
False  outer_radius is to be interpreted as a 2D distance. This is the default.
True  outer_radius is to be interpreted as a 3D distance.
horizontal_start_angle
This value defines the start angle of the horizontal scan range. The value should be specified in degrees from 0 to 360.0, where 0 is oriented to north. The default value is 0.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
horizontal_end_angle
This value defines the end angle of the horizontal scan range. The value should be specified in degrees from 0 to 360.0, where 0 is oriented to north. The default value is 360.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
vertical_upper_angle
This value defines the upper vertical angle limit of the scan above a horizontal plane. The value should be specified in degrees from 0 to 90.0, which can be integer or floating point. The default value is 90.0.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
vertical_lower_angle
This value defines the lower vertical angle limit of the scan below a horizontal plane. The value should be specified in degrees from 90.0 to 0, which can be integer or floating point. The default value is 90.0.
It can be a field in the input_observer_features or a numerical value. If this parameter is set to a value, that value will be applied to all the observers. To specify different values for each observer, set this parameter to a field in the input_observer_features.
 Returns
output raster with function applied
watershed¶

arcgis.raster.functions.gbl.
watershed
(input_flow_direction_raster, input_pour_point_data, pour_point_field=None)¶ Replaces cells of a raster corresponding to a mask with the values of the nearest neighbors.
 Parameters
input_flow_direction_raster – Required raster layer. The input raster that shows the direction of flow out of each cell.
input_pour_point_data – Required raster layer. This raster represents cells above which the contributing area, or catchment, will be determined. All cells that are not NoData will be used as source cells.
pour_point_field – Optional string. Field used to assign values to the pour point locations. For a raster pour point dataset, Value is used by default.
 Returns
output raster with function applied
zonal_statistics¶

arcgis.raster.functions.gbl.
zonal_statistics
(in_zone_data, zone_field, in_value_raster, ignore_nodata=True, statistics_type='MEAN', process_as_multidimensional=None, percentile_value=90, percentile_interpolation_type='AUTO_DETECT')¶ Calculates statistics on values of a raster within the zones of another dataset. For more information see, Zonal Statistics function
 Parameters
in_zone_data – Required raster layer. Dataset that defines the zones. The zones can be defined by an integer raster
zone_field – Required string or integer. Field that holds the values that define each zone. It can be an integer or a string field of the zone raster.
in_value_raster – Required raster layer. Raster that contains the values on which to calculate a statistic.
ignore_no_data –
Optional bool. Denotes whether NoData values in the Value Raster will influence the results of the zone that they fall within.
True  Within any particular zone, only pixels that have a value in the Value Raster will be used in determining the output value for that zone. NoData pixels in the Value Raster will be ignored in the statistic calculation. This is the default.
False  Within any particular zone, if any NoData pixels exist in the Value Raster, it is deemed that there is insufficient information to perform statistical calculations for all the pixels in that zone; therefore, the entire zone will receive the NoData value on the output raster.
statistics_type –
Optional string. Statistic type to be calculated. Default is MEAN
MEANCalculates the average of all pixels in the Value Raster that belong to the same zone as the output pixel.
MAJORITYDetermines the value that occurs most often of all pixels in the Value Raster that belong to the same zone as the output pixel.
MAXIMUMDetermines the largest value of all pixels in the Value Raster that belong to the same zone as the output pixel.
MEDIANDetermines the median value of all pixels in the Value Raster that belong to the same zone as the output pixel.
MINIMUMDetermines the smallest value of all pixels in the Value Raster that belong to the same zone as the output pixel.
MINORITYDetermines the value that occurs least often of all pixels in the Value Raster that belong to the same zone as the output pixel.
RANGECalculates the difference between the largest and smallest value of all pixels in the Value Raster that belong to the same zone as the output pixel.
STDCalculates the standard deviation of all pixels in the Value Rasterthat belong to the same zone as the output pixel.
SUMCalculates the total value of all pixels in the Value Raster that belong to the same zone as the output pixel.
VARIETYCalculates the number of unique values for all pixels in the Value Raster that belong to the same zone as the output pixel.
PERCENTILE Calculates a percentile of all cells in the value raster that belong to the same zone as the output cell. The 90th percentile is calculated by default. You can specify other values (from 0 to 100) using the percentile_value parameter.
process_as_multidimensional – Optional bool, Process as multidimensional if set to True. (If the input is multidimensional raster.)
percentile_value –
Optional Double, The percentile to calculate. The default is 90, for the 90th percentile. The values can range from 0 to 100. The 0th percentile is essentially equivalent to the Minimum statistic, and the 100th percentile is equivalent to Maximum. A value of 50 will produce essentially the same result as the Median statistic.
This parameter is honoured only available if the statistics_type parameter is set to PERCENTILE.
percentile_interpolation_type –
Optional string. Specifies the method of interpolation to be used when the specified percentile value lies between two input cell values.
AUTO_DETECT  If the input value raster has integer pixel type, the NEAREST method is used. If the input value raster has floating point pixel type, then the LINEAR method is used. This is the default.
NEAREST  Nearest value to the desired percentile. In this case, the output pixel type is same as that of the input value raster.
LINEAR  Weighted average of two surrounding values from the desired percentile. In this case, the output pixel type is floating point.
Parameter available in ArcGIS Image Server 10.9 and higher.
 Returns
output raster with function applied