Ранг (Rank) (Spatial Analyst)
Резюме
Значения из набора входных данных ранжируются по принципу «ячейка-за-ячейкой!, и то, какие из них возвращаются, определяется значением входным растров ранга.
Рисунок
Использование
-
В списке входных растров порядок не важен. Однако им должен предшествовать входной растр ранга.
-
В перечне входных растров может быть задано произвольное число растров.
-
Если значение ячейки на любом из входных растров - NoData, местоположению этой ячейки на выходном растре будет также присвоено значение NoData.
-
Если для какой-либо ячейки все входные значения совпадают, независимо от заданного значения ранга, выходными данными для этой ячейки будет это значение.
-
Если значение ранга на входном растре больше числа входных растров, каждому местоположению ячейки на выходном растре будет присвоено значение NoData.
-
Если хотя бы один из входных растров содержит значения с плавающей точкой, выходные данные также будут содержать числа с плавающей точкой; в противном случае, выходной растр будет целочисленным.
Синтаксис
Параметр | Объяснение | Тип данных |
in_rank_raster_or_constant |
Входной растр, определяющий выдаваемое положение ранга. В качестве входных данных может быть задано число; кроме того, необходимо указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_rasters [in_raster,...] |
Список входных растров. Этот входной параметр определяет перечень аргументов, используемый для оценки значения ранга, определяемого первым аргументом для каждого местоположения ячейки. | Raster Layer |
Возвращено значение
Имя | Объяснение | Тип данных |
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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Rank
outRank = Rank(inRankRaster, [inRaster01, inRaster02, inRaster03])
# Save the output
outRank.save("C:/sapyexamples/output/outrank")