线状要素接边的方法技术

技术编号:7974921 阅读:188 留言:0更新日期:2012-11-15 23:07
本发明专利技术公开了一种应用在地理信息系统中线状要素接边的方法,以使接边方式在正确性、高效性、和容错性都有改善。本发明专利技术采用了空间关系和属性关系的双重限制条件,避免了线对象的错接,又利用接边表从而避免漏接;将接边对象按照与空间范围的关系,分为内、外两个对象集合,事先构造出每个对象能够接边的次数,且将接边空间关系的判断转换为线对象端点之间距离的判断,从而使得本发明专利技术方法相对现有技术,正确率更高、容错性更强、搜索接边对象的效率更高。

【技术实现步骤摘要】

本专利技术涉及一种在地理信息系统中数据处理的方法,尤其是一种线状要素进行接边的方法。
技术介绍
随着数字城市建设的发展,作为数字城市基础数据之一的GIS地形图数据的更新和管理变得越来越重要。但是由于地形图分幅管理的习惯造成地理目标实体被人为地分害I],所以如何在确保精度的前提下,进行快速、准确、无图幅限制的接边是摆在现实面前的一个课题。目前实现有很多种,但无论哪一种都要求接边时即考虑空间关系又考虑属性两种限制条件,同时还要兼顾接边效率。在现有的方法中,有利用拓扑空间关系去寻找接边要素的,也有利用数据检查的方法去寻找接边要素的。但是,也有利用数据检查的方法去寻找接边要素的,但在接边时大多采用拓扑的合并操作来实现。当接边的要素有错位或者距离大于数据坐标精度容限时,容易生成复杂要素对象。总的来说,现有接边方法或多或少存在以下不足I、存在错接漏接的情况。一方面,数据接边时如果不能兼顾空间和属性两个条件,会造成错接;另一方面,如果对象之间的接边关系复杂,在接边时容易造成漏接的情况。2、接边要素的查找效率慢,S卩如何找到接边范围内要素的接边对象。当进行批量接边时,直接影响到整个数据接边的效率。3、数据接边时容错性不足。当接边的要素有错位或者距离大于数据坐标精度容限时,采用拓扑合并操作的方式去生成接边后的对象,容易生成复杂对象。
技术实现思路
为了克服现有技术的不足,使线状要素接边在正确性、高效性、和容错性都有改善,本专利技术提供了一种,本方法与具体的地理信息系统(GIS)无关,所涉及的GIS数据处理方法都是应用GIS平台所共有的特性。本专利技术方法主要包括如下步骤(I)获取接边对象将接边的对象分为两个选择集,一个是位于接边范围内的选择集A,一个是接边范围外的选择集B。(2)获取每个线对象的接边次数(a)获取接边对象集合的当前对象,判断当前对象是否为空,若为空则返回接边对象和次数的哈希表对象,不为空则继续下一步;(b)计算对象起始点和接边图幅之间的距离,如果小于接边容限,则接边次数+1 ;(c)计算对象终点和接边图幅之间的距离,如果小于接边容限,则接边次数+1 ;(d)获取接边对象集合的下一个对象;(3)生成接边表,利用两个对象的首尾端点两两之间的距离来判断是否能够接边,同时记录下接边时的端点情况;所述接边表保存的是线对象的接边信息,包括终点接边对象及接边点、接边线对象、起点接边对象和接边点;接边表的生成步骤为(a)获得集合A的当前要素a,当前要素a为空,转到步骤(g),不为空,转下一步;(b)获取集合B的当前要素b,当前要素b为空,转到步骤(g),不为空,转下一步;(c)判断对象a和b是否满足接边条件,如果满足则转下一步,否则转步骤(b);(d)判断是否分别存在a、b对象的接边表,如果有则完善该接边表信息,没有则创建新的接边表对象,加入到接边表集合;(e)判断b对象是否达到了接边次数,如果是,则在集合B中删除该对象; (f)判断a对象是否达到了接边次数,如果是,则转步骤(a),否则转步骤(b);(g)完成退出,返回接边表集合;(4)根据接边表的信息,逐个进行接边。进一步,所述获取接边对象的步骤如下(a)获取选择集A :根据接边容限值,将接边范围向内做缓冲区,获得范围C,将接边图层和范围C的边线做相交查询,得到接边对象集合A ;(b)获取选择集B :根据接边容限值,将接边范围向外做缓冲区,获得范围C,将接边图层和范围C的边线做相交查询,得到接边对象集合B ;(c)获取集合A和集合B中共有的对象集合D ;(d)在集合A和B中去掉集合D中包含的对象;(e)在集合A和B中去掉封闭的多边形对象。进一步,所述接边的步骤如下(a)获取图幅内对象接边表记录,该接边表记录若为空则返回,否则进行下一步;(b)获取当前对象的接边对象,该接边对象若为空,则转到步骤(a),否则进行下一步;(c)接边并更新和接边对象相关的对象接边表,即当一个对象a和另外一个对象b接边以后,将接边信息表中的b全部都改为a ;判断图幅内对象是否完成了接边,是则转到步骤(a),否则转到步骤(b)。应用上述技术方案以后,在正确性、高效性以及容错性三个方面都得到了极大的改善。首先,由于采用了空间关系和属性关系的双重限制条件,避免了线对象的错接;同时由于接边表的生成,对象之间的接边关系一目了然,不会产生漏接的情况,提高了正确性;其次,本专利技术方法从几个方面入手,来提高搜索接边对象的效率第一,算法将接边对象按照和空间范围的关系,分为内、外两个对象集合,将N*N的判断次数,减少为N1*N2的判断次数(N1+N2 = N);第二,算法事先构造出每个对象能够接边的次数,从而在判断接边的时候,能够过滤掉已经有接边对象的要素;第三,接边空间关系的判断从拓扑关系的判断,转换为线对象端点之间距离的判断,减少了空间关系判断的时间复杂度;最后,本方法也提高了容错性,为了解决对象错位而产生复杂对象的情况,算法可以根据情况,对连接处的点坐标的处理方法进行设定;当a和b对象接边时,可以取用中点,也可以a的端点为准或以b的端点为准。此外,本方法最后可以输出那些可以接边但是没找到接边对象的线对象信息,方便验证。附图说明图I是获取接边对象集合流程不意图。图2是获取对象接边次数流程示意图。图3是接边表结 构示意图。图4是生成接边表流程不意图。图5是接边流程不意图。具体实施例方式下面结合附图和实施例对本专利技术作进一步详细说明。(I)获取接边对象如图I所示,将接边的对象分为两个选择集,一个是位于接边范围内的选择集A,一个是接边范围外的选择集B。(a)获取选择集A根据接边容限值,将接边范围向内做缓冲区,获得范围C,将接边图层和范围C的边线做相交查询,得到接边对象集合A ;(b)获取选择集B根据接边容限值,将接边范围向外做缓冲区,获得范围C,将接边图层和范围C的边线做相交查询,得到接边对象集合B ;(c)获取集合A和集合B中共有的对象集合D ;(d)在集合A和B中去掉集合D中包含的对象;(e)在集合A和B中去掉封闭的多边形对象。步骤⑴中的缓冲区分析和要素空间相交查询是每个GIS系统必备的功能,都有可以调用的接口。(2)获取每个线对象的接边次数线对象的接边次数,可以作为对象是否完成了接边的依据。线对象的接边次数,用线的端点到接边图幅范围的距离来进行判断,本步骤的流程如图2所示(a)获取接边对象集合的当前对象,判断当前对象是否为空,若为空则返回接边对象和次数的哈希表对象,不为空则继续下一步;(b)计算对象起始点和接边图幅之间的距离,如果小于接边容限,则接边次数+1 ;(C)计算对象终点和接边图幅之间的距离,如果小于接边容限,则接边次数+1 ;(d)获取接边对象集合的下一个对象。步骤(2)中的空间对象之间的距离计算是每个GIS系统必备的功能,都有可以调用的接口。(3)生成接边表接边表保存的是线对象的接边信息,主要信息如图3所示,包括终点接边对象及接边点、接边线对象、起点接边对象和接边点。现有的一种获取接边要素是用拓扑检查的方式去获取,根据在接边的地方有重合点的特性,根据重复点拓扑检查,就可以获得。但是拓扑检查的方法运用了空间关系算法,时间复杂度要高,同时并不能获得接边对象接边的端点信息。本专利技术采用的方法是直接用两个对象本文档来自技高网...

