Ранг (Spatial Analyst)

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

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

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

Иллюстрация

Пример Входных и выходных значений инструмента Ранг
OutRas = Rank(ConstRas, [InRas1, InRas2, InRas3])

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

  • В списке входных растров порядок не важен. Однако растр, который определяет ранг, должен предшествовать им.

  • В перечне входных растров может быть задано произвольное число растров.

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

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

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

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

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

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

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

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

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

    Если во всех многомерных растрах есть одна переменная, но у неё разные названия, задайте переменную геообработки matchMultidimensionalVariable как False, чтобы выполнить операцию.

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

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

Параметры

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

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

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

Raster Layer; Constant
Входные растры

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

Например, представьте себе положение, в котором значения ячеек трех входных растров - 17, 8 и 11. Значение ранга для этого положения равно 3. Инструмент сначала отсортирует входные значения. Поскольку значение ранга 3, выходное значение будет равно 17.

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

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

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

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

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

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

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

Raster

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
ИмяОписаниеТип данных
in_rank_raster_or_constant

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

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

Raster Layer; Constant
in_rasters
[in_raster,...]

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

Например, представьте себе положение, в котором значения ячеек трех входных растров - 17, 8 и 11. Значение ранга для этого положения равно 3. Инструмент сначала отсортирует входные значения. Поскольку значение ранга 3, выходное значение будет равно 17.

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

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

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

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

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

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

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

Raster

Пример кода

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

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

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

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

# Name: Rank_Ex_02.py
# Description: Returns the value of a set of rasters based on
#              a rank level specified by another 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
inRankRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"

# Execute Rank
outRank = Rank(inRankRaster, [inRaster01, inRaster02, inRaster03])

# Save the output 
outRank.save("C:/sapyexamples/output/outrank")

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

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

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