标注 | 说明 | 数据类型 |
输入表面 | 输入高程栅格表面。 | Raster Layer; Mosaic Dataset; Mosaic Layer |
输出要素类 | 包含局部山峰或山谷的输出点要素类。 | Feature Class |
山峰或山谷 | 用于指定该工具将执行的操作类型。
| String |
山峰或山谷的数量 | 要查找的山峰或山谷的数量。 | Long |
输入区域 (可选) | 将在其中查找局部山峰或山谷的输入面要素类。 | Feature Set |
在 Advanced 许可等级下可用。
需要 Spatial Analyst 许可。
摘要
用于在定义区域内查找局部山峰或山谷。
使用情况
返回的最高或最低点要素的数量可能少于山峰或山谷的数量参数中请求的数量。 该工具将仅返回在给定输入表面的情况下,可以标识的局部山峰或山谷的数量。
通过反转表面,然后在表面中找到汇,即可找到山峰。 这些点用于从原始表面提取高程值,然后基于高程进行排序。
输入表面的高程用于为点设置等级,但是返回的数量将基于高程值的排序顺序。 如果您需要选择最高的 10 个点,并且点 10、11 和 12 具有相同的高程,则该工具将排除后两个点。
该工具将查找区域中的局部最大值或最小值。例如,被高山包围的山谷中间的一个小山顶将被识别为局部山峰。
输出将包含 Elevation 字段,该字段具有山峰或山谷的高程值。 山峰或山谷的单位为输入表面的 z 单位(高程)。 请检查此单位的输入表面元数据。
参数
arcpy.defense.FindLocalPeaksValleys(in_surface, out_feature_class, peak_valley_op_type, num_peaks_valleys, {in_feature})
名称 | 说明 | 数据类型 |
in_surface | 输入高程栅格表面。 | Raster Layer; Mosaic Dataset; Mosaic Layer |
out_feature_class | 包含局部山峰或山谷的输出点要素类。 | Feature Class |
peak_valley_op_type | 用于指定该工具将执行的操作类型。
| String |
num_peaks_valleys | 要查找的山峰或山谷的数量。 | Long |
in_feature (可选) | 将在其中查找局部山峰或山谷的输入面要素类。 | Feature Set |
代码示例
以下 Python 窗口脚本演示了如何使用 FindLocalPeaksValleys 函数。
import arcpy
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.defense.FindLocalPeaksValleys("n36.dt2",
"n36_FindLocalPeaksValleys",
"PEAKS",
10,
"SelectedAOI")
以下示例将在示例工作流脚本中使用 FindLocalPeaksValleys 函数。
# Description: Find the highest peak in Crowders State Park.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
# Select state park
state_parks = "NCStateParks"
whereClause = "st_park_name = 'Crowders Mountain State Park'"
aoi_layer = arcpy.management.SelectLayerByAttribute(state_parks,
"NEW_SELECTION",
whereClause)
# Inputs
input_surface = "n36.dt2"
# Find highest peak
arcpy.defense.FindLocalPeaksValleys(input_surface,
"PeaksCrowdersMtn",
"PEAKS",
10,
aoi_layer)