【技术保护点】
一种线状要素接边的方法,其特征在于,包括如下步骤:(1)获取接边对象:将接边的对象分为两个选择集,一个是位于接边范围内的选择集A,一个是接边范围外的选择集B。(2)获取每个线对象的接边次数:(a)获取接边对象集合的当前对象,判断当前对象是否为空,若为空则返回接边对象和次数的哈希表对象,不为空则继续下一步;(b)计算对象起始点和接边图幅之间的距离,如果小于接边容限,则接边次数+1;(c)计算对象终点和接边图幅之间的距离,如果小于接边容限,则接边次数+1;(d)获取接边对象集合的下一个对象;(3)生成接边表,利用两个对象的首尾端点两两之间的距离来判断是否能够接边,同时记录下接边时的端点情况;所述接边表保存的是线对象的接边信息,包括终点接边对象及接边点、接边线对象、起点接边对象和接边点;接边表的生成步骤为:(a)获得集合A的当前要素a,当前要素a为空,转到步骤(g),不为空,转下一步;(b)获取集合B的当前要素b,当前要素b为空,转到步骤(g),不为空,转下一步;(c)判断对象a和b是否满足接边条件,如果满足则转下一步,否则转步骤(b);(d)判断是否分别存在a、b对象的接边表,如果有则完善该接 边表信息,没有则创建新的接边表对象,加入到接边表集合;(e)判断b对象是否达到了接边次数,如果是,则在集合B中删除该对象;(f)判断a对象是否达到了接边次数,如果是,则转步骤(a),否则转步骤(b);(g)完成退出,返回接边表集合;(4)根据接边表的信息,逐个进行接边。...

