ArcGIS Engine中矢量数据叠加分析的实现及应用

2010-04-19 03:19黄雪莲杨传勇梁敬祖
城市勘测 2010年3期
关键词:线状图层矢量

黄雪莲,杨传勇,梁敬祖

(佛山市城市规划勘测设计研究院,广东佛山 528000)

ArcGIS Engine中矢量数据叠加分析的实现及应用

黄雪莲∗,杨传勇,梁敬祖

(佛山市城市规划勘测设计研究院,广东佛山 528000)

在对矢量数据叠加分析原理进行分析的基础上,描述了在ArcGIS平台下通过ArcGIS Engine开发编写插件工具实现矢量数据的叠加分析功能的方法,并结合实际案例展示了ArcGIS Engine下实现叠加分析功能的灵活性和实用性。

叠加分析;ArcGIS Engine;空间分析;地理信息系统

1 引 言

在GIS技术应用的过程当中,被提及最多的问题之一是“与某个要素关联的其他要素是什么”,例如:

(1)某块土地利用现状数据是属于哪个行政区划的?

(2)如果采用此种规划,10年后某区域范围土地利用状况将会是怎样?

(3)某个镇区范围内有多少道路?

(4)哪些房子位于某个开发区域之外?

在GIS技术诞生之前,若需要回答这些问题,就需要制图人员绘制明确清晰的相关数据范围到透明纸上,然后把绘制的内容进行叠加,通过剪裁等方法得到叠加的范围,再根据人工计算的方式得到相关计算结果。

在GIS技术得到广泛应用的今天,我们可以使用GIS中的叠加分析功能解答上述相关问题,本文将通过对叠加分析原理、ArcGIS Engine下叠加分析的实现以及叠加分析的实际应用等方面对叠加分析进行详细论述。

2 矢量数据叠加分析原理

地理信息系统的一个主要优势在于能够对GIS数据进行空间运算以派生新的信息,空间分析是GIS的核心和灵魂,是GIS区别于一般的信息系统、CAD或者电子地图系统的主要标志之一。空间叠加分析就是其中的一个重要实例。

所谓叠加分析是将同一地区、同一比例尺的两个或两个以上数据层进行叠加,生成一个新的数据层,让新数据层的各个要素具有各叠加层要素的多重属性或各叠加层要素属性的统计特征。根据实际应用的需要,叠加分析包括叠加求交(Intersect)、叠加求和(U-nion)。本文以空间数据的叠加求交为例来讲述叠加分析在实际工作中的应用。

GIS以分层的方式组织地理景观,将地理景观按主题分层提取,同一地区的整个数据层集表达了该地区某种地理景观的内容。从实现机制上而言,叠加分析像是一条简单的数据组装流水线,我们通过叠加分析将参与分析的各要素进行分类,并将关联要素的属性进行组装,从GIS实现原理上而言,叠加分析是将有关主题层组成的数据层面,进行叠加产生一个新数据层面的操作,其结果综合了原来两层或多层要素所具有的属性。叠加分析不仅包含空间关系的比较,还包含属性关系的比较。

图1 求交分析示意图

3 ArcGIS Engine下叠加分析的实现

基于矢量数据的叠加分析可分为拓扑求交过程和属性分配过程两个步骤,其详细过程如图2所示。

(1)拓扑求交

拓扑求交过程即通过空间关系运算,得出在空间关系上相叠加的“要素分组”,每组要素中有两个要素,然后对分组后的每组要素进行求交运算,通过求交运算得出的几何对象为要素组内两要素的公共部分。

图2 拓扑求交流程

拓扑求交过程中空间运算和求交运算均会先给要素赋予“拓扑容差”,根据“拓扑容差”对要素进行缓冲,然后执行相关操作。

(2)属性分配

叠加分析不仅生成了新的空间关系,还将输入数据层的属性联系起来产生新的属性关系。

通过图1可以看出,属性分配的过程发生在求交运算完成以后,属性的来源为求交运算后产生的“要素分组”中各要素的属性。当求交运算完成后,创建目标要素,由于叠加分析产生目标要素类的属性是两个要素属性的并集,所以目标要素的属性包含“要素分组”中各个要素的属性值。

(3)求交后的应用

我们进行叠加分析的目的往往是,对参与叠加分析的某个要素类中的部分要素赋予另一个要素类中关联要素的相关属性。

