Answers:
之前,我必须绘制1 m LiDAR衍生的农业景观DEM的沟渠。提出合适的工作流程无疑是一项艰巨的任务。您能否成功提取沟渠网络将取决于许多因素。例如,您只对路边沟渠感兴趣吗?如果是这样,路堤上的道路(在农业环境中通常是这种情况)是否存在,并且您是否有准确的道路矢量文件(这对于完成此任务可能至关重要)?还是您对野外排水沟感兴趣?您有原始的LiDAR点云,还是只有插值的DEM?如果您使用的是后者,那么至关重要的是,不要使用任何类型的平滑滤波器,不幸的是,在分析之前,由于LiDAR DEM表面粗糙度过大,通常会使用这种滤波器。不幸,在1 m DEM中使用3 x 3均值过滤器可轻松去除低洼的路边沟渠。如果您有LiDAR点云,那么我建议您使用最近邻插值方案(假设高点密度)对DEM网格进行插值,因为尽管与IDW之类的方法相比,这会增加表面粗糙度,但会更好地保留沟渠。
现在,假设您有道路矢量并且只对路边的沟渠感兴趣,则可以使用以下工作流程:
执行平均差高程过滤器。在我用于此任务的开源GIS Whitebox Geospatial Analysis Tools中,确实有一个名为“平均高度差”(DFME)的工具,非常适合此工作流程。但是,如果由于某种原因不能使用Whitebox,请执行传统的均值滤波器(盒车滤波器),然后从原始DEM中减去结果(也可以使用“高通”滤波器)。您可能必须试验一下过滤器的尺寸,该尺寸取决于您的沟渠特征的宽度,但应略大于沟渠。对于我的数据,我将DFME工具的“搜索邻域大小”参数设置为5个像元,这将创建一个11 x 11的过滤器。
您将需要对DFME栅格进行阈值处理,以提取DFME值较低的所有网格像元。同样,这将取决于您的数据,特别是取决于DEM中沟槽的深度。我为此简单地使用了白盒栅格计算器,其表达式为[低格] = [DFME] <(-0.15)。阈值中“ 0.15”参数的单位与DEM的z单位相同。这就是说,给我所有位于其周围至少15厘米(我的DEM以米为单位)的网格单元。
缓冲道路矢量,使其创建足够宽的道路遮罩,以包括道路及其路边的沟渠。这将取决于您的道路宽度。如果您的站点范围很广,则实际上可能会有多个道路宽度,例如,主要道路通常比次要道路宽。就我而言,10 m的道路缓冲效果很好。
使用DFME或DEM作为基础图像,将此道路缓冲区多边形转换为栅格,输出栅格将从中获取其分辨率和范围。如果您拥有比DEM站点更广泛的矢量道路网络,则可能需要预先将道路缓冲区剪切到栅格网格的图层足迹上,以加快此过程的速度,对我而言就是这种情况。根据矢量到栅格转换的工作方式,您可能已将道路缓冲区栅格中的值重新分配为1(道路)和0(其他所有值)。同样,栅格计算器对此很有用。
将最终的布尔道路缓冲区栅格乘以阈值DFME图像。
如果您确实很经典,则可能想对第5步得到的栅格应用细线算法,以创建路边沟渠的细线网络。
在下面的图像中,路边的沟渠网络以黑色显示,覆盖在DFME图像的顶部,DEM的山体阴影透明显示。在这种情况下,我认为它工作得相当不错,但是同样,它需要一点点的灵活性,并且需要使用各种参数。
如果事实证明您不仅对路边沟渠感兴趣,那么Whitebox中有一个名为Map Gully Depth的工具,可能会根据您的数据和地形用于此任务。使用起来很困难,因此,如果您决定走这条路,请给我发送电子邮件,我很乐意提供一些指导。主要问题在于,很难使用地表水流模式(例如,水流堆积图像)来绘制沟渠图,因为与溪流不同,农业环境中的沟渠既用于临时蓄水,又用于水输送。它们通常不具有您在自然流中发现的渐变。尽管如此,我已经在Whitebox中开发了一种抑制凹陷的算法,该算法可用于改善通过沟渠的排水,这对于绘制野外沟渠也很有用。