Функция Diff (Spatial Analyst)
Резюме
Определяет, какие значения из первых входных данных логически отличаются от значений вторых входных данных на основе "ячейка-за-ячейкой ".
Если значения двух входных растров разные, значения первого входного растра записываются в выходной растр. Если значения двух входных растров одинаковые, в соответствующей ячейке выходного растра будет 0.
Рисунок
Использование
Для выполнения операции логического сравнения необходимо наличие двух входных файлов.
-
Порядок входных данных имеет значение для этого инструмента.
Если оба входных растра — целые числа, выходной растр также будет целочисленным; в противном случае, выходной растр будет с плавающей точкой.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster_or_constant1 |
Входной растр, с которым будет сравнен второй входной растр. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_raster_or_constant2 |
Второй входной растр, с которым будет сравнен первый входной растр. В качестве входных данных для этого параметра может использоваться число, при условии, что для другого параметра задан растр. Чтобы можно было задать число для двух входных данных, необходимо сперва указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр. Значения в выходных данных будут равны 0, если два входных значения одинаковые, или первому входному значению - если не одинаковые. | Raster |
Пример кода
В этом примере выполняется операция разницы для двух растров GRID, в результате чего получается растр IMG.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDiff = Diff("degs", "negs")
outDiff.save("C:/sapyexamples/output/outdiff.img")
В этом примере выполняется операция разницы для двух растров GRID.
# Name: Diff_Ex_02.py
# Description: Determines which values from the first input are
# logically different from the values of the second input
# on a cell-by-cell basis within the Analysis window
# 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 Diff
outDiff = Diff(inRaster1, inRaster2)
# Save the output
outDiff.save("C:/sapyexamples/output/outdiff")