Комбинировать (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Сводка

Комбинирует несколько растров, так чтобы уникальное выходное значение присваивается каждой уникальной комбинации входных значений.

Иллюстрация

Иллюстрация работы инструмента Комбинировать
OutRas = Combine([InRas1, InRas2])

Использование

  • Инструмент Комбинировать работает с целочисленными значениями и связанными с ними таблицами атрибутов. Если значения на входном растре представлены числами с плавающей точкой, они будут автоматически округлены, протестированы на уникальность по отношению к другим входным данным и записаны в выходную таблицу атрибутов.

  • Инструмент Комбинировать аналогичен инструменту Комбинаторный оператор Or. Оба инструмента присваивают новое число уникальной комбинации входных значений. Однако в инструменте Комбинировать можно указать список растров, а в инструменте Комбинаторный оператор «Or» можно указать только два входных элемента - это могут быть растры или постоянные значения.

  • Если многоканальный растр указан как один из входных для параметра Входные растры (in_rasters в Python), будут обработаны все каналы.

    Чтобы обработать выбранные каналы многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы, затем укажите полученный набор как Входной растр (in_rasters в Python).

  • Выходной растр всегда будет целочисленным.

  • Каждый входной растр представлен полем в таблице атрибутов выходного растра (RAT), в котором порядок полей соответствует порядку входных растров.

    Если на входе есть многозональные растры, в выходных данных каждому каналу будет соответствовать отдельный растр, и будет создано соответствующее количество полей.

    Если один и тот же растр используется несколько раз, будут созданы отдельные входные данные, но появится предупреждение.

  • Имя поля в RAT формируется на основе имени набора растровых данных. Если имя поля слишком длинное, оно будет усечено в соответствии с ограничениями длины имен полей. Любой специальный символ в имени растра, который не поддерживается базой данных, будет заменен подчеркиванием.

    В случае наличия на входе многозональных растров имя поля будет состоять из двух частей, разделенных подчеркиванием. Первая часть берется из названия растра, за которым следует индекс канала, начиная с 1.

    В случае дублирования имен полей каждое последующее имя поля становится уникальным путем сопровождения имени растра индексом, начинающимся с 1.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

Combine(in_rasters)
ParameterОбъяснениеТип данных
in_rasters
[in_raster,...]

Входные растры, которые будут скомбинированы.

Raster Layer

Значение отраженного сигнала

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

Выходной комбинированный растр.

Каждому уникальному сочетанию входных значений было присвоено уникальное целочисленное значение.

Raster

Пример кода

Combine, пример 1 (окно Python)

В этом примере инструмент берет входные растры различных форматов (грид, IMG и TIFF) и выдает значения уникальной комбинации в виде растра грида.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCombine = Combine(["filter", "zone", "source.img", "dec.tif"])
outCombine.save("C:/sapyexamples/output/outcombine2")
Combine, пример 2 (автономный скрипт)

В этом примере инструмент берет входные растры различных форматов (грид, IMG и TIFF) и выдает значения уникальной комбинации в виде растра грида.

# Name: Combine_Ex_02.py
# Description: Combines multiple rasters such that a unique value is
#              assigned to each unique combination of input values
# 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 = "filter"
inRaster02 = "zone"
inRaster03 = "source.img"
inRaster04 = "dec.tif"

# Execute Combine
outCombine = Combine([inRaster01,inRaster02,inRaster03,inRaster04])

# Save the output 
outCombine.save("C:/sapyexamples/output/outcombine")

Информация о лицензиях

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

Связанные разделы