// (Целочисленное деление) (arcpy.sa)

Краткая информация

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

Рисунок

Рисунок инструмента Разделить (Divide)
OutRas = Raster("InRas1") // Raster("InRas2")

Обсуждение

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

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

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

В случае, если значение делится на 0, в соответствующей ячейке выходного растра будет значение NoData.

Если оба набора входных данных содержат целочисленные значения, то выходные данные будут содержать целочисленные значения. Например, если 5 будет делиться на 2, то результат на выходе будет 2 (остаток опускается).

Если либо входные данные имеют тип чисел с плавающей точкой, то выходной коэффициент также будет значением с плавающей точкой. Например, если 5.3 будет делиться на 2, то результат на выходе будет 2.0 (остаток 0.65 опускается).

Другой способ выполнить оператор целочисленного деления – 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"
outDivide = Raster("degs") // Raster("negs")
outDivide.save("C:/sapyexamples/output/outdivide")
// (Целочисленное деление) Пример 2 (автономный скрипт)

В этом примере делятся значения первого входного растра на значения второго.

# Name: Op_IntegerDivide_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")

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

# Execute Integer Divide
outDivide = inRaster01 // inRaster02

# Save the output 
outDivide.save("C:/sapyexamples/output/outdivide2")

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

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

5/10/2014