Распространенность (Popularity) (Spatial Analyst)
Резюме
Определяет значение в списке аргументов, который находится на определенном уровне распространенности по принципу «ячейка-за-ячейкой». Конкретный уровень распространенности (количество повторов каждого значения) задается первым аргументом.
Рисунок
Использование
-
Этот инструмент оценивает встречаемость значений входных растров для каждого местоположения и ранжирует их с использованием порядковой шкалы – то есть, определяет самое распространённое значение, второе по распространённости значение, и так далее. Он выдаст значение заданного n-го наиболее распространённого значения, определяемого значением распространённости.
-
В списке входных растров порядок не важен. Однако растр, который определяет положение распространённости, должен предшествовать им.
-
В перечне входных растров может быть задано произвольное число растров.
-
Если для какой-либо ячейки входные значения совпадают, независимо от заданного значения распространенности, выходное значение будет равно входному для этого местоположения ячейки.
-
Если значение ячейки на любом из входных растров - NoData, местоположению этой ячейки на выходном растре будет также присвоено значение NoData.
-
Если не будет найдено единственное значение, которое является n-ым наиболее распространенным, местоположению на выходном растре будет присвоено значение NoData. Эта ситуация может возникнуть в том случае, если значения входных растров в конкретном местоположении различаются, либо когда значения двух или нескольких входных растров встречаются одинаковое количество раз, и число повторов равно значению n-го наиболее распространенного значения. Возврат одного из входных значений растров, например, первого, встреченного в процессе сканирования, будет обманчивым. Вы не будете знать, является ли значение n-ым наиболее распространенным значением в действительности.
-
Если значение распространённости больше числа входных растров, каждому местоположению ячейки на выходном растре будет присвоено значение NoData.
-
Если в качестве значения распространённости растра задан ноль, выходным значением будет значение NoData.
-
Уровень распространённости 1 – это наиболее часто встречающееся значение, аналогичное опции Majority (Большинство) инструмента Статистика по ячейкам (Cell Statistics).
-
Если хотя бы один из входных растров содержит значения с плавающей точкой, выходные данные также будут содержать числа с плавающей точкой; в противном случае, выходной растр будет целочисленным.
Синтаксис
Параметр | Объяснение | Тип данных |
in_popularity_raster_or_constant |
Входной растр, определяющий выдаваемое положение распространённости. В качестве входных данных может быть задано число; кроме того, необходимо указать экстент и размер ячейки в параметрах среды. | Raster Layer | Constant |
in_rasters [in_raster,...] |
Перечень входных растров, используемых для оценки распространённости значений для каждого местоположения ячейки. | Raster Layer |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster |
Выходной растр. Каждая ячейка выходного растра представляет значение из того же местоположения входных растров, которое соответствует входному значению распространённости. | Raster |
Пример кода
В этом примере выполняется операция распространённости на нескольких входных растрах, в результате чего получается растр IMG.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outPopularity = Popularity("cost", ["degs", "negs", "fourgrd"])
outPopularity.save("C:/sapyexamples/output/outpop.img")
В этом примере выполняется операция распространённости на нескольких входных растрах, в результате чего получается растр грида.
# Name: Popularity_Ex_02.py
# Description: Determines the value in an argument list that is
# at a certain level of popularity
# 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
inPopularityRaster = "cost"
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Popularity
outPopularity = Popularity(inPopularityRaster, [inRaster01, inRaster02, inRaster03])
# Save the output
outPopularity.save("C:/sapyexamples/output/outpop")