一种面面叠加中的线段处理方法技术

技术编号:4202589 阅读:353 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种面面叠加中的线段处理方法,包括:输入多边形,所述多边形来源于两个多边形组;拆分所述的多边形,得到多边形上的各条线段;对所得到的各条线段采用扫描线算法处理,得到所有相交的线段;将所得到的所有相交的线段按照相交情况以及线段所属的多边形组进行分类,得到四种类别:red1_blue1、red2_blue1、red1_blue2以及red2_blue2;对所有相交的线段按照所划分的类别分别进行处理,得到属于交点的点的坐标、交点所在的线段、交点是出点还是入点的信息、记录交点排序大小的标志信息。本发明专利技术在线段处理过程中得到了多种属性,有利于面面叠加中的后续操作;本发明专利技术可以对特殊类型的交点进行处理。

【技术实现步骤摘要】

本专利技术涉及GIS ( Geographical Information System,地理信息系统) 中的叠加分析领域,特别涉及。
技术介绍
地理信息系统(GIS)是一种十分重要的空间信息系统。它是在计算机 软、硬件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关 地理分布数据进行釆集、储存、管理、运算、分析、显示和描述的技术系统。 空间分析是GIS的重要组成部分,是GIS的灵魂,也是评价一个GIS功能 的主要指标之一。空间分析是基于地理目标的位置和形态特征的空间数据 分析技术,其目的是提取和发现隐含的空间信息和规律,是空间数据挖掘 和知识发现的基本方法之一。空间分析主要包括空间量算、关系查询、緩 冲分析、叠加分析、网络分析等内容,其中的叠加分析是本专利技术所要关注 的焦点。在常见的GIS系统中,采用分层方式组织地理景观,同一区域的 整个数据层集表达了该地区地理景观的内容。在对分层数据进行组合时釆 用了叠加分析。具体的说,叠加分析是将相关主题层组成的数据层进行叠 加产生一个新数据层的操作,其结果综合了原来的两层或多层要素所具有的 属性。叠加分析不仅包含空间关系的叠加,还包括属性关系的综合。最基本的叠加分析是在两个图层上的操作,假设把第 一个图层叫做输入 图层,第二个图层叫做叠加图层,则输入图层与叠加图层之间互为对应图层, 即输入图层的对应图层为叠加图层,叠加闺层的对应图层为输入图层。在叠 加分析中,叠加图层必须为面图层,而输入图层可以是点、线或者面图层。 根据不同的输入图层的不同类型,叠加分析分为点面叠加、线面叠加和面面 叠力口。在现有的面面叠加方法中,一4i包括以下流程1、 求相交的面与面之间的交点;2、 根据交点得到环,所得到的环分为内环与外环;3、 根据所述的内环、外环进行匹配操作,得到结果多边形;4、利用结果多边形得到最终的叠加结果。现有技术在实现上述流程时存在以下缺陷首先,现有技术在实现上述的步骤1的求交点的过程中,仅仅是计算 交点的坐标,并把这个坐标按照其所在的位置插入到原来的多边形中去, 而后根据这些交点,再得到环。根据此类求交点的方法得到的环是没有任 何标记信息的,因此会给后续的内环外环的匹配、属性归属的判断等操作 带来不便,需要大量的额外计算。其次,现有技术在实现步骤l时,对特殊类型的交点进行处理时也存 在不足。例如,当线段重合或者相交在端点时,要求交点就要采用微小改 变数据的方法,使得特殊类型的交点变成普通的交点。这种方法改变了数 据,造成结果不准确。
技术实现思路
本专利技术的目的是克服现有的面面叠加方法中,在求交点时只计算交点 的坐标而为后续操作带来大量额外计算的缺陷,从而提供一种在求交点坐 标的同时可得到其它附加属性的线段处理方法。为了实现上述目的,本专利技术提供了 ,包括以下步骤步骤l)、输入多边形,所述多边形来源于两个多边形组; 步骤2)、拆分所述的多边形,得到多边形上的各条线段; 步骤3)、对步骤2)所得到的各条线段采用扫描线算法处理,得到所有相交的线段;步骤4 )、将步骤3 )所得到的所有相交的线段按照相交情况以及线段所 属的多边形组进行分类,得到四种类别redl—bluel、 red2—blue 1 、 redl—blue2 以及red2—blue2;其中的线段颜色表示线段所来源的多边形组;步骤5)、对所有相交的线段按照步骤4)所划分的类别分别进行处理, 得到属于交点的点的坐标、交点所在的线段、交点是出点还是入点的信息、 记录交点排序大小的标志信息。上述技术方案中,在所述的步骤4)中,对线段的四种类别做进一步 的分类,包括在redl—blue2中,线段进一步分为两条蓝色线段在红色线段的异侧、 两条蓝色线段在红色线段的同侧、红色线段与 一条蓝色线段重叠;7在red2j3luel中,线段进一步分为两条红色线段在蓝色线段的异侧、 两条红色线段在蓝色线段的同侧、蓝色线段与 一条红色线段重叠;在red2—blue2中,线段进一步分为红色线段组与蓝色线段组之间不 存在交叉关系、红色线段组与蓝色线段组之间存在交叉关系、 一条红色线段 与一条蓝色线段重叠、两条红色线段分别与两条蓝色线段重叠。上述技术方案中,在所述的步骤5)中,所述的交点是出点还是入点 的信息通过以下方法得到步骤a)、将交点所在的线段分为第一线段与第二线段;步骤b )、将所述的第 一线段上的第二个端点的位置与所述的第二线段 所在多边形上的局部线段的位置进行比较,若所述第二个端点在所述局部 线段的内侧,则所述交点为入点,若所述第二个端点在所述局部线段的外 侧,则所述交点为出点。上述技术方案中,所述的交点排序大小的标志信息包括对红色线段的 交点排序大小的标志信息,以及对蓝色线段的交点排序大小的标志信息; 其中,所述的对红色线段的交点排序大小的标志信息利用所述红色线段经 过所述交点进入或离开所述蓝色线段所在多边形的信息得到,所述交点若 离开所述蓝色线段所在多边形,则与具有相同坐标值的点相比,所述交点 标记为顺序在前,所述交点若进入所述蓝色线段所在多边形,则与具有相 同坐标值的点相比,所述交点标记为顺序在后;所述的对蓝色线段的交点排序大小的标志信息利用所述蓝色线段经 过所述交点进入或离开所述红色线段所在多边形的信息得到,所述交点若 离开所述红色线段所在多边形,则与具有相同坐标值的点相比,所述交点 标记为顺序在前,所述交点若进入所述红色线段所在多边形,则与具有相 同坐标值的点相比,所述交点标记为顺序在后。上述技术方案中,在redl—bluel中,两条线段相交的点为交点,两条 线段为交点所在的线段。上述技术方案中,在redl—blue2中,当两条蓝色线段在红色线段的异 侧时,线段间相交的点为交点, 一条红色线段以及在所述红色线段所在多 边形内部的蓝色线段为交点所在的线段。上述技术方案中,在redl一blue2中,当两条蓝色线段在红色线段的同 侧时,红色线段与蓝色线段相交的点不属于交点。8上述技术方案中,在redl一blue2中,当红色线段与一条蓝色线段间存 在重叠时,判断红色线段与所述重叠的蓝色线断间的方向,若所述红色线 段与所述重叠的蓝色线段之间方向相反时,所述蓝色线段与所述红色线段 之间相交的点不属于交点;若所述红色线段与所述重叠的蓝色线段之间方 向相同时,所述蓝色线段与红色线段之间相交的点属于交点,记录与交点 相关的信息。上述技术方案中,当所述蓝色线段与所述红色线段之间相交的点属于 交点时,所述红色线段以及不与所述红色线段重叠的蓝色线段为交点所在 的线段。上述技术方案中,当所述蓝色线段与所述红色线段之间相交的点属于 交点时,根据交点所在的线段,判断所述交点是出点还是入点;在判断过程中,选择红色线段上非交点的端点,若该端点为所述红色 线段上的第二个端点,且在所述非重叠的蓝色线段的内侧时,交点为入点, 若该端点为所述红色线段上的第二个端点,且在所述非重叠的蓝色线段的 外侧时,交点为出点;若红色线段上非交点的端点为所述红色线段上的第一 个端点,且在所述非重叠的蓝色线段的内侧,交点为出点,若红色线段上非 交点的端点为所述红色线段上的第 一个端点,且在所述非重叠的蓝色线段的 外侧,则交点为入点。上述技术方案中,在Red2_本文档来自技高网
...

