Skip To Content

ATan2

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

Calculates the inverse tangent (based on x,y) of cells in a raster.

Illustration

ATan2 illustration
OutRas = ATan2(InRas1, InRas2)

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.

    ATan2 conversion
    Conversion of rectangular to polar coordinates

    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.

    For further assistance, a procedure to follow and some examples of converting output in radians to degrees are available.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

ATan2 (in_raster_or_constant1, in_raster_or_constant2)
ParameterExplanationData 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

NameExplanationData Type
out_raster

The output raster.

The values are the inverse tangent angle of the input values.

Raster

Code sample

ATan2 example 1 (Python window)

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")
ATan2 example 2 (stand-alone script)

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"

# Execute ATan2
outATan2 = ATan2(inRaster1, inRaster2)

# Save the output 
outATan2.save("C:/sapyexamples/output/outatan2.tif")

Licensing information

  • ArcGIS Desktop Basic: Requires Spatial Analyst or Image Analyst
  • ArcGIS Desktop Standard: Requires Spatial Analyst or Image Analyst
  • ArcGIS Desktop Advanced: Requires Spatial Analyst or Image Analyst

Related topics