一种顾及空间邻近关系的矢量等高线数据划分方法

文档序号:6534887阅读:330来源:国知局
一种顾及空间邻近关系的矢量等高线数据划分方法
【专利摘要】本发明公开了一种顾及空间邻近关系的矢量等高线数据划分方法。具体步骤如下:(1)读取等高线数据,定量统计等高线数据的特征;(2)计算每条等高线的最小外接矩形的中心点坐标,并用加上高程信息的三维点表示矢量等高线数据;(3)设置并行计算的计算节点数K;(4)计算理想负载均衡状态下每个计算节点的负载阈值,并计算负载阈值下限和负载阈值上限;(5)选取M(M=20K)个点作为初始聚类中心点;(6)把点要素聚类为M个类簇;(7)重新计算M个类簇的中心点坐标;(8)用四元组表示M个类簇;(9)把四元组作为最小数据划分单元,把M个四元组聚类为K个类簇;(10)结束。本发明不仅能满足数据均衡原则,保证负载均衡,还能保证划分的数据具有良好的空间聚集度。
【专利说明】一种顾及空间邻近关系的矢量等高线数据划分方法
【技术领域】
[0001]本发明属于地理信息和并行计算的交叉【技术领域】,特别是涉及一种对矢量等高线数据实现数据划分和负载均衡的方法。
【背景技术】
[0002]随着地理信息获取技术的发展,空间数据规模的不断扩展,空间运算复杂程度的不断提高。同时人们要求GIS所求解的问题也越来越复杂,单一的GIS处理模式已经不再适应海量数据空间运算的新需求,同时随着硬件技术和新型应用的不断发展,并行计算系统得到快速发展,如多核体系结构的发展、云计算模式出现、GPU软硬技术的延伸,为并行GIS的发展提供了不可或缺的支持。有关文献:[I]陈国良等,并行计算的一体化研究现状与发展趋势[j].科学通报,2009 (8):1043-1049.[2]Xia Y,LiY, Shi X.Parallel viewshed analysis on GPU using CUDA[C]//ComputationalScience and Optimization (CSO), 2010Third International Joint Conferenceon.1EEE, 2010,1:373-374.[0003]当前,地理信息领域的并行算法设计主要是从任务分解和数据分解两个角度进行的。任务分解是根据算法的特征和并行计算环境的特点,分析算法中可以并行的部分,对算法进行全局和局部的并行化。数据分解是通过特定算法把数据划分成一些小的数据,然后再将计算关联到所操作的数据上。一个良好的矢量等高线数据划分算法应遵循以下准则:
[0004]( I)各个计算节点上数据量均衡
[0005]各个计算节点上的数据量应该尽可能的相等,这样才能保证每个计算节点的计算任务想当,使加速比达到最大。
[0006](2)划分的空间数据有良好的聚集度
[0007]该准则要求空间位置上邻近的空间数据尽可能的划分在相同的计算节点上,良好的空间聚集度能提高后期空间数据查询的效率,同时也便于在单个节点上计算完成后进行节点内部数据的拓扑检查和修改,提高结果数据的准确度。
[0008](3)各并行计算节点上的数据不相交
[0009]在对矢量等高线数据进行划分时,各个计算节点上的数据子集的并集应该是原始的等高线数据集,同时各个计算节点上的等高线数据集又不能有重叠的数据。否则产生的冗余数据不但影响计算的效率,而且会造成计算结果的不一致性。
[0010]现有的空间数据划分方法主要有:0racle Spatial的基于坐标值X或Y的范围划分法和基于坐标值X和Y的范围划分法,这种划分方法没有考虑空间数据的相邻性,可能把空间相邻的数据划分到不同的计算节点上。贾婷和刘润涛等提出的基于κ-means聚类算法的空间数据划分方法,该方法把保证了空间相邻的数据划分到相同的计算节点,但是该方法不能保证每个计算节点上的数据量相对均衡。有关文献:[3]贾婷,魏祖宽,唐曙光,等.一种面向并行空间查询的数据划分方法[J].计算机科学,2010,37 (008):198-200.[4]刘润涛,安晓华,高晓爽.一种基于R-树的空间索引结构[J].ComputerEngineering, 2009, 35(23):32-34.
【发明内容】

