ArcGISEngine中矢量数据叠加分析的实现及应用_黄雪莲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年6月第3期
城 市 勘 测
U rban G eotechn i ca l Investigati on &Survey i ng
Jun .2010N o .3文章编号:1672-8262(2010)03-38-03
中图分类号:P208
文献标识码:A
A rc G I S Engi ne 中矢量数据叠加分析的实现及应用
黄雪莲*
,杨传勇,梁敬祖
* 收稿日期:2009 07 15
作者简介:黄雪莲(1981 ),女,工程师,主要从事地图制图与地理信息系统建设等工作。
(佛山市城市规划勘测设计研究院,广东佛山 528000)
摘 要:在对矢量数据叠加分析原理进行分析的基础上,描述了在A rc G IS 平台下通过A rcG IS Eng i ne 开发编写插件工具实现矢量数据的叠加分析功能的方法,并结合实际案例展示了A rcG IS Eng i ne 下实现叠加分析功能的灵活性和实用性。关键词:叠加分析;A rcG IS Eng i ne ;空间分析;地理信息系统
1 引 言
在GIS 技术应用的过程当中,被提及最多的问题之一是 与某个要素关联的其他要素是什么 ,例如:
(1)某块土地利用现状数据是属于哪个行政区划的?
(2)如果采用此种规划,10年后某区域范围土地利用状况将会是怎样?
(3)某个镇区范围内有多少道路?(4)哪些房子位于某个开发区域之外?
在GI S 技术诞生之前,若需要回答这些问题,就需要制图人员绘制明确清晰的相关数据范围到透明纸上,然后把绘制的内容进行叠加,通过剪裁等方法得到叠加的范围,再根据人工计算的方式得到相关计算结果。
在GIS 技术得到广泛应用的今天,我们可以使用GIS 中的叠加分析功能解答上述相关问题,本文将通过对叠加分析原理、A rc G I S Eng i n e 下叠加分析的实现以及叠加分析的实际应用等方面对叠加分析进行详细论述。
2 矢量数据叠加分析原理
地理信息系统的一个主要优势在于能够对G I S 数据进行空间运算以派生新的信息,空间分析是G I S 的核心和灵魂,是GIS 区别于一般的信息系统、C AD 或者电子地图系统的主要标志之一。空间叠加分析就是其中的一个重要实例。
所谓叠加分析是将同一地区、同一比例尺的两个或两个以上数据层进行叠加,生成一个新的数据层,让新数据层的各个要素具有各叠加层要素的多重属性或各叠加层要素属性的统计特征。根据实际应用的需要,叠加分析包括叠加求交(I n tersect)、叠加求和(U-n i o n)。本文以空间数据的叠加求交为例来讲述叠加分析在实际工作中的应用。
G I S 以分层的方式组织地理景观,将地理景观按主题分层提取,同一地区的整个数据层集表达了该地区某种地理景观的内容。从实现机制上而言,叠加分析像是一条简单的数据组装流水线,我们通过叠加分析将参与分析的各要素进行分类,并将关联要素的属性进行组装,从G I S 实现原理上而言,叠加分析是将有关主题层组成的数据层面,进行叠加产生一个新数据层面的操作,其结果综合了原来两层或多层要素所具有的属性。叠加分析不仅包含空间关系的比较,还包含属性关系的比较。
图1 求交分析示意图
3 A rc G IS Engine 下叠加分析的实现
基于矢量数据的叠加分析可分为拓扑求交过程和属性分配过程两个步骤,其详细过程如图2所示。
(1)拓扑求交
拓扑求交过程即通过空间关系运算,得出在空间关系上相叠加的 要素分组 ,每组要素中有两个要素,然后对分组后的每组要素进行求交运算,通过求交
第3期黄雪莲等 A rcG IS Eng i ne 中矢量数据叠加分析的实现及应用
运算得出的几何对象为要素组内两要素的公共部分。图2 拓扑求交流程
拓扑求交过程中空间运算和求交运算均会先给要素赋予 拓扑容差 ,根据 拓扑容差 对要素进行缓冲,然后执行相关操作。
(2)属性分配
叠加分析不仅生成了新的空间关系,还将输入数据层的属性联系起来产生新的属性关系。
通过图1可以看出,属性分配的过程发生在求交运算完成以后,属性的来源为求交运算后产生的 要素分组 中各要素的属性。当求交运算完成后,创建目标要素,由于叠加分析产生目标要素类的属性是两个要素属性的并集,所以目标要素的属性包含 要素分组 中各个要素的属性值。
(3)求交后的应用
我们进行叠加分析的目的往往是,对参与叠加分析的某个要素类中的部分要素赋予另一个要素类中关联要素的相关属性。
通过拓扑求交和属性分配后得到的是另外一个要素类(图层),该要素类中的所有要素具有参与分析 要素分组 的属性,根据该特征,我们可以通过关键字将求交后的要素关联到需要增加属性的要素上,达到实际应用的目的。
下面通过对叠加分析原理的分析,借助A rc G I S 强大的空间分析功能,并结合A rc G I S Eng i n e 组件体系,使用.N et 2005进行开发实现。3 1 构建叠加分析类
参与叠加分析的GIS 数据可以为任意的点、线、面要素,而且可以对多个图层进行叠加分析,得出分析结
果,所以在叠加分析类的构建上充分考虑其特征,通过
构造数据叠加分析类对叠加分析进行实现。
图3 叠加分析实现类结构图
publi c c lass InterSect A nalysis //叠加分析类
{
//类的局部变量定义I F eatureL ayer m _pF irstlayer ;//参与叠加分析的第一个图层
I F eatureL ayer m _pSecondL ayer ;//参加叠加分析的第二个图层
I P ropertyset m _O ut P ropertyse t ;//数据输出的连接信息Str i ng m _str O utput N a m e ;//数据输出的名称D ouble m _db l T o;l //容差,用于控制叠加分析结果精度,可以根据实际的数据精度情况来设置容差
//构造函数,将参与叠加分析的图层传入,并将输出的名称和连接信息进行传入
Pub lic In terSect Ana l ys i s (IFeatureLayer pFL aye r1,IFeature -L ayer pFL ayer2,IP ropertySe t pP rope rt ySet ,Str i ng str O utput N ame ,doub le dbl T olerance );
//分析函数,根据输入的图层Pub lic vo id InterSec t();}
3 2 关键步骤说明
本类中的关键算法在于求交分析的实现,实现过程按照图2的拓扑求交流程进行,步骤如下:
(1)获得地图视图中参与求交分析的图层,使用I M AP 、I Feat u reLayer 接口;
(2)构建求交后数据输出数据源及要素类名称,使用I W o r kspace Na m e 、I Feature C l a ss N a m e 等相关接口;
(3)构建求交分析对象,对参与求交的数据进行求交,使用I Basic Geoprocessor 接口中的I ntersect 方法;
(4)对求交结果进行属性拷贝,遍历目标要素类(此为一关系要素类,将求交各图层的存在相交关系的要素关联起来)的所有要素,获取关系要素的原始要素,将需要被更新的原始要素的属性从用于更新的要素的属性中拷贝过来,使用I FeatureC lass 、I F eature 接口。
4 叠加分析在日常工程中的应用
我院在一项目中获得两份数据,分别为1999年及2005年线状地形要素图,均为同一区域的.m db 格式数据。1999年的线状要素有属性信息,但现势性不足,2005年线状要素图现势性强,但无属性信息,经过比较发现,2005年线状要素在1999年基础上有减少,
39