面向空间数据库建设的插件式开发与应用_宋碧波

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2014-09-19。项目来源:矿山空间信息技术国家测绘地理信息局重点实验室开放基金资助项目(KLM201411)。

面向空间数据库建设的插件式开发与应用

宋碧波1,张立朝1,石 晶1,郭秀丽1

(1.河南省基础地理信息中心,河南 郑州 450000)

摘 要:针对传统基础地理信息数据库建设过程中工作效率低下、数据质量不易控制等问题,提出数据库建设的插件式开发方式。通过采用ArcGIS Add-In 桌面定制开发技术,实现了数据格式批量转换、智能编辑和专项质检等功能,利用已有成熟商业软件的功能接口,有效避免功能的重复开发。研究成果对实际生产过程中的批量入库和质量控制起到重要的作用。关键词:ArcGIS Add-In ;数据库建设;插件式开发

中图分类号:P208 文献标志码:B

文章编号:1672-4623(2015)05-0086-03

国家测绘地理信息局于2013年在全国范围内实施1∶10 000数据库整合升级项目[1],在对DLG 数据建库的过程中,主要涉及坐标转换、格式转换、分类代码转换、要素编辑、属性项编辑、数据结构重组等一系列数据编辑、转换与质检工作。常规作业方式主要采用手工处理,从而导致数据量大、效率低、数据结构不统一、数据质量难以控制等问题[2]。采用程序建库的方式能够有效解决上述问题。借助程序读入数据可有效避免手工入库效率低下的问题。然而,目前采用程序入库方式主要基于组件式开发,不仅开发周期长,并且不能有效利用已有程序的接口,从而造成已有程序功能的浪费,重复开发的现象普遍存在[3]。

鉴于上述情况,本文提出一种地理信息数据库建设的插件式开发方式。采用ArcGIS Add-In 桌面扩展功能开发,实现数据格式转换、编辑、质量检查等功能,解决数据库建设中效率低下、结构不统一、质量难以控制等问题。

1 ArcGIS DeskTop Add-In

早期ArcGIS(8.0之前版本)通过使用ArcInfo Workstation 提供的宏语言AML 来进行单纯的二次开发,ArcGIS10.1及以后版本中不再支持Workstation 环境。基于ArcObject 组件进行C/S 开发主要分为基于ArcGIS Desktop 进行自定义应用扩展和利用ArcGIS Engine 建立自己的应用等。ArcGIS Desktop 桌面应用扩展开发分为客户定制开发、VBA 开发和使用编程语言进行嵌入式开发。客户定制开发只需对已有工具进行重新组合即可;基于VBA 开发可以实现大部分功能的定制,ArcGIS10.0以后版本中将不再包含该模块;基于ArcObject 的开发方式,利用支持COM 的

编程语言进行系统功能开发,通过对编译后的DLL 进行注册,从而将该功能添加到系统中。另外,为了满足用户在数据批处理及功能定制方面的需求,ArcGIS ToolBox 提供了模型制作、编写脚本工具等方式,通过对已有工具进行重组合实现数据的流程化处理,或利用Python 语言编写脚本工具实现数据的批处理,这从一定程度上减少了用户处理数据的负担。

ArcGIS Add-In 是ArcGIS 10.0以后提供的一种全新的桌面定制开发方式,它能够根据用户需求快速扩展桌面功能,与VBA、Engine 等开发方式相比具有易创建、易共享、更安全、易安装管理等突出特点[4]。在ArcGIS Desktop 原有功能基础上根据实际需求进行特殊功能的定制开发,扩展桌面上现有功能,最大程度满足用户的操作需求。基于Add-In 的开发模式使程序开发周期大大缩短,能够直接享用已有功能,并且使界面交互功能的开发更加简单,开发过程、呈现形式更加灵活。考虑到Add-In 的以上优势及实际生产任务在时间上的紧迫性,最终采用该方法对ArcMap 桌面功能进行扩展以解决实际生产问题。

