Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Сводка
Находит остаток (по модулю) первого растра при делении на второй растр по принципу ячейка-за-ячейкой.
Иллюстрация
Описание
При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.
Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.
Для этого оператора важен порядок входных данных.
Любому значению для которого выполнена операция деления с остатком на ноль присваивается значение NoData на выходе; следовательно, любой ячейке, значение которой во вторых входных данных – ноль или NoData, в выходных данных будет присвоено значение NoData.
Оператор Остаток от деления предполагает, что оба входных набора данных являются целочисленными. Если один из наборов не является целочисленным, эти данные будут преобразованы в целые числа посредством округления. Выходные значения всегда целочисленные.
Другой способ выполнить вычитание – 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.ia import *
env.workspace = "C:/iapyexamples/data"
outMod = Raster("degs") % Raster("negs")
outMod.save("C:/iapyexamples/output/outmod.tif")
В этом примере выдается значение остатка (модуля) деления ячеек в первом растре на ячейки во втором.
# Name: Op_Mod_Ex_02.py
# Description: Finds the remainder of the first raster when divided by
# the second raster on a cell-by-cell basis
# Requirements: Image Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.ia import *
# Set environment settings
env.workspace = "C:/iapyexamples/data"
# Set local variables
inRaster1 = Raster("degs")
inRaster2 = Raster("negs")
# Execute Mod
outMod = inRaster1 % inRaster2
# Save the output
outMod.save("C:/iapyexamples/output/outmod")