GIS中散乱点集凸包的快速算法及编程_李军辉

发布时间:2021-06-07

2009年9月

第23卷第3期总77期北京联合大学学报(自然科学版)

JournalofBeijingUnionUniversity(NaturalSciences)Sep.2009

Vol.23No.3SumNo.77

GIS中散乱点集凸包的快速算法及编程

李军辉,李紫阳

1

2

(1.东南大学交通学院,南京 210096;2.沈阳军区某部司令部,沈阳 110000)

[摘 要] 在地理信息系统(GIS)中,(。通过研究了传统凸包算法,并对其进行改进,提出简单快速的点集凸包改进算法。经过验证,新算法可准确快速地求出点集凸包。[关键词] GIS;凸包;算法;编程

[中图分类号] P208 [文献标识码] A [文章编号] 1005-0310(2009)03-0032-03

AQuickAlgorithmandProgrammingtoDetermineConvexHull

forPlanarScatteredPointSetinGIS

LIJun-hui,LIZ-iyang

1

2

(1.TransportationCollege,SoutheastUniversity,Nanjing 210096,China;

2.ShenyangMilitaryRegionCommand,Shenyang 110000,China)

Abstract:InGIS,theconvexhullalgorithmsofapointsetarealwaysappliedinthegenerationofTINandthebuildingofDTM.Thepaperdiscussesthetraditionalconvexhullalgorithmsandputsforwardafasteralgorithm.Ithasbeenprovedthatthenewalgorithmcanacquireconvexhullquicklyandaccurately.

Keywords:GIS;convexhull;algorithm;programming 在地理信息系统(GeograghicInformationSystem,GIS)应用中,原始数据经常是一些离散数据,比如雨量分布数据等,由于数据的采集、传输和录入的顺序不同,一般是一些散乱的数据记录,称其为散乱点集。

凸包问题是计算几何中一个重要问题,在GIS中,动态计算面积、裁剪区域、生成TIN及DTM都需要用到散乱点集的凸包算法。

本文综合各种凸包求取算法,对算法进行改进并在VC++610环境中编程实现,实验证明本文算法可有效快速地求出点集凸包。

[1]

描法等。增量法首先取几个点,形成初始凸包,然后不断寻找当前凸包外的新顶点来更新凸包,直到所有的点都在凸包内。该算法的计算复杂度为O(n)。格雷厄姆扫描法首先找到最小y坐标点,接着按照其它点和该极值点的连线与x轴的夹角的角度值排序,通过判断连续3个点的空间关系,从而得到逆时针排列的凸包顶点,其计算复杂度为O(nlogn)

[3-5]

2

[2]

在传统的算法中,所有的点都参加运算,增加了运算所需要的时间。Yao证明凸包算法的计算复杂度下限为O(nlogn)

[6]

。而本文采用了一种改进

1 算法复杂度分析

上世纪70年代以来,不少学者提出了点集凸包的计算方法,较为经典的有增量法、格雷厄姆扫

[收稿日期] 2009-06-16

的快速凸包求取思路。找到一个凸包的边界,这个边界被真正的凸包所包围,而凸包的大部分点都在这个边界的内部,将边界内部的点删除,这样运算

复杂度将远远小于O(nlogn)。

[作者简介] 李军辉(1981)),男,山东潍坊人,南京市东南大学学生,硕士研究生,主要研究方向为地图制图学与地理信息工程。

GIS中散乱点集凸包的快速算法及编程_李军辉.doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219