查看原文
其他

论文推荐︱窦世卿:河网线要素与DEM综合的三维Douglas-Peucker算法

2016-05-20 窦世卿 测绘学报

     


     目前三维Douglas-Peucker(3D_DP)算法主要应用于单一类型的DEM综合。本文引入”弯曲调节指数”来改进3D_DP算法,提出了一种三维空间河网要素与DEM综合的新方法,即将河网线矢量提取成三维离散点数据集(增加高程属性),与DEM三维离散点数据集合并,在河网层次化选取基础上,利用改进的3D_DP算法对合并数据集进行综合操作。通过试验结果的对比和分析表明,该方法通过弯曲调节指数的调节使河流自身所具有的弯曲形态与地形的主要特征得以同时保留,试验效果良好,实现了三维空间河网要素与DEM数据在同一简化因子作用下的综合,提升了地图综合的质量。


Douglas-Peucker(DP)算法是目前最具代表意义的二维线状要素化简算法[]。目前,部分学者将其从二维推广至三维,提出了三维Douglas-Peucker算法(3D_DP算法),并应用于DEM的综合[];文献[]对算法进行了改进。随后,3D_DP算法在许多领域得到了广泛应用,如黄土高原的地貌综合[]、等高线间接综合[]、DEM地形特征的提取[]、规则格网地形的LOD建模[]及其海底多波束测深数据的抽稀[]等。这些研究证明该算法能够保持制图区域的主要地貌特征,删除次要地貌,对隐含在DEM中的地貌结构线并没有破坏作用[]

河流与地貌在地理成因上存在着天然的耦合关系[],以往针对河网与DEM数据的综合研究中,两要素都是分开独立进行的,即河网作为矢量要素是依据其空间几何特征,而DEM则是根据其地形粗糙度,综合标准的不一致可能会在分析操作中出现几何或拓扑矛盾[]。本文利用3D_DP算法进行河网线要素和DEM的综合方法研究,使两要素在同一简化因子的作用下进行综合操作。在使用3D_DP算法进行两要素综合的过程中,河流在水平方向上自身所具有的弯曲形态将不能同时得以保留,尤其在局部平坦地区表现会更加突出,可能出现在某一阈值下,具有不同大小弯曲的河流要素点全部被综合的情况。

为此,本文引入了“弯曲调节指数”来改进3D_DP算法,提出一种三维空间河网要素和DEM综合的方法。在该方法中,将河网线要素提取成三维离散数据点集(增加高程属性)与DEM三维离散数据点集合并,然后基于改进的3D_DP算法进行综合操作,并利用河北保定及周边地区的河网数据和DEM,对所提算法及应用的正确性和有效性进行了试验验证和分析。


3D_DP算法中的首基面与点面距


(1) 确定原点和首基面:遍历某指定三维离散点集中的所有离散点并两两求矢量积,确定矢量积绝对值最大的一对所确定的平面为首基面,并指定此最大矢量积的3个点分别为原点、初始锚点和初始漂浮点(分别对应中的O点、A点和B点)。

(2) 点集有序化:按照空间临近原则对无序的三维离散点进行排序处理。即将初始锚点A作为点列首点,然后依次寻找三维距离最近的下一个新点,最后将初始漂浮点B作为点列的末点,原点O不参与排序。

(3) 特征点的选取:计算排序的每个离散点到首基面的点面距,若最大的点面距小于规定的阈值,则删除所有的点;若最大的点面距大于规定的阈值,则将有序点集从该点分为两段,重复上述过程[]


河网要素与DEM综合方法流程图


采用约束Delaunay构三角网法消除空间冲突现象


本文引入“弯曲调节指数”改进了传统3D_DP算法,提出了一种三维空间河网要素和DEM综合的新方法,并通过相关试验分析,得出如下结论:①通过“弯曲调节指数”的调节,使河网自身的弯曲形态与DEM的地形特征得以同时保留,初步实现了两种要素在同一简化因子作用下的同步综合操作,提高了地图综合的质量;②应用弯曲调节指数,使河流和DEM数据点的保留点数会有少许增加,但对整体的综合结果不会造成影响;③河网要素和DEM在同一简化因子下的渐进离散点选取过程,有利于多要素的多层次动态式综合,可为他们建立LOD(细节层次)模型提供不同精度要求的综合数据。

目前在试验结果中,当正角弯曲和负角弯曲连续交替出现形成“复合弯曲”时会出现个别过度综合现象,针对“复合弯曲”的严密数学定义、表达及如何进一步完善弯曲调节指数,将是下一步研究工作中首先要解决的问题。另外,对于综合试验结果好坏的判定只能通过视觉观察确定,存在一定的主观性,需要发展严密的数学方法和模型对其进行定量的描述和评价,且对空间多种地理要素与DEM之间的综合算法的研究还有待于进一步完善与发展,如将更为广泛的其他线状地物如道路、电力线、行政边界线等纳入到综合方法的范畴之中,将有助于此算法的进一步发展和多要素数据综合理论的进步,这些问题将在以后的工作中进行更深入的研究和探讨。



欢迎转载!

全文内容请点击“阅读原文”链接!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存