[0011]针对现有并行计算中矢量等高线数据划分的局限性,结合并行计算领域的数据划分方法提供一种顾及空间邻近关系的矢量等高线数据划分方法,不仅能满足数据均衡原贝U,保证负载均衡,还能保证划分的数据具有良好的空间聚集度,且算法时间复杂度低,实时性好。其研究成果也为分布式环境乃至云计算环境下的空间数据划分提供重要的理论指导和技术方法支持。
[0012]本发明的技术解决方案为:
[0013]一种顾及空间邻近关系的矢量等高线数据划分方法,具体步骤如下:
[0014]步骤I,读取矢量等高线数据,定量统计等高线数据的特征;
[0015]步骤2,计算每条等高线的最小外接矩形的中心点坐标,并用具有高程信息的中心点要素表示对应的等高线要素,用点要素来表示等高线要素;
[0016]步骤3,设置并行计算的计算节点数K ;
[0017]步骤4,计算理想负载均衡状态下每个计算节点所接纳的点数,并设置负载阈值下限和负载阈值上限;
[0018]步骤5,选择彼此距离尽可能远的M个点作为初始聚类中心点,其中,M=20K,选取方法为:首先随机选取第一个点作为第一个初始类簇中心点,第二个点的选择方法为距离第一个点距离最远的点,然后再选取距离前两个点距离最大的点作为第三个类簇的中心点,以此类推,直到选出 初始M个类簇中心点;
[0019]步骤6,计算所有点到M个类簇中心的距离,并把点归到距离类簇中心距离最短的聚类中,形成M个类簇;
[0020]步骤7,重新计算M个类簇的中心点坐标;
[0021]步骤8,用M个四元组C〈ID, C_p, Line_Col, P_num>表示M个类簇,并把四元组作为数据划分的最小单位。其中ID为类簇ID号,C_p为该类簇中心点,Line_Col为该类簇所包含的点要素对应的线要素的ID集合,P_num为Line_Col集合中的ID号对应的线要素所包含的点之和;
[0022]步骤9,从M个四元组中选择彼此距离尽可能远的K个点作为聚类中心点;
[0023]步骤10,计算所有M个四元组的中心点C_p到K个聚类中心点的距离,把四元组归到距离聚类中心点距离最短的聚类中,形成K个类簇;
[0024]步骤11,重新计算K个类簇的中心点坐标;
[0025]步骤12,重新计算每个四元组中的点到K个类簇中心点的距离,对于任意一个四元组,如果其点与当前所属类簇中心点的距离不是最小,并且当前所属类簇中包含数据量大于阈值上限,则将该四元组放入距离最近的中心点所在的类簇中,否则该四元组所属类簇不变;
[0026]步骤13,重复执行步骤11和步骤12,直到满足预设的迭代停止条件;
[0027]步骤14,结束。
[0028]本发明的技术特点及有益效果:本发明总体上具有简单、自动化、智能化的特点,相对于目前在实际工程中应用广泛应用的各种矢量线要素数据划分方法,本发明主要解决的问题有:
[0029](I)针对矢量线要素数据的特点,利用矢量等高线要素最小外接矩形的中心点坐标加上高程信息构成的三维点数据表示矢量等高线数据,实现数据降纬处理,降低了数据划分的难度;
[0030](2) K-means聚类算法具有族内数据具有较好的相似度而族间的数据具有较低的相似度的特点,本发明利用K-means聚类算法这一特性,并对其进行改进,利用其来指导空间数据划分,保证空间位置邻近的数据尽可能的划分到相同的计算节点上;
[0031](3)本发明首先把降纬处理后的点数据聚类为20K (K为并行计算节点数)个类簇,并用四元组来表示这20K个类簇,把四元组中包含的点数据作为数据划分的基本单位,增大了数据划分的粒度,提高了算法的效率;
[0032](4)本发明不仅为推动矢量线要素划分技术的发展,丰富相关研究的内容与方法。其研究成功也为分布式技术乃至云计算环境下的空间数据划分提供重要的理论指导和技术方法支持。
【专利附图】

【附图说明】
[0033]图1为本发明一种顾及空间邻近关系的矢量等高线数据划分方法流程图。
【具体实施方式】
[0034]以下结合幅图,对本发明的顾及空间邻近关系的矢量等高线数据划分方法的【具体实施方式】作详细说明。
[0035]本发明顾及空间邻近关系的矢量等高线数据划分方法,其所用的基本变量如表I所示。
[0036]表I矢量等高线数据划分方法变量描述
[0037]
【权利要求】
1.一种顾及空间邻近关系的矢量等高线数据划分方法,其特征在于,具体步骤如下: 步骤I,读取矢量等高线数据,定量统计等高线数据的特征; 步骤2,计算每条等高线的最小外接矩形的中心点坐标,并用具有高程信息的中心点要素表示对应的等高线要素,用点要素来表示等高线要素; 步骤3,设置并行计算的计算节点数K ; 步骤4,计算理想负载均衡状态下每个计算节点所接纳的点数,并设置负载阈值下限和负载阈值上限; 步骤5,选择彼此距离尽可能远的M个点作为初始聚类中心点,其中,M=20K,选取方法为:首先随机选取第一个点作为第一个初始类簇中心点,第二个点的选择方法为距离第一个点距离最远的点,然后再选取距离前两个点距离最大的点作为第三个类簇的中心点,以此类推,直到选出初始M个类簇中心点; 步骤6,计算所有点到M个类簇中心的距离,并把点归到距离类簇中心距离最短的聚类中,形成M个类簇; 步骤7,重新计算M个类簇的中心点坐标; 步骤8,用M个四元组C〈ID, C_p, Line_Col, P_num>表示M个类簇,并把四元组作为数据划分的最小单位;其中ID为类簇ID号,C_p为该类簇中心点,Line_Col为该类簇所包含的点要素对应的线要素的ID集合,P_num为Line_Col集合中的ID号对应的线要素所包含的点之和; 步骤9,从M个四元组中选择彼此距离尽可能远的K个点作为聚类中心点; 步骤10,计算所有M个四元组的中心点C_p到K个聚类中心点的距离,把四元组归到距离聚类中心点距离最短的聚类中,形成K个类簇; 步骤11,重新计算K个类簇的中心点坐标; 步骤12,重新计算每个四元组中的点到K个类簇中心点的距离,对于任意一个四元组,如果其点与当前所属类簇中心点的距离不是最小,并且当前所属类簇中包含数据量大于阈值上限,则将该四元组放入距离最近的中心点所在的类簇中,否则该四元组所属类簇不变; 步骤13,重复执行步骤11和步骤12,直到满足预设的迭代停止条件; 步骤14,结束。
2.根据权利要求1所述的一种顾及空间邻近关系的矢量等高线数据划分方法,其特征在于, 所述步骤5中,距离的计算方法为: (a)首先将各个点的坐标值映射到[0,I]区间,映射公式为:
【文档编号】G06F17/30GK103778191SQ201410004177
【公开日】2014年5月7日 申请日期:2014年1月3日 优先权日:2014年1月3日
【发明者】沈婕, 朱伟, 吴鹏, 尹子鹤 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1