Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Сводка
Делит значения двух растров по принципу ячейка-за-ячейкой.
Иллюстрация
Описание
При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.
Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.
Для этого оператора важен порядок входных данных.
В случае, если значение делится на 0, в соответствующей ячейке выходного растра будет значение NoData.
Точный метод деления, используемый этим оператором, зависит от используемого приложения при его выполнении.
В ArcGIS Pro деление с плавающей точкой Python 3 используется этим оператором всегда, результат будет всегда значением с плавающей точкой. Например, если 3 необходимо разделить на 2, выходное значение будет 1.5.
В ArcMap оператор деления использует метод целочисленного деления Python 2, при котором остается только целое от частного. Если оба входных набора данных – целочисленные, то оператор деления выполняет целочисленное деление и выходные данные будут целочисленными. Например, если 3 будет разделено на 2, результатом будет 1, либо если -3 будет разделено на 2, результатом будет -2. Если оба набора входных данных будут иметь тип чисел с плавающей точкой, то оператор деления будет выполнять деление с плавающей точкой и выходные данные будут представлять собой значения с плавающей точкой. Например, если 3 необходимо разделить на 2,0, выходное значение будет 1,5.
Примечание:
Имейте это различие в виду, когда переходите с ArcGIS Desktop на ArcGIS Pro, либо вам придется работать в обоих приложениях. Можно использовать оператор // (Целочисленное деление), если важно, чтобы результат был целым числом.
Другой способ выполнить деление – a /= b, что иным способом может быть записано как a = a / b.
Если оба входных растра одноканальные либо входные данные - одноканальный растр и константа, выходной растр будет одноканальным.
Если оба входных растра многоканальные либо входные данные - многоканальный растр и константа, выходной растр будет многоканальным. Число каналов всех многоканальных растров должно быть одинаковым.
Оператор выполнит операцию для каждого канала одного входного растра и соответствующего канала другого входного растра. Если один из входных растров многоканальный, а другие входные данные - константа, оператор выполнит операцию с постоянным значением для каждого канала многоканального растра.
Синтаксис
in_raster_or_constant1 / in_raster_or_constant2
Операнд | Объяснение | Тип данных |
in_raster_or_constant1 | Входные данные, значения которых будут делиться на значения вторых входных данных. Если первый набор входных значений является растром, а второй – скаляром, то выходной растр создается с каждым значением входного растра, поделённым на значение скаляра. | Raster Layer | Constant |
in_raster_or_constant2 | Входные данные, на значения которых будут делиться значения первых входных данных. Если первый набор входных значений является скаляром, а второй – растром, то выходной растр создается с каждым значением входного растра, как результат деления значение скаляра на значение входного растра. | Raster Layer | Constant |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_raster | Объект выходного растра. Значениями ячеек является коэффициент первого входного растра (делимое), разделенный на второй входной растр (делитель). | Raster |
Пример кода
В этом примере делятся значения первого входного растра на значения второго.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDivide = Raster("degs") / Raster("negs")
outDivide.save("C:/sapyexamples/output/outdivide")
В этом примере делятся значения первого входного растра на значения второго.
# Name: Op_Divide_Ex_02.py
# Description: Divides the values of two rasters on a cell-by-cell basis
# 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
inRaster01 = Raster("elevation")
inRaster02 = Raster("landuse")
# Execute Divide
outDivide = inRaster01 / inRaster02
# Save the output
outDivide.save("C:/sapyexamples/output/outdivide2")