(中国科学院 地理科学与资源研究所 , 北京 100101)
论文来源:《测绘通报》 2006年 第12期
摘要:空间数据库的建设速度和成本是影响 GIS 应用的重要因素。目前空间数据建库存在软件通用性不足、建库过程操作复杂、人工干预多、建库效率低等问题。针对建库中存在的问题 ,研究并提出基于可视化建模思想的空间数据库自动化建库技术 ,有助于大幅度降低建库复杂性 ,提高建库效率 ,降低建库成本。
关键词: 地理信息系统,可视化建模,空间数据库,空间数据建库,自动化技术
A Study of Spatial Database Automated Construction Based on Visual Modeling
CHEN Yong,SONG Guanfu,ZHONG Ershun
一、引 言
空间数据库是基于大型关系数据库系统 ,存储和管理海量空间数据的技术 ,是新一代地理信息系统( GIS) 的重要组成部分 ,也是 GIS 应用项目的基础。大量有关空间数据建库的研究 ,一般都以空间数据库设计、质量控制、应用等方面为重点 ,对具体的建库过程没有深入探讨。本文将就具体建库过程中存在的一些问题进行研究。
由于缺少通用性建库工具 ,当前空间数据建库存在大量重复的建库工具开发工作。空间数据库建设一般由建库单位基于选定的 GIS 软件 ,开发一套针对特定数据文件的软件工具 ,使用该软件工具 ,对原始数据进行处理并入库。对另一批数据进行建库时 ,就需要修改原有的建库工具 ,甚至重新开发建库工具才能满足建库要求。而且不同单位都在做着类似的重复性工作 ,形成更大范围内的重复投入。如何克服这些问题 ,提高空间数据库建库的生产效率 , 降低建库成本 ,成为一个亟待解决的问题。
与此同时 ,在建库过程中还需要大量的人工干预 ,如果碰到特殊情况出现 ,甚至需要手工操作来对数据进行处理。由此产生的大量人力、物力、财力的投入 ,影响了建库进度 ,增加了建库成本。
通过研究分析大量空间数据建库实例 ,笔者认为 ,导致建库成本居高不下主要有两方面原因 :一是建库软件专用性太强 ,不能满足通用的要求 ,导致大量重复性的软件开发工作 ;二是建库过程操作复杂 , 缺少自动化机制 ,人工干预多 ,导致建库工作持续时间长 ,生产效率低。针对这两个问题 ,笔者提出一套基于可视化建模思想的自动化建库技术。
二、关键技术
基于可视化建模思想的自动化建库技术 ,包括一系列的关键技术 : ①基于可视化建模思想 ,使建库过程模型化 ,从而降低建库的复杂度 ; ②提供多种数据分层与重组的模式 ,保证了建库软件实现的通用性 ; ③针对不同类型、不同结构数据的多源数据自适应处理技术 ; ④引进脚本执行的模式 ,增加建库过程的可控性 ; ⑤为避免异常中断影响建库过程连续性的断点续传技术 ; ⑥为了提高建库效率的多用户协同建库的技术。
1. 可视化建模
可视化建模就是利用一种统一的形象化的符号语言 ,把对象模型准确地表达出来 ,即构建系统模型的过程。利用可视化建模首先能够有效地降低系统的复杂度 ,同时能够提高系统设计的可重用性 ,增强系统的灵活性。
在空间数据建库中 ,包括三类基本模型 :源数据模型、规则模型和目标数据模型(图 1) 。
1. 源数据模型 :设定需要入库的数据信息 ,包括数据文件及其类型信息。
2. 目标数据模型 :设定空间数据库的信息 ,包括数据库连接信息等。
3. 规则模型 :设定输入数据与空间数据库的对应规则 ,包括图层对应关系以及数据重组信息等。
图 1
建库时 ,首先通过源数据模型设定需要入库的数据 ,通过目标数据模型设定空间数据库信息 ,然后通过规则模型把需要入库的数据与空间数据库中的数据以一定的规则一一对应起来 ,完成空间数据建库的建模过程 ,如图 2 所示。
图 2 空间数据建库建模
经过上述模型化组织后 ,整个建库过程简单明了。并且只需调整部分参数 ,就能够应用于对其他数据或应用的建库 ,减少不必要的重复工作。
2. 脚本执行模式
根据可视化模型 ,系统自动生成脚本文件。在脚本文件中 ,一条语句对应一个处理动作。数据入库过程则根据这个脚本来进行。运行脚本时 ,采用读取脚本 —→编译脚本 —→执行脚本的方式 ,并且一次只处理一条脚本。
脚本执行采用事务模式。一条脚本执行失败或者未执行完 ,数据库将自动回滚到执行脚本之前的状态 ,保证了数据处理的正确性和完整性 ;同时脚本执行模式也是实现数据入库断点续传的基础。脚本执行模式过程如图 3 所示。
图 3 脚本执行模式
脚本执行模式除了可以防止入库时意外中断导致的工作成果损失外 ,还可以根据脚本的执行情况看到当前入库的进度 ,并随时中止脚本的执行 ,完全控制入库的进程。
3. 断点续传
在数据入库过程中 ,发生崩溃、中断或者其他非正常中止时 ,用户总是希望能够从中断的地方重新开始数据入库 ,并且不会影响已经完成的工作成果。
断点续传就是针对这种情况提出来的。断点续传是在脚本的基础上 ,通过详细的日志、错误记录 ,保留脚本执行结果的详细信息。重新入库时 ,根据日志信息 ,定位到中断执行的地方 ,开始剩余数据的入库工作 , 并且由于脚本执行采用事务的方式 ,保证了入库工作的连续性、正确性和完整性。
4. 数据分层与重组
名字、类型和专题属性是数据层所具有的 3 个重要的属性。根据这 3 个属性 ,可以把数据层和数据层中的对象区分开来。基于此就有下面 3 种基本的数据重组规则。
1. 根据数据层名字重组数据。比如可以把所有名字包含“road”字符串的数据层 ,合并到名字为 “道路”数据层中去。
2. 根据数据层类型重组数据。可以根据数据层类型 ,把同属于一个类型的数据 ,合并为一个图层或者把一个数据层中的不同类型对象拆分到多个数据层中。
3. 根据数据层专题属性重组数据。可以根据数据层的某项专题属性值 ,拆分或者合并数据。
上述 3 种基本的数据重组规则可以单独使用 , 也可以 2 个 ,或者 3 个同时使用 ,这样还可以形成下面 4 种复合的数据重组规则。
4. 根据数据层名字 + 数据层类型重组数据 :1 , 2 的组合。
5. 根据数据层名字 + 数据层专题属性重组数据 :1 ,3 的组合。
6. 根据数据层类型 + 数据层专题属性重组数据 :2 ,3 的组合。
7. 根据数据层名字 + 数据层类型 + 数据层专题属性重组数据 :1 ,2 ,3 的组合。在构建空间数据建库模型中的规则时 ,用户可以根据自己的需要 ,以上述 7 种重组规则为基础 ,定制自己需要的重组规则。
5. 多源数据自适应处理
数据入库中面临的多源数据问题主要指数据存放地点分散、数据格式多样、异构数据入库 3 个方面的问题。
数据存放地点分散问题 ,原始数据可能分散在一个局域网的不同机器上 ,或者在一个机器的多个目录下 ,导致在建模和入库时查找原始数据十分困难。通过提供带有过滤条件的自动搜索功能 ,就可以降低用户选择数据的困难 ,提高工作效率。
数据格式多样问题 ,不同部门生产数据使用不同的数据生产工具 ,导致数据产品格式多种多样 ,这就需要把这些不同格式的数据统一入库。通过自动化的批量格式转换 ,把所有数据都转换到一种格式下 ,就可以完全解决这个问题。
异构数据入库问题 ,不同时期或者不同部门生产的数据 ,空间数据结构可能存在很大的不同 ,入库时就要面临将这些异构数据重组 ,按照统一的数据结构进行存储的问题。解决这个问题只需要定制不同的规则模型即可。用户设计数据重组规则时 ,对每一种结构的数据定制一个规则 ,不同结构的数据分别使用各自的规则进行入库 ,从而满足异构数据一体化入库的要求。如图 4 所示 ,源数据 A , B , C 为结构互不相同的数据 ,入库时为它们分别建立入库规则 ,但使用同一个目标数据 ,这样就可以达到异构数据同时入库的目的。 .
6. 多用户协同建库
一个大型地理信息系统的建立往往需要多个用户协作才能完成 ,同时多用户协同建库还是提高建库效率的一个很有效的手段。多用户协同建库可以通过以下几个步骤实现。首先在设计数据建库模型时 ,按照客户端的情况把模型分组 ,并生成多个脚本文件 ;其次把需要入库的数据和对应的脚本分配给各个客户端 ;最后客户端根据分配的脚本和数据 ,进行各自的建库工作。
图 4 异构数据入库
三、系统实现及应用
在上述解决方案的基础上 ,笔者在 Visual C ++ 6. 0 环境中 ,基于北京超图地理信息技术有限公司的 SuperMap GIS 类库 (SuperMap Foundation Class Library ,SFC) 开发了自动化建库软件 ———SuperMap D - Builder(图 5) 。
图 5 系统界面
该系统已在多个项目中得到应用。在应用中可以看到 ,该系统完全避免了重复性开发建库工具的过程 ,缩短了 GIS 应用系统建立的时间 ;并且能够满足多种建库的需求 ,不同需求只需要定制不同的建库模型即可 ,在比较类似的应用中 ,建库模型只需要很少的修改就能重用 ;通过多客户端协同建库的方式 ,还可以大大缩短建库所需时间。
四、结束语
本文通过对空间数据库建库过程的研究 ,分析了导致建库成本高、建库效率低的几个主要问题 ,并基于可视化建模思想和自动化技术 ,提出了一系列解决方案。通过实际建库工作的检验可以看到 ,建库效率得到一定的提高 ,而且由于效率的提高 ,成本也随之降低 ;同时建库配置过程在很大程度上还可以得到重用 ,可以为今后的工作打下基础。
参考文献 :
[1 ] 陈述彭 ,等. 地理信息系统导论[ M ]. 北京 : 科学出版社 ,1999.
[2 ] 李德仁 ,龚健雅 ,李京伟 ,等. 中国空间数据基础设施建设[J ]. 测绘通报 ,2002 ,(11) .
[3 ] 李德仁 ,龚健雅 ,李京伟 ,等. 中国空间数据基础设施建设(续完) [J ]. 测绘通报 ,2002 ,(12) .
[4 ] 商瑶玲 ,王东华 ,吉建培 ,等. 全国 1∶25 万地形数据库的建立与应用[J ]. 测绘通报 ,2001 ,(10) .