- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于逐点判断双尺度曲线抽样算法
一种基于逐点判断的双尺度曲线抽样算法
【摘 要】文章通过对矢量曲线的点、线要素在其自动制图综合中的特点进行理论分析,给出一种曲线化简算法的分类体系,并对现有的几种经典算法进行分类,通过比较分析各种算法的优缺点,发现以单一尺度的曲线化简算法容易忽略一些特征点。针对这一问题,提出一种基于逐点判断的以角度、距离共同作为尺度的曲线抽样算法,通过实验验证,该算法在保留各种曲线特征点的处理上具有较好的效果。
【关键词】逐点 转角 距离 双尺度
一、引言
随着GIS的快速发展以及数据规模的急剧膨胀,对于各种GIS软件而言,自动制图综合就显得越来越重要了。线状要素是地图中量最大、形式最多样的要素,它们的化简在自动制图综合中非常重要。而就矢量曲线的自动制图综合(又称矢量曲线的化简或抽样表达)而言,前人对此作了大量的研究,并提出了各种算法,其中具有代表性的典型算法有Douglas-Peuker算法,McMaster算法以及Jenks的逐点垂距法(1989)等,另外还有很多学者从不同方面对这些算法进行补充和完善。
本文从理论层面分析矢量曲线的点要素、线要素的特征,进而依据各种算法在这两个要素上的处理方式对不同算法进行分类,总结各种算法优缺点并分析原因,最后在最大程度克服各种算法缺点的前提下提出一种新的算法,通过实例验证,该算法对矢量曲线的化简具有较好的效果。
二、分类的理论基础
矢量曲线的自动制图综合的最终目的是为了减少数据量,去掉那些冗余的,过密的非特征点。在评价一个算法对曲线化简的效果方面,陈波[2]给出了几种定量计算指标,而这几种评价指标从定性角度上看,其本质在于矢量曲线上各种特征点保留情况,因此,本文将从各种算法在具体实例中对不同特征点的处理情况来定性评价算法的优缺点。
对于矢量曲线的要素而言,可将其分为两种:点要素和线要素。点要素间的关系可以量化为两个特征量,一是两点间的线段长度,即距离;二是点与相邻两点所形成的夹角,即角度。通过分析发现,这两个特征量是各种算法需要进行定量计算的对象,也是进行判断的依据和尺度(下文将作进一步说明),所以本文在此将距离和角度作为给不同算法进行分类的标准之一,即以角度为尺度的算法,如McMaster算法等,以距离为尺度的算法,如Jenks的逐点垂距法等。矢量曲线的线要素在各种算法中的体现在于算法对迭代方式的选择。通过对各种算法的分析,将算法的迭代方式划分为两种,一是基于全局的迭代,如Douglas-Peuker算法等,而是基于逐点判断的迭代,如McMaster算法等。
至此,我们将矢量曲线的自动制图综合算法分为以下几种:(1)基于全局的以距离为尺度的曲线化简算法,代表为Douglas-Peuker算法;(2)基于逐点判断的以角度为尺度的曲线化简算法,代表为McMaster算法;(3)基于逐点判断的以距离为尺度的曲线化简算法,代表为Jenks的逐点垂距法。下文将一一对各类算法的典型代表进行分析说明。
三、Douglas-Peuker算法
该方法试图保持曲线走向和允许制图人员规定合理的限差,其执行过程如图1所示。首先将一条曲线首末点虚连一条直线,求出其余各点到该直线的距离,选出其中的最大距离值,用与限差D比较,若 D,则这条曲线上的中问点全部舍去;若≥D,则保留所对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法,直到将整条曲线上的点都判断完[1]。
图1 道格拉斯-普克法化简示意图
显而易见,该算法的迭代方式是基于全局的迭代,对点的取舍判断是以距离为尺度的,如前文所述,将其划分为基于全局的以距离为尺度的曲线化简算法。该算法最大的优点即是具有平移旋转的不变性(唯一性),在给定曲线和限差后,抽样的结果是一定的[6]。之所以该算法具有平移旋转不变性,是因为算法是基于全局进行迭代计算的,因此无论位置,方向如何,最终的抽样结果是一定的。但该算法由于只考虑距离这一判断尺度,则往往会忽略掉那些由转角较大而突出的特征点,刘晓红给出了一种一定程度解决该算法丢失曲率变化大的特征点的算法[1]。在此举例说明什么是曲率变化大的特征点,如图2:
图2 由角度体现的特征的示意图
图中点2,4,6,8所连直线与点3,5,7所连直线平行,两平行线距离为L,显而易见,相比于点4,5而言,点2,3,6,7由于转角较大而更突出,在抽样过程中应保留,我们可以称这样的点为由角度表现的特征点。
但运用Douglas-Peuker算法进行化简,当D L/2时,化简后效果为图3:
图3 化简结果示意图
当D L/2时,保持原图不变,显然,Douglas-Peuker算法容易忽略由角度表现的特征点。
四、McMaster算
文档评论(0)