APP下载

基于ArcGIS的矢量数据入库更新技术及其实现

2014-03-27赵成福

地理空间信息 2014年2期
关键词:图层入库矢量

赵成福

(1.青海省基础地理信息中心,青海 西宁 810000)

空间地理信息数据库具有无缝海量的特征,在数据库更新尤其是矢量数据更新时存在一定的复杂性,如何充分利用ArcGIS平台提供的功能进行空间数据库的更新是一个关键问题。本文结合ArcGIS平台提供的桌面编辑环境、地理处理任务框架和ArcObject应用开发接口介绍了空间数据库矢量数据入库更新的方法。

1 矢量数据库的更新步骤

矢量数据库的基本更新步骤是对原有图层数据进行区域擦除,接着导入数据,最后拼接数据,如图1所示。矢量数据库的更新方法多种多样,下面分别介绍基于ArcGIS平台的桌面编辑环境、地理处理任务框架和Arcobject应用开发接口的3种数据更新方法。

图1 面状矢量数据更新流程图

2 基于ArcGIS桌面编辑环境的数据更新

ArcMap是ArcGIS Desktop三个用户桌面软件之一,是一个复杂的专业制图和编辑系统,可实现地图制图、地图编辑、地图分析等功能。

用ArcMap编辑环境进行空间数据更新的主要步骤为:①加载空间数据库更新图层到ArcMap主窗口;②打开编辑工具条,启动编辑,选择要编辑的面状图层;③在编辑任务中选择Cut Polygon Features(分割多边线要素);④选中要分割的多边形,用编辑工具沿更新区域边界画一条分割线,分割线必须穿过整个分割多边形,完成多边形分割;⑤如果要更新线状对象,首先选中要编辑的线,然后用Split工具点击线的分割点,完成多义线分割;⑥接着用户选择更新区域内的所有图层要素,用删除工具删除;⑦将更新的数据复制粘贴到对应的图层;⑧沿更新区域边界线,用Merge工具依次拼接空间关系相邻、属性相同的要素。

图2是利用ArcMap桌面编辑环境进行面状矢量数据更新的界面,图中显示的是用面分割工具进行面状要素分割。

图2 ArcMap编辑环境下的数据库更新界面

3 基于地理处理任务框架的数据更新

在ArcGIS Desktop中,提供了一个地理处理任务框架,这些地理处理任务都包含在ArcToolbox工具箱中,框架中的工具主要以ArcToolbox基本工具、ModelBuilder模型、命令行以及脚本等4种方式运行。本文主要介绍基于ModelBuilder模型工具的空间数据库更新。

ModelBuilder为设计和实现空间数据处理模型提供了一个图形化的建模框架,它将一系列的工具和数据串起来创建流程化的高级GIS功能。可将工具和数据集拖动到一个模型视图中,然后按照有序的步骤把它们连接起来实现复杂的GIS任务。

用ModelBuilder工具进行空间数据更新的主要步骤为:①用Erase工具擦除指定区域的图层(LAYER),擦除后产生新的图层LAYER_ER;②用Append工具导入更新数据到LAYER_ER图层中;③用Dissolve工具拼接导入到图层LAYER_ER中的数据,拼接后产生新图层LAYER_MG;④用Delete工具删除临时图层LAYER_ER和原始图层LAYER;⑤用ReName工具将拼接好的图层LAYER_MG重命名为图层LAYER。

图3是把这些工具在ModelBuilder中连接起来建立的空间数据处理模型,通过运行该模型工具,可实现空间数据的入库更新。

图3 ModelBuilder数据更新处理模型图

4 基于ArcObject 应用开发接口的数据更新

ArcObject是ArcGIS平台的二次开发组件集, 提供了几乎全部的底层GIS功能。ArcGIS平台软件大部分功能都是基于ArcObjects的组件开发出来的。由于这个组件库的API是开放的,因此程序开发人员也可使用ArcObjects灵活地开发自己的GIS应用程序。用ArcObject 应用开发接口进行空间数据更新的主要步骤为:

①用ISpatialFilter接口结合IfeatureClass接口的Search函数,通过空间分析,选择更新区域的要素和相邻要素,用IFeatureEdit接口的Split函数分割更新区域边界上的线和面要素;②用IWorkspace接口的ExecuteSQL删除更新区域内的要素数据;③用IFeatureCursor接口的InsertFeature函数导入更新数据;④用ItopologicalOperator接口的ConstructUnion函数合并更新区域边界上空间关系相邻、属性相同的要素。

图4是利用ArcObject应用开发接口开发的空间数据库管理系统中的矢量数据入库工具,通过该工具可实现高效的矢量数据入库更新。

图4 基于ArcObject的矢量数据入库工具

5 入库更新方法的比较

下面就以上3种更新方法进行比较:

1)基于ArcMap编辑环境的数据更新,适合于单个或少量多个要素的局部更新。

2)基于地理处理任务框架的数据更新,自动化程度高,适合于小数据量的批量更新,更新过程中会产生中间过程数据。由于是整个图层要素参与分析处理,在大数据量(全省)的情况下更新花费时间很长。

3)基于ArcObject应用开发接口的数据更新,采用空间分析方法,只对更新区域及周边要素进行更新,效率高,也不会产生中间过程数据。

表1 几种数据更新方法比较表

从表1可以看出,在相同数据量和更新区域的情况下,Arcobject应用开发接口的更新效率最高。

[1]吴静,何必,李海涛. ArcGIS 9.3 Desktop地理信息系统应用教程[M].北京:清华大学出版社,2011

[2]汤国安,杨昕. ArcGIS地理信息系统空间分析实验教程[M].北京:科学出版社,2010

[3]邢超,李斌. ArcGIS学习指南——ArcToolbox[M].北京:科学出版社,2010

[4]韩鹏,徐占华,褚海峰,等.地理信息系统开发ArcObjects方法[M].武汉:武汉大学,2005

[5]ESRI.Developer Help For ArcGIS v9.3[CP/DK].USA:ESRI,2009

[6]ESRI.ArcGIS Engine Developer Guide[M/CD].USA:ESRI,2009

[7]ESRI.Exploring ArcObjects[M/CD].USA:ESRI,2009

猜你喜欢

图层入库矢量
重磅!广东省“三旧”改造标图入库标准正式发布!
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
解密照片合成利器图层混合模式
巧用混合图层 制作抽象动感森林
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例