% (Остаток от деления) (arcpy.sa)

Резюме

Находит остаток (по модулю) первого растра при делении на второй растр на основе "ячейка-за-ячейкой ".

Рисунок

Иллюстрация оператора Остаток от деления
OutRas = Raster("InRas1") % Raster("InRas2")

Обсуждение

При использовании оператора с растровым входом результат будет растром. Но если все входные значения — числа, результат будет числом.

Если в выражении используется несколько операторов, они не обязательно выполняются слева направо. Оператор с высшим значением приоритета будет выполнен первым. Более подробно о приоритете операторов см. в таблице приоритета операторов. Порядок выполнения можно изменить с помощью скобок.

Для этого оператора важен порядок входных данных.

Любому значению для которого выполнена операция деления с остатком на ноль присваивается значение 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

Возвращено значение

ИмяОбъяснениеТип данных
out_raster

Объект выходного растра.

Значениями ячеек является остаток от деления значений первых входных данных на вторые.

Raster

Пример кода

% (Остаток от деления) Пример 1 (окно Python)

В этом примере выдается значение остатка от деления ячеек в первом растре на ячейки во втором.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outMod = Raster("degs") % Raster("negs")
outMod.save("C:/sapyexamples/output/outmod.tif")
% (Остаток от деления) Пример 2 (автономный скрипт)

В этом примере выдается значение остатка (модуля) деления ячеек в первом растре на ячейки во втором.

# 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: 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 = Raster("degs")
inRaster2 = Raster("negs")

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute Mod
outMod = inRaster1 % inRaster2

# Save the output 
outMod.save("C:/sapyexamples/output/outmod")

Параметры среды

Связанные темы

9/11/2013