Отбор (Spatial Analyst)

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

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

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

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

Иллюстрация

Иллюстрация инструмента Отбор
OutRas = Pick(InRas1, [InRas2, InRas3],"SINGLE_BAND")

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

  • Значение каждой ячейки Входного растра положения (in_position_raster в Python) определяет то, какой входной растр будет использован для получения значения выходного растра. Например, если ячейка во Входном растре положения имеет значение 1, значение из первого входного растра в списке будет использоваться для выходного значения ячейки. Если входной растр положения имеет значение 2, выходное значение будет взято из второго растра в списке и т. д.

  • Порядок входных растров или постоянных значений (in_rasters_or_constants в Python) важен для этого инструмента. Если порядок растров поменяется, изменится и результат.

  • Если значение ячейки во Входном растре положения нулевое или отрицательное, результатом будет значение NoData. Если значение положения больше количества растров в списке, результатом будет значение NoData.

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

  • Любые ячейки со значением NoData на растре положения получат на выходном растре также значение NoData.

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

  • Если параметр Обработать как многоканальный не отмечен ( для process_as_multiband задано SINGLE_BAND в Python), будет использоваться только первый канал многоканального Входного растра положения (in_position_raster в Python). Каждый канал многоканального Входного растра или постоянного значения (in_rasters_or_constants в Python) будет обрабатываться отдельно - как одноканальный растр.

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной растр положения

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

Это может быть целочисленный растр или растр с плавающей точкой.

Raster Layer
Входные растры или постоянные значения

Список входных растров, из которого будет выбрано выходное значение.

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

Raster Layer; Constant
Обработать как многоканальный
(Дополнительный)

Задает способ обработки каналов входного многоканального растра.

  • Не отмечено — каждый канал многоканального растра обрабатывается отдельно, как одноканальный растр. Используется по умолчанию.
  • Отмечено - каждый многоканальный растр обрабатывается как многоканальный. Операция будет выполняться для каждого канала одних входных данных, с использованием номера соответствующего канала других входных данных.
Boolean

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

ПодписьОписаниеТип данных
Выходной растр

Выходной растр.

Raster

Pick(in_position_raster, in_rasters_or_constants, {process_as_multiband})
ИмяОписаниеТип данных
in_position_raster

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

Это может быть целочисленный растр или растр с плавающей точкой.

Raster Layer
in_rasters_or_constants
[in_raster_or_constant,...]

Список входных растров, из которого будет выбрано выходное значение.

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

Raster Layer; Constant
process_as_multiband
(Дополнительный)

Задает способ обработки каналов входного многоканального растра.

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

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

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

Выходной растр.

Raster

Пример кода

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

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPick = Pick("cost", ["degs", "negs", "fourgrd"], "SINGLE_BAND")
outPick.save("C:/sapyexamples/output/outpick.tif")
Pick, пример 2 (автономный скрипт)

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

# Name: Pick_Ex_02.py
# Description: Assigns output values using one of a list of rasters
#              determined by the value of an input raster.
# 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
inPositionRas = "inzone_MB"
inRas01 = "Ras1_MB"
inRas02 = "Ras2_MB"
inRas03 = "Ras3_MB"

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

# Execute Pick
outPick = Pick(inPositionRaster, [inRas01, inRas02, inRas03], "MULTI_BAND")

# Save the output 
outPick.save("C:/sapyexamples/output/outpick")

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

  • Basic: Обязательно Spatial Analyst или Image Analyst
  • Standard: Обязательно Spatial Analyst или Image Analyst
  • Advanced: Обязательно Spatial Analyst или Image Analyst

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