通过拓扑求交和属性分配后得到的是另外一个要素类(图层),该要素类中的所有要素具有参与分析“要素分组”的属性,根据该特征,我们可以通过关键字将求交后的要素关联到需要增加属性的要素上,达到实际应用的目的。

下面通过对叠加分析原理的分析,借助ArcGIS强大的空间分析功能,并结合ArcGIS Engine组件体系,使用.Net 2005进行开发实现。

3.1 构建叠加分析类

参与叠加分析的GIS数据可以为任意的点、线、面要素,而且可以对多个图层进行叠加分析,得出分析结果,所以在叠加分析类的构建上充分考虑其特征,通过构造数据叠加分析类对叠加分析进行实现。

图3 叠加分析实现类结构图

3.2 关键步骤说明

本类中的关键算法在于求交分析的实现,实现过程按照图2的拓扑求交流程进行,步骤如下:

(1)获得地图视图中参与求交分析的图层,使用IMAP、IFeatureLayer接口;

(2)构建求交后数据输出数据源及要素类名称,使用IWorkspaceName、IFeatureClassName等相关接口;

(3)构建求交分析对象,对参与求交的数据进行求交,使用IBasicGeoprocessor接口中的Intersect方法;

(4)对求交结果进行属性拷贝,遍历目标要素类(此为一关系要素类,将求交各图层的存在相交关系的要素关联起来)的所有要素,获取关系要素的原始要素,将需要被更新的原始要素的属性从用于更新的要素的属性中拷贝过来,使用IFeatureClass、IFeature接口。

4 叠加分析在日常工程中的应用

我院在一项目中获得两份数据,分别为1999年及2005年线状地形要素图,均为同一区域的.mdb格式数据。1999年的线状要素有属性信息,但现势性不足,2005年线状要素图现势性强,但无属性信息,经过比较发现,2005年线状要素在1999年基础上有减少,同一要素精度上有 5 cm~10 cm误差。项目要求使用2005年线状要素图,但要将两幅图中对比未变化的要素赋上1999年线状要素的属性信息。

通过对1999年线状要素图层和2005年线状要素图层进行叠加求交分析,得到求交后的结果。如前面所述,求交的结果中包含了两个图层数据间的关联关系。利用这些关联关系,首先从2005年线状地物要素类中取出要素,然后从求交结果数据中查看其是否存在,如果存在,则通过该关系找到1999年线状地物数据中与之对应的要素,将1999年线状要素的属性赋给2005年对应的要素,从而得到我们所需要的成果数据,如图5所示。ArcGIS的桌面版软件ArcMap的求交工具也可实现求交运算,但其结果是空间数据和属性数据的交集,而且改变了数据本身,不能一步达到所需要的结果。我们充分利用ArcGIS Engine提供的相关组件,实现叠加求交分析功能,并对求交结果进行后续处理,以满足实际作业的需要,在日常工程中有更多实际意义。

图5 叠加分析实例

[1]龚健雅.地理信息系统基础[M].北京:科学出版社,2001

[2]李鲁群等.GIS中空间数据叠置分析的优化算法设计[J].山东科技大学学报(自然科学版),2002,21(2)

[3]党安荣等.ArcGIS 8 Desktop地理信息系统应用指南.北京:清华大学出版社,2003

Research and Application of Vector Data Overlay Analysis Based on ArcGIS Engine

Huang XueLian,Yang ChuanYong,Liang JingZu
(Foshan Urban Planning Surveying Design and Research Institute,Foshan 528000,China)

Based on the analysis of the principle of Vector Data Overlay Analysis,this paper described the method of realizing the function of vector data overlay analysis by using ArcGIS Engine to develop and compile plug-in tools under the platform of ArcGIS.And combining with the actual case,the author also showed the flexibility and practicality of realizing the function of overlay analysis by using ArcGIS Engine.

Overlay Analysis;ArcGIS Engine;spatial analysis;GIS

1672-8262(2010)03-38-03

P208

A

2009—07—15

黄雪莲(1981—),女,工程师,主要从事地图制图与地理信息系统建设等工作。

猜你喜欢
线状图层矢量
无取向硅钢边部线状缺陷分析及改进措施
矢量三角形法的应用
热轧卷板边部线状缺陷分析与措施
巧用混合图层 制作抽象动感森林
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
线状生命
图层法在地理区域图读图中的应用
跟我学添加真实的光照效果
线状α=MnO2的水热制备及其电容性能