Answers:
@jul是正确的,即“您需要计算一个趋势面,然后从初始DEM中减去它以获得“被趋势下降的”趋势面,”但这听起来像在这种情况下需要更简单的过程来“保留跌落”。如果“趋势曲面”过于接近原始DEM,则残差将无法保留曲面的局部特征。因此,应避免的技术是所有局部的技术(样条,过滤器,尤其是克里金法),而应避免的技术是全局性的。
一种简单,健壮,直接的方法是在河边将飞机安装到DEM。 这不需要任何花哨的技术或繁重的计算,因为(根据Euclid)平面是由空间中的三个(非共线)点确定的。因此,在河的上游选择一个点(x1',y1',z1')=(坐标,高程),在下游端选择另一个点(x2',y2',z2'),在第三点选择您选择的(x0',y0',z0')远离连接前两个点的线段。(这些坐标以质数表示,因为我们将很快对其进行更改。)最后一点没有必须对应于地面上甚至附近的一个点!实际上,一个很好的初始选择可能是将其标高设置为上游和下游标高的平均值,z0'=(z1'+ z2')/ 2。
通过将点(x0',y0',z0')用作局部坐标系的原点,可以简化计算。在这些坐标中,其他两个点位于
(x1,y1,z1) = (x1'-x0',y1'-y0',z1'-z0')
(x2,y2,z2) = (x2'-x0',y2'-y0',z2'-z0').
在此新系统中,原始坐标系中(x',y')处的任何任意位置的坐标(x,y)=(x'-x0',y'-y0')。因为任何通过原点(0,0,0)的平面都必须具有z = a * x + b * y形式的方程,所以将问题简化为以下形式:
对于通过点(0,0,0),(x1,y1,z1)和(x2,y2,z2)的平面,找到z = a * x + b * y形式的方程。
独特的解决方案是计算
u = z1 y2 - z2 y1
v = x1 z2 - x2 z1
w = x1 y2 - x2 y1
用什么术语
a = u/w, b = v/w.
找到这两个数字a和b,并调出两个原始坐标x0'和y0',以表格形式进行栅格计算
[DEM] - a * ([X'] - x0') - b * ([Y'] - y0')
从DEM中删除“倾斜”。在该表达式中,[X'] 表示原始坐标中的x坐标网格,[Y']表示原始y坐标网格。保证生成的DEM在您最初选择的三个点中的每个点都具有相同的高程(即z0');它在其他地方做什么取决于DEM本身!
(我希望一些读者欣赏这种方法如何避免所有引用三角学或最小二乘法的机器。:-)
您需要计算一个趋势面,然后从您的初始DEM中减去它以获得“被去趋势的”趋势面。
要计算趋势表面,可以使用任何表面简化功能(滤波,样条平滑,克里格法等)。该选择取决于您希望该趋势面如何显示。