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

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

Синтаксис

Rank(in_rank_raster_or_constant, in_rasters, {process_as_multiband})
ParameterОбъяснениеТип данных
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

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

NameОбъяснениеТип данных
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

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