一种面面叠加环构造方法技术

技术编号:4202780 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种面面叠加环构造方法,包括对两个多边形组中的多边形进行交操作,以及对两个多边形组中的多边形进行差操作;其中,交操作包括:对产生交点的多边形环通过交点的出入属性查找多边形环;对没有产生交点的多边形环,根据代表点与另一组多边形间的关系,决定是否将该环插入到结果的环的集合中去;差操作包括:对多边形进行分类;对只存在同色交点以及不存在任何交点的多边形进行插入操作,得到差结果的内环集合、差结果的外环集合以及一个待拆分的内环集合;根据交点以及待拆分的内环集合求差操作,将所得到的结果插入差结果的外环集合中。本发明专利技术具有效率高、构造过程完整的优点。

【技术实现步骤摘要】

本专利技术涉及GIS ( Geographical Information System,地理信息系统) 中的叠加分析领域,特别涉及。
技术介绍
地理信息系统(GIS)是一种十分重要的空间信息系统。它是在计算机 软、硬件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关 地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。 空间分析是GIS的重要组成部分,是GIS的灵魂,也是评价一个GIS功能 的主要指标之一。空间分析是基于地理目标的位置和形态特征的空间数据 分析技术,其目的是提取和发现隐含的空间信息和规律,是空间数据挖掘 和知识发现的基本方法之一。空间分析主要包括空间量算、关系查询、缓 冲分析、叠加分析、网络分析等内容,其中的叠加分析是本专利技术所要关注 的焦点。在常见的GIS系统中,釆用分层方式组织地理景观,同一区域的 整个数据层集表达了该地区地理景观的内容。在对分层数据进行组合时采 用了叠加分析。具体的说,叠加分析是将相关主题层組成的数据层进行叠 加产生一个新数据层的操作,其结果综合了原来的两层或多层要素所具有的 属性。叠加分析不仅包含空间关系的叠加,还包括属性关系的综合。最基本的叠加分析是在两个图层上的操作,假设把第 一个图层叫做输入 图层,第二个图层叫做叠加图层,则输入图层与叠加图层之间互为对应图层, 即输入图层的对应图层为叠加图层,叠加图层的对应图层为输入图层。在叠 加分析中,叠加图层必须为面图层,而输入图层可以是点、线或者面图层。 根据不同的输入图层的不同类型,叠加分析分为点面叠加、线面叠加和面面 叠力口。在面面叠加过程中,主要包括以下流程 1 、利用扫描线算法求取相交的面与面之间的交点; 2、根据求得的交点做相应的叠加操作,从而得到结果环;对没有产 生交点的环,根据一定的插入规则,加到结果内环或者外环集合中去;3、 根据ID属性对结果环中的内环和外环^:匹配4乘作,得到结果多边形;4、 最后根据ID继承属性,生成最终的叠加结果。 现有技术在根据交点求结果环的过程中,存在着以下缺陷首先,现有技术在求得交点后,将交点按照其在多边形中的顺序添加 到用于表示多边形的链表中,然后沿着多边形的方向前进,遇到交点时, 根据交点的出入属性决定前进方向,直至到达起点。最终所得到的结果环 为一个既包含端点又包含交点的点的链表结构。因此,要实现上述的过程, 需要频繁地对链表进行插入操作。此外,在上述过程中,前进方向只可能 在遇到交点时才可能产生变化,因此,在理论上可以将多边形在两个交点 间的端点直接添加到最后生成的结果环中,而由于多边形本身采用前述的 链表结构,因此在上述构造过程中,必须依次遍历链表中的所有点,而无 论该点是交点还是端点。现有技术中所采用的上述数据结构显然会对叠加 环构造过程的执行效率产生影响。其次,在现有技术中,在构造叠加环的整个过程中,通常是对两组多 边形中的多边形两两进行计算,这样做的效率不高,且存在重复计算的问题, 比如,求差时,若一个多边形A与B1、 B2都相交,则求A、 B之差时,A与 Bl之差要作为输入,再计算其与B2之差。再次,现有技术对不存在交点的多边形如何处理没有进行明确的说明, 这也不利于整个结果环计算过程的正确性。
技术实现思路
本专利技术的目的是克服现有技术所存在的叠加环构造效率不高,对叠加 环构造过程不完整的缺陷,从而提供一种高效、完整的面面叠加环构造方 法。为了实现上述目的,本专利技术提供了,包括对 两个多边形组中的多边形进行交冲乘作,以及对两个多边形组中的多边形进 行差操作;其中,所述的对两个多边形组中的多边形进行交操作包括 步骤1 )、对产生交点的多边形环通过交点的出入属性查找属于所述多 边形环上的所有交点,根据所查找到的交点得到相应的多边形环;根据所 得到多边形环的属性插入交结果的内环集合或交结果的外环集合中;7步骤2)、对没有产生交点的多边形环,在环上选择一个代表点,然后 根据该点与另 一組所有多边形间的关系,决定是否将该环插入到结果的环的集合中去;所述的对两个多边形组中的多边形进行差#:作包括步骤3)、对两个多边形组中的多边形进行分类,分为存在异色交点的 多边形,只存在同色交点的多边形,以及不存在任何交点的多边形;步骤4 )、对上一步骤中分类得到的只存在同色交点的多边形以及不存 在任何交点的多边形进行插入操作,得到差结果的内环集合、差结果的外 环集合以及一个待拆分的内环集合;步骤5)、根据交点以及待拆分的内环集合求差操作,将所得到的结果 插入差结果的外环集合中。上述技术方案中,所述的步骤l)包括步骤1-1 )、对相交多边形中的各个交点进行排序;步骤l-2)、对排序后的各个交点进行遍历操作,在一次操作过程中, 判断在用于保存交点的集合中是否存在未被访问过的交点,若存在,则按 照步骤1-1 )所得到的交点排列顺序选择一个未被访问过的交点,然后执 行下一步骤,否则,结束操作;步骤l-3)、首先判断当前点是否是完全重合的交点,若是,则根据对 特殊类型交点处理的方法对其进行处理,否则,判断当前的交点是出点还 是入点,若是入点,则按照交点所在第一组多边形的方向前进,直至找到 下一个交点,若是出点,则按照交点所在的第二组多边形前进,直至找到 下一个交点;其中,所述的出点是所述的第一组多边形走出所述的第二组 多边形的点,所述的入点是所述的第 一组多边形进入所述的第二组多边形 的点;步骤1-4)、查找到下一个交点后,判断该交点与最初的交点是否一致, 若一致,则认为找到了一个环,执行下一步,否则,重新执行步骤l-3);步骤l-5)、根据所得到环的方向判断所述环是内环还是外环,根据判 断结果,将所得到的环存放到交结果的内环集合或外环集合中。上述技术方案中,在所述的步骤l-l)中,所述的对交点进行排序包括首先按照交点所属的多边形为交点排序,属于一个多边形的交点排列 在一起;之后为同一多边形上的交点按照其归属的环进行排序,属于同一个环的交点放在 一起;然后为同 一环上的交点根据交点所在的段进行排序,将属于同一线段上的交点排列在一起,将不同线段上的交点按照线段的顺序排列;最后将同 一线段上的交点按照距离线段起点的顺序进行排 列。上述技术方案中,在所述的步骤1-5)中,所述的根据所得到环的方 向判断所述环是内环还是.外环包括若所述环的方向为顺时针方向,则该环为外环,若所述环的方向为逆 时4十方向,则该环为内环。上述技术方案中,所述的步骤2)包括步骤2-l)、在一个多边形组中,在没有交点的多边形的内环和/或外 环上分别选择边界点作为代表点;步骤2-2 )、将所选择的边界点与另 一组多边形中的各个多边形进行比 较,若该边界点在另一多边形组的多边形内部,则执行下一步,若该边界 点在另 一多边形组的多边形外部,则执行步骤2-4 );步骤2-3)、将所述边界点所在的环写入结果中,若所述边界点是外环 上的边界点,则将环写入交结果的外环集合中,若所述边界点是内环上的 边界点,则将环写入交结果的内环集合中;最后结束操作;步骤2-4)、将所述边界点所在的环放弃,不写入结果中,结束操作。上述技术方案中,在所述的步骤4)中,所述的求差操作包括对作为 被减数的源多边形组上的环的操作,以本文档来自技高网
...

