Python DEM数据填充平坦区域(基于梯度)

文章目录

  • 一、简介
  • 二、实现代码
  • 三、实现效果
  • 参考文献

一、简介

DEM数据中平地是值没有局部梯度的数学水平区域。虽然平地可能自然发生,但它们在DEM中的存在也经常是DEM收集和处理中的技术问题的结果,如地形反射率的偏差、从浮点精度到整数精度的转换、噪声去除、低垂直分辨率或低水平分辨率,以及其他可能性。凹陷填充算法通常会增加DEM中平地的大小和数量,而过多的“绝对平坦”区域,不利于对水文流动的模拟,也就是它不够真实。为了后续的水文分析,还需要对DEM数据中平坦区域的栅格进行简单的填充操作,过程主要分为以下几个步骤:

1、由于DEM数据边缘部分的栅格情况较为复杂,因此这里首先排除边缘栅格,获取数据内部的栅格单元。
2、获取DEM中的候选单元格,主要有三类:(1)平坦区域栅格单元(2)定义了流向的单元格(3)至少有一个更高邻居的单元格,邻近高地形或低地形的边缘单元。
3、基于连通性标记平坦区域的栅格单元格。
4、基于候选的流向与边缘边缘单元格构建梯度。其中,远离较高地形单元格的梯度将从邻近较高地形的边缘单元开始构建。在这一步中,将注意到每个平坦单元格的最大增量数。之后基于此结果,将从邻近较低地形的边缘单元开始,构造朝向较低地形的梯度。这两种梯度叠加,就是我们最终要的梯度信息。
5、最后&

你可能感兴趣的:(遥感与GIS杂记,python,DEM,填充平坦单元,水文分析)