测绘与国土信息工程学院王育红第4章 空间叠置分析叠置分析概述所谓叠置分析,就是将包含感兴趣的空间要素对象的多个数据层进行叠加,产生一个新要素图层该图层综合了原来多层实体要素所具有的空间或属性特征从原理上说,叠置分析是对新要素的几何和属性特征按一定的数学模型进行分析计算,其中往往涉及逻辑交、逻辑并、逻辑差等基本运算叠置分析概述根据GIS数据基本结构的不同,将GIS叠置分析分为两种:矢量数据叠置分析和栅格数据叠置分析另外,在GIS中还有一种直观的叠置分析方法——视觉信息叠置分析4.14.24.3本章内容4.4矢量数据叠置分析栅格数据叠置分析视觉信息叠置分析ArcGIS中的叠置分析工具4.1 矢量数据叠置分析4.1.1 矢量叠置分析类型4.1.2 矢量叠置分析的误差评价4.1.3 矢量叠置分析中的多边形裁剪算法4.1.1 矢量叠置分析类型Í根据操作对象几何类型的不同,矢量数据叠置分析主要6种不同的情况: 1.点与点的叠置分析2.点与线的叠置分析3.点与面的叠置分析4.线与线的叠置分析5.线与面的叠置分析6.面与面的叠置分析1. 点与点的叠置点与点的叠置是一个图层上的点与另一图层上的点进行叠置,从而为图层内的点建立新的属性,同时对点的属性进行统计分析。
点与点的叠置是通过不同图层间的点的位置和属性关系完成的,得到一张新属性表,属性表表示点间的关系网吧( O)与学校(●)的叠置分析 2. 点与线的叠置点与线的叠置是一个图层上的点与另一图层上的线进行叠置,从而为图层内的点和线建立新的属性叠置分析结果可以分析点与线的关系,例如,点与线的最近距离等城市与高速公路的叠置分析 3. 点与多边形的叠置分析点与多边形的叠置是将一个图层上的点与另一图层的多边形叠置,从而为图层内的每个点建立新的属性,同时对每个多边形内点的属性进行统计分析点与多边形的叠置是通过点在多边形内的判别完成的,得到一张新的属性表,属性表不仅包含原有的属性,还有点落在哪个多边形内的目标标识另外,还可以得到其他一些附加属性学校与行政区划的叠置分析 4. 线与线的叠置线与线的叠置是将一个图层上的线与另一图层的线叠置,通过分析线之间的关系,从而为图层中的线建立新的属性关系 河流与公路的叠置分析 5. 线与多边形的叠置分析线与多边形的叠置是将一个图层上的线与另一图层的多边形叠置,确定线落在哪个多边形内,以便为图层的每条弧段建立新的属性这里,一条线可能跨越多个多边形这时,需要进行线与多边形的求交,并在交点处截断线段,并对线段重新编号,建立线段与多边形的属性关系。
新的属性表不仅包含原有的属性,还有线落在哪些多边形内的目标标识另外,也可以得到其他一些附加属性公路与行政区划的叠置分析 6. 多边形间的叠置多边形与多边形的叠置是指不同图幅或不同图层多边形要素之间的叠置,通常分为合成叠置和统计叠置合成叠置是指通过叠置形成新的多边形,使新多边形具有多重属性,即需进行不同多边形的属性合并属性合并的方法可以是简单的加、减、乘、除,也可以取平均值、最大最小值,或取逻辑运算的结果等6. 多边形间的叠置多边形与多边形的叠置是指不同图幅或不同图层多边形要素之间的叠置,通常分为合成叠置和统计叠置统计叠置是指确定一个多边形中含有其它多边形的属性类型的面积等,即把其它图上的多边形的属性信息提取到本多边形中来例如,城市功能分区图与土壤类型图叠置,可得出商业区中具有不稳定土壤结构的地区的面积6. 多边形间的叠置多边形间的叠置分析可以有多种叠加方法,众多GIS软件中,一般都支持以下三种叠置操作: 4.1.2 矢量叠置分析的误差评价叠置分析由于是在不同图层的点、线、多边形之间进行的,点、线、多边形的误差会传递到叠置的结果上,影响到分析的可靠性由于进行多边形叠置的往往是不同类型的数据,同一对象可能有不同的多边形表示。
例如,不同类型的地图叠置,甚至是不同比例尺的地图叠置,因此,同一条边界的数据往往不同,这时可能产生一系列碎屑多边形,而且边界越准确,越容易产生碎屑多边形(朱长青,史文中,2005) 4.1.2 矢量叠置分析的误差评价对于这些碎屑多边形,通常有下列处理方法:根据多边形叠置的情况,人机交互或通过模式识别方法将小多边形合并到大多边形中;确定无意义多边形的面积模糊容限值,将小于容限值的多边形合并到大多边形中;先拟合一条新的边界线,然后进行叠置操作 4.1.2 矢量叠置分析的误差评价对于多边形叠置所产生的碎屑多边形可以用误差定量化地进行分析,一些基本误差指标概念定义如下4.1.3 矢量叠置分析中的多边形裁剪算法矢量叠置分析的基本步骤是:判定点、线、多边形;判定点的位置,进行线与多边形裁剪、多边形与多边形裁剪;对应的点、线、多边形要素属性进行重组与合并矢量数据叠置分析叠的核心是多边形的裁剪在叠置分析中,面状地物多边形既有几何形状特征,又有拓扑特征,对这些具有拓扑关系的多边形的裁剪与计算机图形学和CAD领域中纯粹几何形状的多边形(无拓扑关系)裁剪不同,叠置分析中的裁剪算法必须维护多边形的拓扑关系。
1. 无拓扑多边形裁剪算法 2. 有拓扑多边形裁剪示例1. 无拓扑多边形裁剪算法Weiler-Atherton算法是一种代表性的无拓扑多边形裁剪算法该算法具有广泛的适应性,裁剪多边形和被裁剪多边形可以是任意的:凸的、凹的,甚至是带有内环的该算法中的多边形用有序、有向的顶点环形表来描述, 多边形外部边界顶点均按顺时针顺序排列,内边界顶点均按逆时针顺序排列当用裁剪多边形来裁剪多边形时,裁剪多边形与被裁剪多边形边界相交的点成对出现: 其一为入点,即沿被裁剪多边形进入裁剪多边形内部的交点; 其二为出点,即沿被裁剪多边形离开裁剪多边形内部的交点1. 无拓扑多边形裁剪算法该算法的基本原理: 由入点开始,沿被裁剪多边形追踪,当遇到出点时跳转至裁剪多边形继续追踪;如果再次遇到入点,则跳转回被裁剪多边形继续追踪重复以上过程,直到回到起始入点,即完成一个多边形的追踪过程入点入点出点出点被裁剪多边形被裁剪多边形裁剪多边形裁剪多边形1. 无拓扑多边形裁剪算法设A为被裁剪多边形,其定点序列为A={A0, A1, A2, …, Am}; (A0=Am) B为裁剪多边形,其顶点序列为B={B0, B1, B2, …,Bn}; (B0=Bn) C为用B裁剪A所得的多边形,其顶点序列为C={C0, C1, C2, …, Cs}; (待求)Weiler-Atherton算法基本主要有个五步组成 :求交点,重排A、B建立交点表,记录交点信息取入点,沿A‘顺时针追踪遇出点,沿B‘顺时针追踪在C中插入追踪点1. 无拓扑多边形裁剪算法Weiler-Atherton算法基本步骤如下 :1.求A与B的边界交点,将交点(设为K个)分别加入A和B,新多边形为A′={A0, A1, A2, …,Am+k}; B′={B0, B1, B2, …,Bn+k}; 2.建立交点表I={I0, I1, I2, …,Ik},记录交点类型及其在A′、B′顶点中的位置; 3.在交点表I中取出一个入点Ii,在A′找到Ii位置并沿顺时针方向追踪A′的顶点表,直到遇到下一个交点Ij, 将追踪得到的顶点序列加入C中;4.在B′中找到Ij的位置,并沿顺时针方向追踪B′的顶点表,直到遇到下一个交点, 将追踪得到的顶点序列加入C中;5.跳至A′,重复3、4步,直到回到起始点,得到B裁剪A所得的内侧多边形C ′ 。
若由出点出发,重复第3步、第4步(逆时针)追踪则会得到外侧多边形C1. 无拓扑多边形裁剪算法算法实例:A1A2A3A4B1B2B3A5B4B5I1I2I3I4I5I6A={A1, A2, A3, A4, A5,A1};B={B1, B2, B3, B4, B5,B1};I={I1, I2, I3, I4, I5, I6};A′={A1, I1, I2, I3, I4, A2, A3, I5, A4, I6, A5,A1};B′={B1, I2, B2, I3, B3, I4, B4, I5 , I6, B5,I1,B1};交点号类型在A′中的位置在B′中的位置1入点2112出点323入点444出点565入点886出点1091.无拓扑多边形裁剪算法算法实例(内多边形追踪):A1I1I2I3I4A2A3I5A4I6A5A1B1I2B2I3B3I4B4I5I6B5I1B1交点号类型在A′中的位置在B′中的位置1入点2112出点323入点444出点565入点886出点109C={I1, I2, B2, I3, I4, B4, I5, A4, I6, B5,I1};A1A3A4B1B2B3A5B4B5I1I2I3I4I5I6A21. 无拓扑多边形裁剪算法算法实例(外多边形追踪):A1I1I2I3I4A2A3I5A4I6A5A1B1I2B2I3B3I4B4I5I6B5I1B1交点号类型在A′中的位置在B′中的位置1入点2112出点323入点444出点565入点886出点109C1={I2, I3, B2, I2};C2={I4, A2, A3, I5, B4,I4};A1A3A4B1B2B3A5B4B5I1I2I3I4I5I6A2C3={I6, A5, A1, I1, B5, I6};2.有拓扑多边形裁剪算法Weiler-Atherton算法是以多边形的顶点序列为基础的,而具有拓扑关系的多边形是以弧段序列组成的。
如果要套用Weiler-Atherton算法,必将拓扑多边形分解为独立的多边形之后用顶点序列来描述,对单个多边形分别裁剪之后,再对裁剪结果重建拓扑关系显然,这样得到的多边形拓扑关系与原多边形的拓扑关系之间不存在继承性,原拓扑关系及其他一些附加信息会丢失针对这个问题,吴兵等人在2000年提出了具有拓扑关系的任意多边形裁剪算法 吴兵, 尹伟强, 凌海滨, 具有拓扑关系的任意多边形裁剪算法,小型微型计算机系统,2000,21(11)2.有拓扑多边形裁剪算法新算法原理:设区域R由一组具有空间拓扑关系的多边形,记为R={P0, P1, …, Pn};其中的任一多边形Pi均有一组有向弧段组成,记为Pi={A0, A1, …, Am}, Pi的外边界取Ai的顺时针方向,内边界取Ai的逆时针方向令弧段由其节点序列来描述,记为Ai={V0, V1,…, Vk}, 其中V0为起点,Vk为终点除此之外,弧段与左右多边形的关系、节点与弧段之间的关系等均已知,即多边形的的空间拓扑关系已经得到正确的表达新算法增加了处理空间拓扑的步骤:用交点、弧段混合表取代原算法的交点表;将原算法中的追踪多边形顶点序列改造为追踪多边形弧段序列;从而保证当一个多边形被裁剪为多个多边形时,这些多边形会正确继承原多边形的拓扑信息及附加属性而不必在裁剪之后重建拓扑关系。
2.有拓扑多边形裁剪算法新算法步骤如下 :1.将R的所有弧段与裁剪多边形的弧段求交;2.根据交点重组R的所有多边形与裁剪多边形,并维护原有拓扑关系;3.对每个多边形建立交点、弧段混合表;4.遍历所有多边形,反复执行第5至第8步;5.从交点、弧段混合表中取出一个点(入点或出点),在被裁剪多边形中按弧段方向追踪,直到遇到下一个交点,将追踪得到的弧段序列加入裁剪结果多边形中6.跳至裁剪多边形相应位置,按弧段表方向(对出点应是反方向)追踪,直到遇到下一个交点,将追踪所得的弧段序列加入裁剪结果多边形中;7.至被裁剪多边形相应位置,重复5、6步,直到回到起始交点处,完成一个多边形的追踪8.当多边形的交点、弧段混合表中的所有点均追踪完毕,完成此多边形的裁剪重构2.有拓扑多边形裁剪算法新算法实例: 被裁剪区域R={P1, P2, P3} P1={A1, A4, A5} P2={A2, -A6, -A4} P3={A3, -A5, A6} 裁剪多边形Pc Pc={A7}P1P2P3A5A6A1A2A3A4A7I1I2I3I5I42.有拓扑多边形裁剪算法P1P2P3A5A62.对R的所有多边形进行拓扑重组,得到: P1={A8, A9, A15, A16, A5} P2={A10, A11, -A6, -A16 , - A15} P3={A12, A13, A14, -A5, A6} Pc={A17, A18, A19, A20, A21 }I1I2I3I5I4A8A16A9A10A11A12A13A14A17A18A19A20A21A151.求交点:将裁剪多边形的弧段A7与R的所有弧段求交,得交点集I={I1, I2, I3, I4, I5};2.有拓扑多边形裁剪算法P1P2P3A5A6I1I2I3I5I4A8A16A9A10A11A12A13A14A17A18A19A20A21A153.以P1为例建立多边形交点、弧段混合表: M1={A8, I1 , A9, A15, I2, A16, A5} Pc={I1, A17, I2, A18, I3, A19, I4, A20, I5, A21 }4.在M1中以I2为入点,由此点开始追踪内裁剪多边形,得到:P1内={A16, A5, A8 , A17}5. 在M1中以I1为出点,由此点开始追踪外裁剪多边形,得 到: P1外={A9, A15, -A17}2.有拓扑多边形裁剪算法P1P2P3A5A6I1I2I3I5I4A8A16A9A10A11A12A13A14A17A18A19A20A21A155.重复3、4步,以同样方法得到其他两个多边形的裁剪结果:6. P2内={A11, -A6, -A16 , A18}7. P2外={-A15, A10, -A18 }8. P3内={A14, -A5, A6, A12, A20 9. P3外={A13, -A20 }最后,多边形Pc对区域R裁剪的结果为:P内={P1内, P2内, P3内};P外={P1外, P2外, P3外}2.有拓扑多边形裁剪算法裁剪之前P1与P2拥有公共弧段A4,分别为A4的左、右多边形。
内裁剪之后,P1内和P2内拥有公共弧段A16,分别为A16的左右多边形,即P1内和P2内裁剪之后仍然是空间邻近关系,并且分别继承了P1与P2的各种属性信息这表明本算法对多边形裁剪之后能够维持和继承多边形的拓扑关系P1P2P3A5A6A1A3A4P1P2P3A5A6I1I2I3I5I4A8A16A9A10A11A12A13A14A17A18A19A20A21A154.2 栅格数据叠置分析栅格数据结构中,地理实体是通过规则网格单元来表示的,层与层之间的叠置分析操作相对简单,且算法效率高,可通过逐个网格单元(像素)之间的运算来实现这些运算可分为代数运算和逻辑运算两大类:代数运算:{常数与栅格图层进行的代数运算{栅格数据层之间的代数运算{多层栅格数据的均值、最大值、最小值运算等逻辑运算:{逻辑与{逻辑或{逻辑非{逻辑异或4.2.1 代数运算67856415103× 636424830362490601867856415103+18342019215253018122712141511020156785641510312271214151102015122712141541520154.2.2 逻辑运算6785641510312271214151102015重分类二值化重分类二值化001000110010000010000000010逻辑与100111011逻辑异或4.3 视觉信息叠置分析视觉信息的叠置分析是一种直观的叠置分析方法,它是将不同图层的信息内容叠置显示在屏幕或结果图件上,从而产生多层复合信息,以便判断各个图层信息的相互关系,获得更为丰富的目标之间的空间关系。
视觉信息的叠置分析一般不需要进行数据间的运算,不产生新的数据层,只是将多层信息叠置,以利于直观上的观察与分析为保证视觉信息叠置的一致性,要求各数据层必须具有相同的空间参考系,因此,叠置前往往需要进行大量的坐标转换、几何校正工作4.3 视觉信息叠置分析视觉信息的叠置分析通常有如下几类:①①点状图、线状图和面状图之间的叠置;4.3 视觉信息叠置分析视觉信息的叠置分析通常有如下几类:②②面状图区域边界之间或一个面状图与其他专题图边界之间的叠置;③③专题图与数字高程模型叠置显示立体专题图;④④遥感影像与数字高程模型叠置生成真三维地物景观;4.3 视觉信息叠置分析视觉信息的叠置分析通常有如下几类:⑤⑤遥感图与专题图的叠置;⑥⑥遥感影像数据与GIS数据的叠置;⑦⑦遥感影像与提取的影像特征如道路的叠置4.4 ArcGIS中的叠置分析工具4.4.1 矢量数据叠置分析工具4.4.2 栅格数据叠置分析工具4.4.3 视觉信息叠置分析工具4.4.1 矢量数据叠置分析工具Í目前,ArcGIS提供了如下七种矢量数据叠置分析工具:1.图层擦除(Erase)2.识别叠加(Identify)3.交集操作(Intersect)4.空间连接(Spatial Join)5.对称区别(Systematical difference)6.图层合并(Union)7.修正更新(Update)1. 图层擦除(Erase)图层擦除是根据擦除图层(必须是多边形图层)中的要素,擦除输入图层内相应要素。
从空间逻辑运算的角度,可表示为A-A∩B,A为输入图层,B为擦除图层12IDAreaType156A248BID种类3C12IDAreaType156A248B2. 识别叠加(Identify)识别叠加用识别图层(必须是多边形)裁剪输入图层,并将识别图层的属性赋给裁剪所得到的要素,用逻辑运算可表示为A∩B∪∪A123IDAreaType156A248BID种类3CIDAreaTypeID-1种类156A248B156A3C248B3C3. 交集操作(Intersect)交集操作是通过叠置处理得到两个或更多图层的交集部分,并且原图层的所有属性将同时在得到的新图层上显示处理从空间逻辑运算的角度,可表示为A∩B123IDAreaType156A248BID种类3CIDAreaTypeID-1种类156A3C248B3C4. 空间连接(Spatial Join)空间连接是依次用输入图层(或目标图层)中的要素作为参数,分别检索查找与其满足给定空间约束条件(如相交、包含等)的另一个图层(连接图层)中的要素,并将其属性信息追加到输入图层中123IDAreaType156A248BFID种类3CIDAreaTypeJoint CountFID种类156A13C248B13C12约束条件:要素相交4. 空间连接(Spatial Join)13IDAreaType156A248BFID种类3C与目标要素相交FID种类Joint CountIDAreaType3C2156A3C2248B2需设置Join类型:1to1;1tomany复制了要素3,图形上有冗余5. 对称差(Systematical difference)对称差是两个多变形图层合并之后,再去掉其公共区域。
新生成的图层属性也是综合二者的属性而产生的用逻辑代数的方式可表示为A∪∪B-A∩B(A、B为输入图层)123IDAreaType156A248BID种类3CIDAreaTypeID-1种类156A248B3C6. 图层合并(Union)图层合并是通过把两个或更多多边形图层的区域范围联合起来而保持来自输入图层和叠置图层的所有要素从空间逻辑运算的角度,可表示为A∪∪B123IDAreaType156A248BID种类3CIDAreaTypeID-1种类156A156A3C248B248B3C3C7. 修正更新(Update)修正更新主要用于两个多边形图层,先将二者进行合并,然后将重叠区域擦除掉,再与修正图层合并,用代数逻辑可表示为(A∪∪B-A∩B)∪∪B123123IDAreaType156A248BID种类3CIDAreaType156A248B34.4.2 栅格数据叠置分析工具目前,ArcGIS提供了如下两种栅格数据叠置分析工具:1. 加权叠置——支持整数数据 (Weighted Overlay)2. 加权和叠置—支持浮点数据 (Weighted Sum)4.4.3 视觉信息叠置分析工具ArcScene中影像与DEM的视觉信息叠置分析工具设 置 影 像 的 基 高(Base Heights )属性。