1.提取思路:
山顶点是那些在特定邻域范围内比周围点高的区域,也就是像元值比周围大的区域。
因为提取思路为:
- 首先提取原始DEM数据中的一定范围内的像元最大值的像元栅格。
- 然后与原始DEM栅格数据相减,两者相减值为0的区域就是所谓的山顶点区域。
- 根据需要做进一步筛选提取操作。
2.基础操作步骤介绍:
- 选择【系统工具箱→Spatial Analyst Tools→邻域分析→焦点统计】工具,在弹出的焦点统计对话框设置相应参数,用于提取设置范围内(设置的值越大提取的点越少,根据需要设置分析范围)的像元最大值。

- 选择【系统工具箱→Spatial Analyst Tools→地图代数→栅格计算器】工具,提取上一步生成的提取结果栅格与原始DEM栅格相减等于0的像元,也就是山顶点的栅格区域。

- 选择【系统工具箱→Spatial Analyst Tools→重分类→重分类】工具,将山顶点的栅格区域设置为1,其他区域设置为NoData,这样就得到了山顶点的栅格。

- 选择【系统工具箱→Conversion Tools→由栅格转出→栅格转点】工具,将上一步得到的山顶点的栅格转化为点要素。

- 不过此时看到提取的山顶点有些区域有多个所谓的山顶点,可能是因为数据精度问题或其他方面,使得该区域为小范围平坦区域,因为会提取到多个点,这时就需要我们通过后续处理将这些问题解决掉。

- 选择【系统工具箱→Conversion Tools→由栅格转出→栅格转面】工具,将在之前重分类操作后得到的山顶点的栅格转换为面要素。


- 选择【系统工具箱→Data Management Tools→要素→要素转点】工具。

- 为了让图面效果更加立体,可以进行一些图面美化工作。首先选择【系统工具箱→Spatial Analyst Tools→表面分析→山体阴影】工具,生成的山体阴影会使得画面更立体。


此时山顶点的提取初步完成,如有需要可以做进一步处理操作。
3.后续进阶处理:
- 选择【系统工具箱→Spatial Analyst Tools→表面分析→等值线】工具,生成一些等高线(根据自己的需要设置等值线间距,这里以20米为例),此时我们会发现有些点其实只是一定区域范围内的最高点(伪山顶点),而不属于真正的山顶点,因为这些点都不包含在值最大的等高线范围内,下面我们就利用这个判断条件来筛选出真正的山顶点。

- 选择【系统工具箱→Data Management Tools→要素→要素转面】工具,将等高线转换为面要素。我们下一步需要提取的就是在最内层的等高线包含的点。


- 首先需要提取处最内层(值最大)的等高线,这些等高线都是闭合的面,而且没有空洞,我们就基于这种特征也进行后续操作。 选择【系统工具箱→Data Management Tools→要素→添加几何属性工具】工具(该工具在10.2版本中没有),在几何属性栏中选择【LINE_START_MID_END】选项,用于生成上一步生成的面要素的起点、中点、终点的XY的坐标值。

- 打开图层的属性表,提取起点和终点坐标一致的面要素,就是我们需要的最内层(值最大)的等高线,并将数据导出。

- 选择【系统工具箱→Analysis Tools→叠加分析→相交】工具,提取与上一步得到的面要素相交的之前提取得到的山顶点要素,也就得到了筛选掉伪山顶点的结果。