一种GIS空间叠加分析方法技术

技术编号:4176779 阅读:1464 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种GIS空间叠加分析方法,包括:读取要进行空间叠加的图层的数据,并为图层中的面数据初始化其方向;将数据中所要叠加的对象按照叠加类型进行分离,然后将所要叠加的对象转换成线段;采用扫描线算法对转换成线段的叠加对象进行计算,得到并记录交点信息;结合交点信息,对所要叠加的对象按照数据的叠加类型进行几何计算;对几何计算结果,根据所述几何计算结果中的ID信息,从图层中对应的要素数据中继承相关的属性,得到最后的叠加分析结果。本发明专利技术的方法在求取交点时采用了扫描线算法,使得在一次操作中可以求得所有的交点,对多边形的任意一条线段只需要初始化一次,即可得到其产生的所有交点。

A GIS space superposition analysis method

The invention provides a GIS spatial overlay analysis method, including: read to spatial overlay data, and data layer in the direction of the data object initialization; the superposition were separated according to the superposition type, then the objects to be superimposed into a line; using the scan line algorithm to calculate the object into the superposition of segments, and record information with the information node; node, the calculation of the geometric objects to be superposition according to the superposition type data; the calculation results of geometry, according to the calculation results of ID geometric information, related elements data from the corresponding attribute inheritance in layers. The superposition analysis results. The method of the invention adopts the scan line algorithm to seek the point of intersection, which in one operation can be obtained by the intersection of all, arbitrary polygon on a line only need to be initialized once, you can get all of the intersection.

【技术实现步骤摘要】

