最高位置 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

逐个像元地确定具有最大值的栅格在一组栅格中的位置。

插图

最高位置工具输入和输出值示例
OutRas = HighestPosition([InRas1, InRas2, InRas3])

使用情况

  • 可以在输入栅格列表中指定任意数量的栅格。

  • 输入栅格的顺序对此工具很重要。

  • 将多波段栅格指定为输入栅格或常量值参数值(Python 中的 in_rasters_or_constants)之一时,将使用所有波段。

    要处理一系列来自多波段栅格的波段,请首先使用波段合成工具创建由这些特定波段组成的栅格数据集;然后在输入栅格或常量值参数(Python 中的 in_rasters_or_constants)中使用列表中的结果。

  • 如果任何输入栅格上的某个像元位置包含 NoData,则输出中将为该位置分配 NoData。

  • 输出栅格始终为整型。

  • 如果两个或更多的输入栅格包含某个特定像元位置的最大值,则在输出栅格中返回第一个输入栅格的位置。

  • 如果所有输入均为具有相同数量变量的多维栅格数据,则该工具将对具有相同维度值的所有剖切片执行运算。 输出将是 CRF 格式的多维栅格。 输入中的变量必须至少具有一个常见维度和一个常见维度值以供此工具进行处理,否则将发生错误。

    如果所有输入均具有一个变量但名称不同,请在执行运算之前取消选中匹配多维变量地理处理环境(在 Python 中设置 arcpy.env.matchMultidimensionalVariable = False)。

    如果其中一个或多个输入为多维栅格,而其他输入为常量,则该工具将使用常量值对所有变量的所有剖切片执行运算,并且输出将为多维栅格。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入栅格数据或常量值

确定具有最高值的输入栅格的位置时所用的输入栅格列表。

可将数字用作输入;但是,必须先在环境中设置像元大小和范围。

Raster Layer; Constant

返回值

标注说明数据类型
输出栅格

输出栅格。

对于输出栅格中的各个像元,该值表示具有最高值的栅格的位置。

Raster

HighestPosition(in_rasters_or_constants)
名称说明数据类型
in_rasters_or_constants
[in_raster_or_constant,...]

确定具有最高值的输入栅格的位置时所用的输入栅格列表。

可将数字用作输入;但是,必须先在环境中设置像元大小和范围。

Raster Layer; Constant

返回值

名称说明数据类型
out_raster

输出栅格。

对于输出栅格中的各个像元,该值表示具有最高值的栅格的位置。

Raster

代码示例

最高位置 (HighestPosition) 示例 1(Python 窗口)

本示例对多个输入栅格进行计算并以输出值的形式返回栅格列表中具有最大值的栅格的位置。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outHighestPosition = HighestPosition(["degs", "negs", "fourgrd"])
outHighestPosition.save("C:/sapyexamples/output/outhp.img")
最高位置 (HighestPosition) 示例 2(独立脚本)

本示例对多个输入栅格进行计算并以输出值的形式返回栅格列表中具有最大值的栅格的位置。

# Name: HighestPosition_Ex_02.py
# Description: Determines the position of a raster with the maximum
#              value in a set of rasters
# 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
inRaster01 = "degs"
inRaster02 = "negs"
inRaster03 = "fourgrd"

# Execute HighestPosition
outHighestPosition = HighestPosition([inRaster01, inRaster02, inRaster03])

# Save the output 
outHighestPosition.save("C:/sapyexamples/output/outhp")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题