2 总体设计与功能实现

1∶10 000基础地理信息数据库建库项目中存在大量数据的格式转换、坐标转换、投影信息编辑、要素几何及属性信息编辑、几何及属性精度控制、图层结构与拓扑关系检查等工作,是项目实施过程中的主要工作内容,占用时间较多。以上归纳起来可以分为数据转换、数据编辑、质量检查3类。2.1 数据转换

数据转换主要包括常用数据格式间的转换和同一椭球基准下坐标系统间的转换。不同数据采集系统间或同一软件系统中都涉及到数据存储格式转换的问

转换,如图1所示。在实际生产中数据多以图幅的形式进行组织,因而应考虑数据源格式。

*.mdb *.gdb 格式数据

图1 常用数据格式间的批量转换

坐标系转换前,原始图幅数据本身应被赋予正确的空间参考信息,ArcToolBox 中提供了定义坐标系的工具,但在实际应用时不仅要满足空间参考信息的批量添加,还应注意图幅跨带等问题,根据图幅号实现空间参考信息的自适应添加,如图2所示。

批量定义空间参考

按图幅号自适应添加投影信息

图2 坐标系批量转换

2.2 数据编辑

在数据编辑过程中,需借助编辑工具采集要素、按照任务范围裁切图层、拼接图层、图幅接边、从参考资料中提取数据、不同标准间数据结构的转换、重组等,编辑方法的不同将对实际工作效率带来直接影响。若无法提高自动化、智能化水平,将造成大量重复性工作,不仅无法充分利用已有数据,还会影响数据质量。因此,在现有编辑功能的基础上开发针对1∶10 000数据的专用编辑工具十分必要,这将直接提高数据生产效率。通过对数据进行分析,主要实现的编辑功能如图3。

《1∶10 000(1∶5 000)地形要素数据规范》

[5]

行划分,在编辑时直接使用相应工具采集要素,一方面避免了GB 属性值的重复录入;另一方面也规范了图层格式,减少了图层中分类代码错乱等问题。但在实际应用中以上方法更改了数据结构,会造成后期工作量的增加。利用Add-In 方式对ArcMap 中的编辑功能进行扩展开发,可以有效解决该问题。

ArcGIS 能对不同格式的图层进行拼接或裁剪,但

面对每个图幅39个图层的数据量,逐层拼接、裁剪数据将会大大降低数据处理效率。不同时期的数据在数据分类代码、数据结构等方面都存在差异,为充分利用已有数据,需参照相关规范对新旧分类代码进行快速对照,实现数据结构的批量重组。为了减少人工编辑量,图层快速接边、属性刷等交互编辑工具和其他常用工具的开发也十分必要。2.3 质量检查

在数据生产的过程中,如果能够将数据质量问题控制在编辑过程中,这将大大缩减数据检查、再修改这一反复过程。目前Geoway、ArcGIS 等软件都提供了数据检查工具,这些功能并非针对1∶10 000数据建库项目专门开发,检查项不全面,大量工作仍需人工完成。在ArcGIS 已有检查功能的基础上,对数据精度、

属性精度、接边检查、要素分类码、要素归层合理性、要素表达方式一致性与规范性等1∶ 10 000数据检查项开发专用的功能,使质检工作更加方便、快捷,数据问题得以及时发现并修改。针对1∶10 000数据库建库项目开发的检查功能如图4所示。

1∶10 000 数

据质量检查项

数据检查

图形检查

拓扑检查

数据完整性图层结构

要素分类、归层要素属性值

极短线、极小面要素图形重叠

线自相交、悬挂、伪节点

图廓接边境界线与面边界重合

水系要素与其他要素间拓扑关系

道路要素与其他要素间拓扑关系居民地要素与其他要素间拓扑关系植被要素与其他要素间拓扑关系地形要素与其他要素间拓扑关系……

……

……

图4 1∶10 000数据检查项

相关文档
最新文档