【技术保护点】
一种面面叠加中的线段处理方法,包括以下步骤: 步骤1)、输入多边形,所述多边形来源于两个多边形组; 步骤2)、拆分所述的多边形,得到多边形上的各条线段; 步骤3)、对步骤2)所得到的各条线段采用扫描线算法处理,得到所有相交 的线段; 步骤4)、将步骤3)所得到的所有相交的线段按照相交情况以及线段所属的多边形组进行分类,得到四种类别:red1_blue1、red2_blue1、red1_blue2以及red2_blue2;其中的线段颜色表示线段所来源的多边 形组; 步骤5)、对所有相交的线段按照步骤4)所划分的类别分别进行处理,得到属于交点的点的坐标、交点所在的线段、交点是出点还是入点的信息、记录交点排序大小的标志信息。

【技术特征摘要】
1、一种面面叠加中的线段处理方法,包括以下步骤步骤1)、输入多边形,所述多边形来源于两个多边形组;步骤2)、拆分所述的多边形,得到多边形上的各条线段;步骤3)、对步骤2)所得到的各条线段采用扫描线算法处理,得到所有相交的线段;步骤4)、将步骤3)所得到的所有相交的线段按照相交情况以及线段所属的多边形组进行分类,得到四种类别red1_blue1、red2_blue1、red1_blue2以及red2_blue2;其中的线段颜色表示线段所来源的多边形组;步骤5)、对所有相交的线段按照步骤4)所划分的类别分别进行处理,得到属于交点的点的坐标、交点所在的线段、交点是出点还是入点的信息、记录交点排序大小的标志信息。2、 根据权利要求1所述的面面叠加中的线段处理方法,其特征在于, 在所述的步骤4)中,对线段的四种类别做进一步的分类,包括在redl—blue2中,线段进一步分为两条蓝色线段在红色线段的异侧、 两条蓝色线段在红色线段的同侧、红色线段与 一条蓝色线段重叠;在red2—bluel中,线段进一步分为两条红色线段在蓝色线段的异侧、 两条红色线段在蓝色线段的同侧、蓝色线段与一条红色线段重叠;在red2_blue2中,线段进一步分为红色线段组与蓝色线段组之间不 存在交叉关系、红色线段组与蓝色线段组之间存在交叉关系、 一条红色线段 与 一条蓝色线段重叠、两条红色线段分别与两条蓝色线段重叠。3、 根据权利要求2所述的面面叠加中的线段处理方法,其特征在于, 在所述的步骤5)中,所述的交点是出点还是入点的信息通过以下方法得 到步骤a)、将交点所在的线段分为第一线段与第二线段; 步骤b)、将所述的第一线段上的第二个端点的位置与所述的第二线段 所在多边形上的局部线段的位置进行比较,若所述第二个端点在所述局部 线段的内侧,则所述交点为入点,若所述第二个端点在所述局部线段的外 侧,则所述交点为出点。4、 根据权利要求3所述的面面叠加中的线段处理方法,其特征在于, 所述的交点排序大小的标志信息包括对红色线段的交点排序大小的标志信息,以及对蓝色线段的交点排序大小的标志信息;其中,所述的对红色线段的交点排序大小的标志信息利用所述红色线段经 过所述交点进入或离开所述蓝色线段所在多边形的信息得到,所述交点若 离开所述蓝色线段所在多边形,则与具有相同坐标值的点相比,所述交点 标记为顺序在前,所述交点若进入所述蓝色线段所在多边形,则与具有相同坐标值的点相比,所述交点标记为顺序在后;所述的对蓝色线段的交点排序大小的标志信息利用所述蓝色线段经 过所述交点进入或离开所述红色线段所在多边形的信息得到,所述交点若 离开所述红色线段所在多边形,则与具有相同坐标值的点相比,所述交点 标记为顺序在前,所述交点若进入所述红色线段所在多边形,则与具有相 同坐标值的点相比,所述交点标记为顺序在后。5、 根据权利要求4所述的面面叠加中的线段处理方法,其特征在于, 在redl—bluel中,两条线段相交的点为交点,两条线段为交点所在的线段。6、 根据权利要求4所述的面面叠加中的线段处理方法,其特征在于, 在redl—blue2中,当两条蓝色线段在红色线段的异侧时,线段间相交的点 为交点, 一条红色线段以及在所述红色线段所在多边形内部的蓝色线段为 交点所在的线段。7、 根据权利要求4所述的面面叠加中的线段处理方法,其特征在于, 在redl—blue2中,当两条蓝色线段在红色线段的同侧时,红色线段与蓝色 线段相交的点不属于交点。8、 根据权利要求4所述的面面叠加中的线段处理方法,其特征在于, 在redl—blue2中,当红色线段与 一条蓝色线段间存在重叠时,判断红色线 段与所述重叠的蓝色线断间的方向,若所述红色线段与所述重叠的蓝色线 段之间方向相反时,所述蓝色线段与所述红色线段之间相交的点不属于交 点;若所述红色线段与所述重叠的蓝色线段之间方向相同时,所述蓝色线 段与红色线段之间相交的点属.于交点,记录与交点相关的信息。9、 根据权利要求8所述的面面叠加中的线段处理方法,其特征在于, 当所述蓝色线段与所述红色线段之间相交的点属于交点时,所述红色线段 以及不与所述红色线段重叠的蓝色线段为交点所在的线段。10、 根据权利要求9所述的面面叠加中的线段处理方法,其特征在于, 当所述蓝色线段与所述红色线段之间相交的点属于交点时,根据交点所在 的线段,判断所述交点是出点还是入点; 、3在判断过程中,选择红色线段上非交点的端点,若该端点为所述红色 线段...

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

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

1