ATan2 (Spatial Analyst)
Резюме
Вычисляет арктангенс (по параметру x,y) ячеек растра.
Рисунок
Использование
-
Инструмент ATan2 конвертирует прямоугольные координаты (x,y) в полярные (r,θ), где r - расстояние от начальной точки и θ - угол между осью x.
Для вычисления ATan2 используется следующее уравнение: tanθ = y / x (где θ — угол).
Операция ATan2 обрабатывает все квадранты в прямоугольной матрице (в зависимости от знака).
-
Значения первых входных данных используются как числитель в вычислении тангенса угла (y). Значения вторых входных данных используются как знаменатель в вычислении тангенса угла (x).
В математике все тригонометрические функции имеют определенный диапазон корректных входных значений, называемый домен. Выходные значения каждой функции также имеют определенный диапазон. Для этого инструмента:
Домен: -∞ < [in_value] < ∞
Этот домен применяется ко всем двум входным данным.
Диапазон: -pi < [out_value] ≤ pi
Обратите внимание, что здесь -∞ и ∞ представляют наименьшее отрицательное и наибольшее положительное значения, поддерживаемое определенным форматом растра, соответственно.
-
Если оба значения - 0, выходным значением будет значение NoData.
Если первое входное значение - 0, выходное значение будет равно 0.
-
Входные значения инструмента ATan2 считаются линейными единицами, и для получения значимых результатов они должны быть в одних единицах.
Выходные значения всегда с плавающей точкой, независимо от типа входных данных.
Выходные значения этого инструмента — в радианах. Если вам необходимо вычисление в градусах, значения результирующего растра должны быть умножены на коэффициент преобразования "радиан в градусы " 180/pi или приблизительно 57,296.
Примеры конвертации выходных значений из радиан в градусы см. здесь.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_or_constant1 |
Входные данные, которые используются как числитель, или значение y, при вычислении арктангенса. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_raster_or_constant2 |
Входные данные, которые используются как знаменатель, или значение x, при вычислении арктангенса. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр. Значениями является арктангенс угла входных значений. | Raster |
Пример кода
В этом примере вычисляется обратный тангенс для двух входных растров GRID.
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")
В этом примере вычисляется обратный тангенс для двух входных растров GRID.
# 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")