简化线状要素算法实现及比较研究.docxVIP

  • 56
  • 0
  • 约2.21千字
  • 约 5页
  • 2019-03-22 发布于贵州
  • 举报
简化线状要素算法实现及比较研究

简化线状要素算法实现及比较研究   摘 要:在GIS研究中,地图矢量数据通常用线状图形表达,研究主要集中在线状要素自动简化模型建立上。为对比不同线状要素简化算法的特点,分别对面积和道格拉斯匹克两种线要素简化算法进行了简化,并通过横向和纵向对算法进行比较。实验结果发现,道格拉斯匹克算法随简化率升高,保留点下降速率相对柔和,在相同简化率的情况下,道格拉斯匹克算法单位长度偏移更小。因此,?恼?体上考虑,道格拉斯匹克算法性能更优。   关键词:制图综合;线状要素简化;基于面积的算法;道格拉斯匹克算法   DOIDOI:/   中图分类号:TP312   文献标识码:A 文章编号文章编号:1672--0029-03   0 引言   空间数据多尺度表达问题是GIS研究的重点,也是地图自动综合的瓶颈。地图矢量数据都可用线状图形来表达,这就使多尺度研究的焦点主要集中在线要素自动简化模型的建立上。许多学者已经对此问题作了大量研究,Douglas DH和Peucker TK[1]提出DP算法,其采用首尾相连进行迭代化简;Li Zhi-lin和Openshaw[2]提出基于客观综合的自然规律的线划要素化简的方法;VisvaLingam 和Whyatt[3]提出基于最小面积的重复式点删除方法;Salfeld[4]提出基于逻辑一致的Douglas算法;郭庆胜[5]提出渐进式化简算法;武芳[6]提出面向地图基于遗传算法的线要素化简算法等。线简化算法种类繁多[7-8],本文以道格拉斯匹克算法和最小面积算法为例,纵向研究每种算法的简化特点,并横向比较两种算法的优劣。   1 算法概述    基于面积的线要素简化   迭代计算相邻3点围成面积,如果大于先前设定的面积,则保留这3个点,并向下遍历;若小于先前设定的面积,则删除中间的点,继续向下遍历选点,直至遍历整条线段。    道格拉斯匹克线要素简化   先选择首尾两点连接,遍历两点之间的所有点,找到距离首尾连线垂距最大的点,若最大垂距小于设定阈值,则删除中间的所有点;若最大垂距大于设定阈值,则保留此点,并将其与首尾相连,得到两根新的线段。分别对新线段进行如上操作,直至判断完整个曲线上的点。   2 研究方法及技术路线   首先明确线状要素简化的原因,是为了满足不同比例尺下的地图信息表达[9-10]。首先明确一个概念――简化率,因为线状要素简化的方法是先将其降维,转化为一系列离散的点状要素,再合理选取这些描述线要素的点要素,重新形成简化后的线要素。所以,简化率定义为:   α=Ndelete/Nsum   其中,α为简化率,Ndelete为删除的点数,Nsum为简化前的总点数。   另外,在不同比例尺下,尽管是同一条线段,也要用不同数量的点对其进行描述,即地图综合。所以,假设曲线原图比例尺为1:n,简化前的总点数为Nsum,若要转换到1:N比例尺下,应该保留的点数Nreserve为:   Nreserve=nN×Nsum   又有:   Ndelete=Nsum-Nreserve   所以:   Ndelete=Nsum×1-nN   又有:   α=Ndelete/Nsum   所以:   α=1-nN   基于以上公式,首先纵向评估每种算法在不同简化率下的化简效果,得到对应的阈值和保留点数Nreserve的对应关系,在Excel中拟合曲线,得到两者之间的函数关系,进而得到阈值与比例尺之间的函数关系,定量描述出两种简化算法的简化特点。至此,可以实现在比例尺无级缩放条件下的阈值选择。   另一方面,横向对比两种方法,在同样的简化率下,用两种方法分别对同一条曲线进行简化,得到简化后的曲线。将简化后的曲线和原曲线在ArcGIS中打开,计算出相交面积,通过控制简化率一致,从面积差异来对比评估两种方法的简化效果。   3 简化结果纵向分析    基于面积的线要素简化    实验数据及流程   选取一条初始点数为164的曲线作为实验数据,将其坐标值导入.txt文件,使用C++程序读入文件,经过简化算法后输出到.txt文件,再导入Excel中画出曲线。    简化结果   选取不同阈值,得到不同保留结果,计算出简化率,进而求出相应的比例尺分母放大倍数,即找到此方法阈值对应的缩放尺度。另外,得到设定阈值和保留点数的对应关系后,根据对应关系产生的散点,在Excel中使用幂函数进行拟合,显示拟合方程,即可得到由离散点到连续化的映射,从而得到比例尺无级缩放条件下对应的简化阈值。   基于以上对应关系,得到设定阈值与保留点数之间的散点关系,在Excel中将散点进行拟合,得到初步的连续函数。在此函数中,即可得到比例尺无级变化下对应的阈值。此函数关系为:   y=2   相关系数为:   R2= 7   可以发现,在基于面积的线要素简

文档评论(0)

1亿VIP精品文档

相关文档