Ранг (Spatial Analyst)

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

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

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

Иллюстрация

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

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

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

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

  • Если местоположение ячейки содержит значение NoData в любом из входных растров, этому местоположению будет присвоено значение 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. Если любой из входных растров - константа, это будет интерпретироваться как многоканальный растр, все значения во всех каналах которого будут равны этому значению, а число каналов будет соответствовать числу каналов выходного растра.

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

    Если все входные данные имеют одну переменную, но разные имена, снимите отметку Сопоставить многомерную переменную для среды геообработки (установите arcpy.env.matchMultidimensionalVariable = False в Python) перед выполнением операции.

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

  • См. раздел Среда анализа и 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

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