【技术保护点】
一种面面叠加环构造方法,包括对两个多边形组中的多边形进行交操作,以及对两个多边形组中的多边形进行差操作;其中, 所述的对两个多边形组中的多边形进行交操作包括: 步骤1)、对产生交点的多边形环通过交点的出入属性查找属于所述多边形环 上的所有交点,根据所查找到的交点得到相应的多边形环;根据所得到多边形环的属性插入交结果的内环集合或交结果的外环集合中; 步骤2)、对没有产生交点的多边形环,在其中一个多边形环上选择一个代表点,然后根据该点与另一组多边形间的关系,决定是 否将该环插入到结果的环的集合中去; 所述的对两个多边形组中的多边形进行差操作包括: 步骤3)、对两个多边形组中的多边形进行分类,分为存在异色交点的多边形,只存在同色交点的多边形,以及不存在任何交点的多边形; 步骤4)、对上 一步骤中分类得到的只存在同色交点的多边形以及不存在任何交点的多边形进行插入操作,得到差结果的内环集合、差结果的外环集合以及一个待拆分的内环集合; 步骤5)、根据交点以及待拆分的内环集合求差操作,将所得到的结果插入差结果的外环集合中。

【技术特征摘要】
1、一种面面叠加环构造方法,包括对两个多边形组中的多边形进行交操作,以及对两个多边形组中的多边形进行差操作;其中,所述的对两个多边形组中的多边形进行交操作包括步骤1)、对产生交点的多边形环通过交点的出入属性查找属于所述多边形环上的所有交点,根据所查找到的交点得到相应的多边形环;根据所得到多边形环的属性插入交结果的内环集合或交结果的外环集合中;步骤2)、对没有产生交点的多边形环,在其中一个多边形环上选择一个代表点,然后根据该点与另一组多边形间的关系,决定是否将该环插入到结果的环的集合中去;所述的对两个多边形组中的多边形进行差操作包括步骤3)、对两个多边形组中的多边形进行分类,分为存在异色交点的多边形,只存在同色交点的多边形,以及不存在任何交点的多边形;步骤4)、对上一步骤中分类得到的只存在同色交点的多边形以及不存在任何交点的多边形进行插入操作,得到差结果的内环集合、差结果的外环集合以及一个待拆分的内环集合;步骤5)、根据交点以及待拆分的内环集合求差操作,将所得到的结果插入差结果的外环集合中。2、根据权利要求1所述的面面叠加环构造方法,其特征在于,所述 的步骤1)包括步骤1-1)、对相交多边形中的各个交点进行排序;步骤l-2)、对排序后的各个交点进行遍历操作,在一次操作过程中, 判断在用于保存交点的集合中是否存在未被访问过的交点,若存在,则按 照步骤1-1 )所得到的交点排列顺序选择一个未被访问过的交点,然后执 行下一步骤,否则,结束操作;步骤l-3)、首先判断当前点是否是完全重合的交点,若是,则根据对 特殊类型交点处理的方法对其进行处理,否则,判断当前的交点是出点还 是入点,若是入点,则按照交点所在第一组多边形的方向前进,直至找到 下一个交点,若是出点,则按照交点所在的第二组多边形前进,直至找到 下一个交点;其中,所述的出点是所述的第一组多边形走出所述的第二组 多边形的点,所述的入点是所述的第一组多边形进入所述的第二组多边形的点;步骤i_4)、查找到下一个交点后,判断该交点与最初的交点是否一致, 若一致,则认为找到了一个环,执行下一步,否则,重新执行步骤l-3);步骤l-5)、根据所得到环的方向判断所述环是内环还是外环,根据判 断结果,将所得到的环存放到交结果的内环集合或外环集合中。3、 根据权利要求2所述的面面叠加环构造方法,其特征在于,在所 述的步骤l-l)中,所述的对交点进行排序包括首先按照交点所属的多边形为交点排序,属于一个多边形的交点排列 在一起;之后为同一多边形上的交点按照其归属的环进行排序,属于同一 个环的交点放在 一起;然后为同 一 环上的交点根据交点所在的段进行排 序,将属于同一线段上的交点排列在一起,将不同线段上的交点按照线段 的顺序排列;最后将同 一线段上的交点按照距离线段起点的顺序进行排 列。4、 根据权利要求2所述的面面叠加环构造方法,其特征在于,在所 述的步骤1-5)中,所述的根据所得到环的方向判断所述环是内环还是外 环包括若所述环的方向为顺时针方向,则该环为外环,若所述环的方向为逆 时4十方向,则该环为内环。5、 根据权利要求1所述的面面叠加环构造方法,其特征在于,所述 的步骤2)包括步骤2-l)、在一个多边形组中,在没有交点的多边形的内环和/或外 环上分别选择边界点作为代表点;步骤2-2 )、将所选择的边界点与另 一組多边形中的各个多边形进行比 较,若该边界点在另一多边形组的多边形内部,则执行下一步,若该边界 点在另 一多边形组的多边形外部,则执行步骤2-4 );步骤2-3)、将所述边界点所在的环写入结果中,若所述边界点是外环 上的边界点,则将环写入交结果的外环集合中,若所述边界点是内环上的 边界点,则将环写入交结果的内环集合中;最后结束操作;步骤2-4)、将所述边界点所在的环放弃,不写入结果中,结束操作。6、 根据权利要求1...

【专利技术属性】
技术研发人员:闫杰朱效民郎兵方金云
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1