本专利技术涉及GIS( Geographical Information System,地理信息系统),特別涉及GIS中的空间叠加分析方法。
技术介绍
地理信息系统(GIS)是一种十分重要的空间信息系统。它是在计算机软、硬件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。空间分析是GIS的重要组成部分,是GIS的灵魂,也是评价一个GIS功能的主要指标之一。空间分析是基于地理目标的位置和形态特征的空间数据分析技术,其目的是提取和发现隐含的空间信息和规律,是空间数据挖掘和知识发现的基本方法之一。空间分析主要包括空间量算、关系查询、緩沖分析、叠加分析、网络分析等内容,其中的叠加分析是本专利技术所要关注的焦点。在常见的GIS系统中,采用分层方式组织地理景观,同一区域的整个数据层集表达了该地区地理景观的内容。在对分层数据进行组合时采用了叠加分析。具体的说,叠加分析是将相关主题层组成的数据层进行叠加产生一个新数据层的操作,其结果综合了原来的两层或多层要素所具有的属性。叠加分析不仅包含空间关系的叠加,还包括属性关系的综合。最基本的叠加分析是在两个图层上的操作,多图层的叠加分析完全可以在两个图层的叠加分析的基础上通过重复操作实现。在两个图层的叠加分析中,假设把第一个图层叫做输入图层,第二个图层叫做叠加图层,则输入图层与叠加图层之间互为对应图层,即输入图层的对应图层为叠加图层,叠加图层的对应图层为输入图层。在叠加分析中,叠加图层必须为面图层,而输入图层可以是点、线或者面图层。根据不同的输入图层的不同类型,叠加分斗斤分为点面叠力口、 线面叠力口和面面叠力口。点面叠加的实质是区分在面对应的多边形内的点以及在多边形外的点,而对于在面内部的点,还要得到点在哪个多边形的内部。线面叠加的实质是区分在面对应的多边形内的线以及在多边形外的线,其中,对于跨越多边形边界的线,则要在交点处打断输入线;对于在多边形内部的线,要得到线在哪个多边形的内部。面面叠加是指两组多边形之间的叠加,它的实质是将两组多边形所覆盖的区域分为三部分只属于第 一组多边形的区域(差)、同时属于两组多边形的公共区域(交)以及只属于第二组多边形的区域(差)。对于叠加后所生成的任何一个多边形,要知道其来自哪一个(对差而言)或者哪两个多边形(对交而言)。在现有的叠加分析方法中,点面、线面和面面叠加一般都采用相对独立的方法实现,由此造成实现叠加分析方法的代码量过于庞大,不利于在计算机上的高效编码实现。此外,在现有的点面叠加方法中,主要实现了一个点与多边形关系间的判断,若要判断多个点与多边形的关系,需要针对每个点分别进行计算;在现有的线面叠加以及面面叠加方法中,也都只能一次完成一条线或一个多边形与其它多边形间的叠加运算。这些现有的点面、线面和面面叠加方法使得叠加分析方法本身的效率较低。
技术实现思路
本专利技术的目的是克服现有的叠加分析方法中由于点面、线面、面面叠加相互独立所造成的编码庞大、不利于计算机实现的缺点,从而提供一种以扫描线算法为核心的一次扫描即全部完成的叠加分析方法。为了实现上述目的,本专利技术提出了 一种GIS空间叠加分析方法,包括步骤l)、读取要进行空间叠加的图层的数据,并为所述图层中的面数据初始化其方向;步骤2)、将所述数据中所要叠加的对象按照叠加类型进行分离,然后将所要叠加的对象转换成线段;其中,所述的叠加类型包括点面叠加、线面叠力o以及面面叠力口;步骤3)、采用扫描线算法对转换成线段的叠加对象进行计算,得到并记录交点信息;步骤4)、结合步骤3)所得到的交点信息,对所要叠加的对象按照数据的叠加类型进行几何计算;步骤5)对步骤4)所得到的几何计算结果,根据所述几何计算结果从图层中对应的要素数据中继承相关的属性,得到最后的叠加分析结果。上述技术方案中,在所述的步骤2)中,所述的将所要叠加的对象转换成线段包括对于点而言,为点添加辅助线段,使得所述点在该辅助线段上;对于 面而言,将用于代表面的多边形拆分成多条线段;对于线则把线拆分成若 干线段。上述技术方案中,在所述的步骤3)中,所述的扫描线算法在扫描一 个点时,返回所有过该点的线段,然后根据叠加类型做不同的处理;其中,在点面叠加中,根据为点所添加的辅助线段与表示面的多边形的边之 间的关系,判断点与面之间的关系;在线面叠加、面面叠加中,对过点的线段按照所属的图层、所属几何 体的ID或者所属环的ID进行分组,然后对属于两个图层的每一小组分别 进行计算,得到交点的出入属性,并把交点加到交点集合中去。上述技术方案中,所述的交点信息包括交点的坐标值、产生交点的两 条线段的ID、交点是出点还是入点以及交点碰到相同坐标值的交点时的排序 信息。上述技术方案中,在所述的步骤4)中,所述的对所要叠加的对象按 照数据的叠加类型进行几何计算包括点面叠加中的几何计算、线面叠加 中的几何计算以及面面叠加中的几何计算。上述技术方案中,所述的点面叠加中的几何计算包括对过同 一点的所有线段进行区分,判断线段是对点添加辅助线段后得 到的线段还是多边形的边;对每一条由点构造的辅助线段,计算其对应的点图层中的点与当前多边形的一条或者两条线段的关系,得到点在此多边形内还是多边形外,从而得到点在多边形所在面的内部还是外部。上述技术方案中,所述的线面叠加中的几何计算包括 对存在交点的线,根据当前线的所有交点以及交点的出入信息,分别得到所述线在多边形内部和外部的部分;对不存在交点的线,在所述线上选取一个代表点,根据所述点面叠加中的几何计算,得到所述代表点与表示面的多边形之间的关系,进而得到所述代表点所在线在表示面的多边形的内部或外部。上述技术方案中,所述的面面叠加中的几何计算包括步骤4-l)、根据交点以及交点的出入属性信息,在表示不同面的多边形或多边形组之间做交和差操作,得到相应的多边形环;根据所述多边形环的交点信息,可以知道产生多边形环的多边形,在环的ID信息中记录,并根据所述多边形环的方向,将多边形环插入到内环或外环的集合中;步骤4-2)、对没有产生交点的环做交操作,根据环的方向,将环插入 到内环集合或外环集合中;所述环也带有用于标识环是由哪个多边形插入 的,以及此环被哪个多边形所包含的ID信息;步骤4-3)、根据上述步骤所得到的ID信息匹配内环与外环,将具有 相同ID的内环与外环归属到同 一个多边形中。上述技术方案中,在所述的步骤4-1)中,对表示不同面的多边形或 多边形组之间做交操作包括步骤4-1-1-1 )、对相交多边形中的各个交点进行排序; 步骤4-1-1-2)、对排序后的各个交点进行遍历操作,在一次操作过程 中,判断在用于保存交点的集合中是否存在未被访问过的交点,若存在, 则按照步骤4-1-1-1)所得到的交点排列顺序选择一个未被访问过的交点, 然后执行下一步骤,否则,结束操作;步骤4-1-1-3)、首先判断当前点是否是完全重合的交点,若是,则根 据对特殊类型交点处理的方法对其进行处理,否则,判断当前的交点是出 点还是入点,若是入点,则按照交点所在第一组多边形的方向前进,直至 找到下一个交点,若是出点,则按照交点所在的第二组多边形前进,直至 找到下一个交点;其中,所述的出点是本文档来自技高网
...

【技术保护点】
一种GIS空间叠加分析方法,包括: 步骤1)、读取要进行空间叠加的图层的数据,并为所述图层中的面数据初始化其方向; 步骤2)、将所述数据中所要叠加的对象按照叠加类型进行分离,然后将所要叠加的对象转换成线段;其中,所述的叠加类型包 括点面叠加、线面叠加以及面面叠加; 步骤3)、采用扫描线算法对转换成线段的叠加对象进行计算,得到并记录交点信息; 步骤4)、结合步骤3)所得到的交点信息,对所要叠加的对象按照数据的叠加类型进行几何计算; 步骤5)对步骤4) 所得到的几何计算结果,根据所述几何计算结果从图层的数据中继承相关的属性,得到最后的叠加分析结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵红超闫杰申排伟程振林
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1