【技术特征摘要】
1.一种线状要素接边的方法,其特征在于,包括如下步骤 (1)获取接边对象将接边的对象分为两个选择集,一个是位于接边范围内的选择集A,一个是接边范围外的选择集B。(2)获取每个线对象的接边次数 (a)获取接边对象集合的当前对象,判断当前对象是否为空,若为空则返回接边对象和次数的哈希表对象,不为空则继续下一步; (b)计算对象起始点和接边图幅之间的距离,如果小于接边容限,则接边次数+1; (C)计算对象终点和接边图幅之间的距离,如果小于接边容限,则接边次数+1 ; (d)获取接边对象集合的下一个对象; (3)生成接边表,利用两个对象的首尾端点两两之间的距离来判断是否能够接边,同时记录下接边时的端点情况;所述接边表保存的是线对象的接边信息,包括终点接边对象及接边点、接边线对象、起点接边对象和接边点;接边表的生成步骤为 (a)获得集合A的当前要素a,当前要素a为空,转到步骤(g),不为空,转下一步; (b)获取集合B的当前要素b,当前要素b为空,转到步骤(g),不为空,转下一步; (C)判断对象a和b是否满足接边条件,如果满足则转下一步,否则转步骤(b); (d)判断是否分别存在a、b对象的接边表,如果有则完善该接边表信息,没有则创建新的接边表对象,加入到接边表集合; (e)判断b对象是否...

【专利技术属性】
技术研发人员:何小军姚圣华
申请(专利权)人:江苏智途科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1