Доступно с лицензией Spatial Analyst.
Сводка
Ранжирует значения набора входных данных по принципу ячейка-за-ячейкой, и определяет, какие из них возвращаются на основании ранга входного растра.
Иллюстрация
Использование
В списке входных растров порядок не важен. Однако растр, который определяет ранг, должен предшествовать им.
В перечне входных растров может быть задано произвольное число растров.
Если значение ячейки на любом из входных растров – 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 (Дополнительный) | Задает способ обработки каналов входного многоканального растра.
| Boolean |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_raster | Выходной растр. Для каждой ячейки выходного растра значения во входных растрах сортируются по возрастанию, а значение входного растра ранга используется для выбора выходного значения. | Raster |
Пример кода
В этом примере выполняется операция ранга на нескольких входных растрах грида, в результате чего получается растр 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")
В этом примере выполняется операция ранга на нескольких входных растрах грида, в результате чего получается растр грида.
# 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")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst