需要 Spatial Analyst 许可。
摘要
逐个像元地确定参数列表中具有特定频数级别的值。特定的频数级别(每个值的出现次数)由第一个参数指定。
插图
用法
该工具为每个位置计算输入栅格数据值的出现次数,然后排定它们的等级顺序,即,最高频数、次高频数,依此类推。它将返回由频数栅格数据值定义的指定第 n 个高频数值的值。
在输入栅格列表中,顺序无关紧要。但定义频数位置的栅格必须排在它们之前。
在输入栅格列表中可以指定任意数量的栅格。
如果任何像元位置的输入值都相同,则无论指定的频数为何,该像元位置的输出值都与输入相同。
当为输入频数栅格或常量值(Python 中的 in_popularity_raster_or_constant)指定多波段栅格时,将只使用第一个波段。如需处理其他波段,请指定要使用的具体波段。
将多波段栅格指定为输入栅格(Python 中的 in_rasters)之一时,将使用所有波段。
要处理一系列来自多波段栅格的波段,可先用波段合成工具创建由这些特定波段组成的新栅格数据集,并在输入栅格(Python 中的 in_rasters)列表中使用该结果。
如果某个像元位置在任意输入栅格中都含有 NoData,则该位置将在输出栅格中被分配 NoData。
如果未找到第 n 高频的单一值,则将 NoData 分配给输出栅格上的位置。这种情况会出现在某一位置的所有输入栅格值均不相同时,或者在两个或更多输入栅格值具有相同的出现次数且该次数为第 n 高频数时。返回输入栅格值之一(如扫描过程中遇到的第一个值)这种情况非常不可靠。您将不知道该值是否真正是第 n 高频的值。
如果频数值大于输入栅格数,则会将 NoData 分配给输出上的每个像元位置。
如果将 0 指定为频数值,输出值将为 NoData。
频数级别 1 是众数值,类似于像元统计工具的“众数”选项。
如果任意输入栅格都属于浮点型,则输出栅格也将为浮点型;否则它就是整型。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
Popularity (in_popularity_raster_or_constant, in_rasters)
参数 | 说明 | 数据类型 |
in_popularity_raster_or_constant | 定义要返回的频数位置的输入栅格。 可使用一个数字作为输入;但是,像元大小和范围必须先在环境中进行设置。 | Raster Layer; Constant |
in_rasters [in_raster,...] | 用于为每个像元位置计算值的频数的输入栅格列表。 | Raster Layer |
返回值
名称 | 说明 | 数据类型 |
out_raster | 输出栅格。 输出栅格中的每个像元都表示来自满足输入频数值的输入栅格的同一位置的值。 | Raster |
代码示例
Popularity 示例 1(Python 窗口)
此示例对多个输入栅格数据执行频数取值操作,并以 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")
Popularity 示例 2(独立脚本)
此示例对多个输入栅格数据执行频数取值操作,并以 Grid 栅格数据的形式输出结果。
# 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")
环境
许可信息
- ArcGIS Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst