ATan2 (Spatial Analyst)
Summary
Calculates the inverse tangent (based on x,y) of cells in a raster.
Illustration
Usage
-
ATan2 converts rectangular coordinates (x,y) to polar (r,θ), where r is the distance from the origin and θ is the angle from the x-axis.
The equation for determining ATan2 is: tanθ = y / x (where θ is the angle).
The ATan2 operation represents all quadrants in a Cartesian matrix (based on sign).
-
The values of the first specified input are used as the numerator in the calculation of the tangent angle (y). The values of the second specified input are used as the denominator in the calculation of the angle (x).
In mathematics, all Trigonometric functions have a defined range of valid input values, called the domain. The output values from each function also has a defined range. For this tool:
The Domain is : -∞ < [in_value] < ∞
This domain applies to both inputs.
The Range is : -pi < [out_value] ≤ pi
Note that here -∞ and ∞ represent the smallest negative and largest positive value supported by the particular raster format, respectively.
-
If both input values are 0, the output will be NoData.
If first input value is 0, the output will be 0.
-
The input values to ATan2 are interpreted as being in linear units, and to give meaningful results, they should both be in the same unit.
Output values are always floating point, regardless of the input data type.
The output values from this tool are in radians. If degrees are desired, the resulting raster must be multiplied by the radians-to-degrees conversion factor of 180/pi, or approximately 57.296.
See here for examples of converting output values from radians to degrees.
Syntax
Parameter | Explanation | Data Type |
in_raster_or_constant1 |
The input that specifies the numerator, or y value, to use when calculating the inverse tangent. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To be able to specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer | Constant |
in_raster_or_constant2 |
The input that specifies the denominator, or x value, to use when calculating the inverse tangent. A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To be able to specify a number for both inputs, the cell size and extent must first be set in the environment. | Raster Layer | Constant |
Return Value
Name | Explanation | Data Type |
out_raster |
The output raster. The values are the inverse tangent angle of the input values. | Raster |
Code Sample
This example calculates the inverse tangent for two input GRID rasters.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outATan2 = ATan2("degs", "negs")
outATan2.save("C:/sapyexamples/output/outatan2")
This example calculates the inverse tangent for two input GRID rasters.
# Name: ATan2_Ex_02.py
# Description: Calculates the inverse tangent of cells based
# on (y, x) values from two rasters
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ATan2
outATan2 = ATan2(inRaster1, inRaster2)
# Save the output
outATan2.save("C:/sapyexamples/output/outatan2.tif")