基于数据字典的空间数据库通用建库技术
张龙1, 汪新庆1,2
1.中国地质大学(武汉)数学地质遥感地质研究所,武汉 430074
2.中国地质大学(武汉)地质过程与矿产资源国家重点实验室,武汉 430074

第一作者简介: 张 龙(1989-),男,硕士研究生,主要从事国土资源信息化及GIS应用的研究。Email:614508661@qq.com

摘要

作为空间信息基础设施,空间数据库的建设效率和质量决定了地学信息项目的成败。目前空间数据库建库大多与特定GIS平台相关,建库过程繁杂、效率低下。为了适应复杂多变的建库需求,通过分析空间数据库数据模型的结构化表达,研究并提出利用数据字典存储数据模型,自动化建库的技术方法。多个项目实践验证该方法能够显著降低建库复杂性,提高建库效率,具有一定的通用性。

关键词: 地理信息系统(GIS); 空间数据库; 数据字典; 数据模型; 建库
中图分类号:P283.7 文献标志码:A 文章编号:1001-070X(2014)01-0173-06 doi: 10.6046/gtzyyg.2014.01.29
General geo-spatial database construction method based on data dictionary
ZHANG Long1, WANG Xinqing1,2
1.Institute of Mathematical Geology and Remote Sensing Geology, China University of Geosciences(Wuhan), Wuhan 430074, China
2.State Key Laboratory of Geological Processes and Mineral Resources, China University of Geosciences(Wuhan),Wuhan 430074, China;
Abstract

Spatial database is a spatial information infrastructure, and the efficiency and quality of its construction determine the success or failure of the geo-information project. Currently, the spatial database is mostly associated with a specific GIS platform. The database construction process is complex, inefficient and lack of versatility. In order to adapt the database construction to complex variability, the authors, through an analysis of the structural expression of the spatial database data model, studied and put forward the method for storing data model by using data dictionary and the technology for automatic construction of a spatial database. Practice of quite a few projects has proved that the method can significantly reduce the complexity of building a database and improve efficiency, together with certain extent of versatility.

Keyword: GIS; geodatabase; data dictionary; data model; database-construction
0 引言

地理信息系统(GIS)技术作为计算机技术与地学结合的典范, 在国土资源管理、环境评价与检测、国家矿产资源开发利用等多个领域都发挥了巨大的作用。作为组织、存储和管理各种地学数据的最重要的部分, GIS中的空间数据库, 被形象地称为空间信息基础设施(national geo-spatial information infrastructures, NGII)[1]。这一基础设施不仅是开展深入应用的前提, 而且本身就是一项重要的工作成果, 其建设的好坏和效率, 往往决定了地学信息项目的成败。

目前空间数据库的建立过程缺少通用性的建库工具, GIS平台软件厂商都提供了专门的软件工具和界面, 以建立特定数据组织结构的空间数据库, 例如ArcGIS提供了ArcGIS Catalog, MapGIS K9提供了企业管理器, MapGIS 6X则嵌在输入编辑模块中。传统的建库过程需要人工操作, 按照空间数据库逻辑模型一步步输入参数、点击按钮, 步骤纷繁且容易出错[2]。当面临大量复杂结构的数据模型时, 往往需要开发专用的建库工具和其他的建库方法, 例如利用CASE工具和统一建模语言(unified modeling language, UML)[3, 4], 自主开发可视化建库界面[5], 通过控制模版进行建库[6]等。这些方法都需要按特定形式重新组织空间数据库的概念模型, 而且往往与特定软件平台相关, 不具有通用性。因此, 亟待寻找一种更简单、通用且充分利用已有数据模型成果的方法来进行空间数据库的建库工作。利用数据字典来存储数据逻辑模型, 并配合二次开发技术, 可以高效地满足这一需求。本文基于数据字典, 将其作为数据模型的有效表达, 应用到后期针对具体数据的管理与使用中, 进行空间数据库建库工作。

1 空间数据库结构模型与数据字典

在开展地学信息项目之初, 为了确保空间数据库的建设质量, 一般会组织专家对领域内的数据模型进行分析总结, 结合实际需求并参考行业技术标准, 形成供项目使用的建库指南文档, 例如中国地质调查局颁布的《数字地质图空间数据库建设工作指南》[7]。这一过程对应于传统软件系统开发过程中的数据库设计阶段, 形成的是空间数据库结构模型。基于结构模型在GIS软件中实现具体空间数据库物理模型的过程, 即为空间数据库建库。

1.1 空间数据组织形式

空间数据库与传统数据库之间的最大区别在于空间数据是带有地理空间位置信息的。要素是空间数据的基本操作单元, 由几何实体和属性字段组成, 通常把具有相同属性结构和操作方法的要素对象归纳为一个要素类, 把地理参考系一致的要素类按照某方面的共性归纳为要素数据集。空间数据库核心是由要素数据集、要素类、属性数据集、属性表、属性项、属性值域、栅格要素集、坐标参照系及它们之间的关系等多个对象组成[8]

地图图件与空间数据一般是分开存储的。在数据制作阶段, 往往采用一图一库, 即每一幅图件都对应着单独的空间数据库; 在数据集成阶段, 将若干个库进行汇总入库集中管理, 可以提取库中的部分内容形成多个图件, 称为多图一库。在综合分析和应用中, 也有一图多库的形式, 这与不同的系统体系架构有关。

1.2 结构模型

空间数据库设计的核心在于确定领域数据内容的逻辑模型, 即明确项目应用中图件、要素类及要素之间的关系。工作量最大的是确定各要素类的空间类型和众多的属性字段项, 有时还需确定属性值域。随着领域模型的不断发展和项目的推进, 这部分内容经常出现变动, 需要对逻辑模型进行修补, 并反馈到空间数据库物理模型中。结构模型常以文档描述, 例如某行政区要素类属性结构描述如表1

表1 行政区属性结构描述 Tab.1 Attribute schema of administrative regions
1.3 物理模型

原始的空间数据库物理上采用文件形式进行存储, 例如MapGIS6.7的点线面文件和ArcGIS Shapefile数据文件。随着对象-关系型数据库技术的发展, 现代意义上的空间数据库开始广泛利用成熟的关系数据库技术, 实现海量空间数据的查询、存储及处理, 这大大提高了空间数据的集成能力和使用效率[9, 10]。GIS平台厂商在不同空间数据库具体实现形式之上提供一层空间数据引擎(spatial data engine, SDE)接口, 通过中间件技术以屏蔽底层数据库实现的差异性。

1.4 数据字典

数据字典(data dictionary, DD)是关于数据库系统中各类数据描述的集合。当今多数数据库管理系统均将数据字典作为定义数据库中各类数据对象及其相互关系的准则[11]。空间数据库中的数据字典实质也是关系数据库中的数据表, 其中记录的是空间数据模型结构的各项参数信息。描述一个数据模型时, 要包括哪些子模式, 子模式的结构以及各个子模式之间的关系和存在的约束规则等[12]。对子模式的描述一般包括模式名、属性名、属性域的类型和长度, 关键字信息等。对于不同领域的空间数据库结构模型, 虽然各参数字典表中存储的数据不同, 但由于各字典本身的结构是相同的, 因而基于数据字典开发的应用程序是通用的, 可以应用于不同的空间数据库模型管理。

2 建库技术方法

为了充分利用数据字典技术, 需要将空间数据库逻辑模型的各项参数按图件、要素类、属性项、属性值记录到各个字典中, 然后利用GIS平台软件提供的二次开发接口函数, 读取数据字典内容并生成空间数据库物理模型。具体分为空间数据模型参数字典设计、结构模型到数据字典的映射、数据字典到物理模型的映射3个部分。

2.1 空间数据模型参数字典设计

数据字典以Access数据库的形式存放, 各参数字典即是数据库中的数据表, 其中最主要的参数字典有图件字典(mapmenu)、要素类字典(mapdict)、数据项字典(tablereport)及下属词字典(zxdict)。图件字典主要记录地图图件的图件编码、中文标题、说明及空间划分等信息; 要素类字典记录模型中各要素类编码、名称、空间类型及所属图件等信息; 数据项字典最为庞杂, 其记录各要素类属性表的字段名、类型、大小、所属要素类及约束信息; 下属词可以理解为确定数据项, 其值能够代码化的枚举值[13], 其记录标准化的名词术语项, 例如行政区域代码, 其通过下属词编码与数据项字典中的数据项进行连接。

图1为数据字典中各参数字典关系图, 从中可以看出, 这些字典基本上可以表达空间数据库中各种对象结构及关系, 而且其本身也是结构化的数据表, 易于修改和使用。

图1 数据字典中各参数字典关系Fig.1 Relationship of parameters dictionaries in data dictionary

2.2 结构模型到数据字典的映射

将类似表1中文本化的逻辑模型映射为数据字典的形式, 实际上就是将文本表格中的各项记录输入到数据库对应的表中。有2种方法: 一是人工逐条对照输入, 二是利用工具软件批量处理。

批量处理的核心是以Excel为媒介, 首先, 在Excel中建立4个空Sheet页, 对应于图件、要素类、数据项和下属词; 然后, 将文档中的表格按分类复制粘贴到对应Sheet表格中, 并补充隐含的内容参数, 如要素类隶属的图件代码, 数据项隶属的要素类编码等; 最后, 利用Access的数据导入功能, 将上一步整理好的Excel表格Sheet页导入到对应的参数字典表中。这一过程相对简单, 无需对模型结构和关系的重新描述和其他额外的复杂处理流程。

2.3 数据字典到物理模型的映射

空间数据库的物理实现是多种多样的, 与使用的GIS基础平台软件相关, 既可以基于关系数据库, 也可以基于文件系统; 即使是同样的GIS平台, 也可以有不同的实现方式, 例如ArcGIS软件就提供了File Geodatabase, Personal Geodatabase和SDE三种方式。不同的空间数据库物理实现方式有不同的优缺点, 需要结合项目实际需求进行选择, 有时还需同时建立采用多种实现方式进行综合对比, 以适应复杂架构的系统项目, 例如在多级用户系统中, 低级用户数据量少, 采用文件型数据库比较方便, 高级用户则需要采用大型关系数据库进行海量数据的综合管理。

无论空间数据库物理上采用何种方式, GIS平台软件厂商都会提供相应的二次开发接口函数或组件。利用这些程序接口和SDE技术, 应用系统开发人员可以开发对应的软件工具, 利用上述固化到数据字典中的数据模型, 快速地创建空间数据库, 其过程往往大同小异, 可以归纳为如图2的一套流程。空间数据库建库的核心在于要素类、属性项的创建和属性值规则的限定。在一图一库的建库过程中, 需要借助图件字典, 创建地图、图层并关联要素类; 在图库无关的建库中, 则可以省略该部分。访问要素类字典得到要素类相关参数并创建对应要素类, 访问属性项字典得到属性项相关参数并创建对应属性项, 访问属性项字典和下属词字典得到相关参数并关联下属词, 通过该流程, 就可以实现数据字典到空间数据库物理模型的映射。

图2 基于数据字典的空间数据库建库流程Fig.2 Flowchart of geo-spatial database-construction based on data dictionary

2.4 优势

引入数据字典作为空间数据库结构模型的载体, 是将数据模型实体化参数化的过程。这可以将建库过程中的2大步骤— — 逻辑模型的确定和物理模型的创建清晰地分开, 提高建库工作的效率。借助软件工具, 可以很方便地实现结构模型、数据字典、物理模型的映射, 减少建库过程中的人工干预, 提高空间数据库的建库质量和自动化程度, 降低建库过程的复杂度。当数据模型有变动时, 例如属性项名称更改、增加要素类等, 只需对数据字典中的相关记录做对应修改, 然后利用建库工具更新或重建数据库即可, 而无需在庞大的空间数据库中做手动修改。

通过对数据字典进行扩展, 可以很方便地增加现有系统的功能, 例如通过增加空间划分方式字典以实现图件按不同区域、不同专业、不同比例尺的分类, 通过在数据项字典中增加数据检查字段以实现对属性数据的规范化处理[14]

软件重用, 是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。由于数据字典中各个参数表本身是结构化的, 对于不同项目而言只是表中数据的不同, 因而开发出来的建库工具是可以重用的, 这不同于传统软件开发中的部分数据的重用、程序代码段的重用和功能组件的重用, 可以称之为模型的重用。数据字典技术作为模型的体现, 不仅在建库阶段, 而且在数据入库、数据管理和综合应用等方面也可以发挥作用[7, 12, 13, 14]

3 应用实例

全国矿产资源潜力评价是国土资源部在矿产资源领域部署的一项基本国情调查工作。按照其采用“ 全面全过程应用GIS信息技术” 和“ 矿床模型综合地质信息预测方法” 的技术路线, 该专项最终会形成数以十万计的地质矿产专业数字图件。这些图件采用MapGIS6.7软件制作, 在成图阶段按照一图一库的方式进行组织。由于MapGIS6.7是以点线面文件方式进行数据存储和管理, 因此其建库不是直接对关系数据库进行操作, 而是广义上的一种对空间数据库的模拟。

矿产资源潜力评价技术要求和数据模型十分复杂, 共计18个分册, 涉及全国32个省、市、自治区, 分为11个专业组、75类图件、355个模型, 共计约1 900个数据表, 全部文档化后整理出版达500万字[15]。如果按照传统的数据制作方法, 每幅图件都需进行繁杂的数据库建库过程, 这必将耗费大量的人力物力, 且建库质量得不到保证。全国矿产资源潜力评价项目组(以下简称全国项目组)综合信息集成分组利用以上总结的技术流程, 组织人员将文档化的数据模型参数化到各数据字典表中, 不断修改完善, 形成全国矿产资源潜力评价数据字典库— — GeoMAD, 完成结构模型到数据字典的映射。全国项目组还基于MapGIS6.7进行二次开发, 采用面向对象软件设计方法研发了数据模型使用软件GeoMAG, 该软件的一个重要模块就是空间数据库自动化建库, 即实现由数据字典到物理数据模型的映射。

图3所示, 以某建造构造图为例, 仅需在建库界面中设置相应的图件参数, 选择图件所在专业、类型、比例尺、空间划分方式、名称和坐标范围, 软件就能够从数据字段中读取空间数据结构模型的完整信息, 自动列出必须的要素类(图层)和属性项, 并在数秒内生成该图件完整的空间数据库结构, 形成的要素类及属性结构效果如图4, 然后专业制图人员在规范化的图件结构中作图即可。这样, 专业人员在建库时就无需再关心要素类和数据项的具体选取, 而只填写图件按照专业模型的基本分类参数即可, 具体的建库细节和步骤交给计算机去处理。

图3 矿产资源潜力评价建库工具界面Fig.3 Interface of database-construction in mineral resource potential assessment

图4 形成的要素类及属性表结构Fig.4 Feature class formed and attribute stracture table

全国项目组将这一成果下发到各省市工作单位, 极大地简化了矿产资源数据库的建设过程, 提高了图件建库制作效率和质量, 有力地促进了项目的整体实施, 在矿产资源潜力评价常态化等工作中具有重要意义[16]

全国矿产资源潜力评价专项后期要求进行分省、大区和全国性的数据汇总和集成工作, 这需要在大型关系数据库的基础上建立集中式的空间数据库来对数据进行重新组织, 建设单位同样利用潜力评价数据字典库和软件工具快速地建立汇总所需的空间数据库结构, 加快数据集成的工作进程。

图5所示, 在地矿领域, 这种由数据字典描述空间数据结构模型的技术方法已经在众多其他项目中得到了推广应用。例如在覆盖区矿产资源综合预测中, 地质专家对覆盖区找矿数据模型进行定义和描述, 然后经计算机专业人员进行转换, 形成覆盖区矿产资源数据字典, 地质专业人员就可以利用数据模型使用软件GeoMAG来制作各种中间和成果地质图件。因此只要有特定专业的数据字典, 数据模型使用软件不用作任何更改就可以适应不同数据结构的空间数据库建库需求。

图5 建库技术应用现状Fig.5 Application status of the database-construction method

4 结论

本文从当前空间数据库的重要性和建库过程复杂繁琐的现状入手, 通过分析空间数据库结构和组织形式, 提炼出概念模型中图件、要素类、数据项等最主要的对象单元, 提出利用数据字典技术作为数据模型的载体。设计了相应的数据字典参数表, 总结了一套从结构模型到数据字典, 最终到空间数据库物理模型的技术流程, 并开发了配套的软件工具。该技术在不同的GIS平台下都可以进行重用, 能够适应复杂数据模型下空间数据库建设的一般需求。

基于数据字典的空间数据建库技术已经在全国重要成矿区带资源评价基础数据库建设、全国矿产资源潜力评价、全球矿产资源信息系统等多个重大项目的空间数据建库中得到了应用, 并取得了良好的效果。实践证明, 该技术操作方便、高效通用且能保证建库质量, 易于进行维护和功能扩展, 特别能够适应复杂问题域数据模型多变的情况, 具有一定的推广借鉴价值。

The authors have declared that no competing interests exist.

参考文献
[1] 左泽均, 周顺平. 基于MapGIS数据中心构建基础地理信息地图集模型[J]. 地球科学: 中国地质大学学报, 2010, 35(3): 391-396.
Zuo Z J, Zhou S P. Building basic geographic information mapset model based on MapGIS data center[J]. Earth Science: Journal of China University of Geosciences, 2010, 35(3): 391-396. [本文引用:1] [CJCR: 1.705]
[2] 李定平, 胡光道, 程路. MapGIS下空间数据库的建立及其典型问题研究[J]. 武汉大学学报: 信息科学版, 2005, 30(11): 92-95.
Li D P, Hu G D, Cheng L. The building of spatial database based on MapGIS and the discussion of its typical questions[J]. Geomatics and Information Science of Wuhan University, 2005, 30(11): 92-95. [本文引用:1] [CJCR: 0.779]
[3] 李连胜. Geodatabase在空间数据库建库中的应用[J]. 现代计算机: 专业版, 2009(12): 131-134.
Li L S. Application of Geodatabase in construction of spatial database[J]. Modern Computer, 2009(12): 131-134. [本文引用:1]
[4] 何勇, 辜寄蓉, 江浏光艳. 基于CASE工具的地理空间数据库建模方法研究[J]. 成都理工大学学报: 自然科学版, 2007, 34(2): 185-189.
He Y, Gu J R, Jiang L G Y. Design of the geodatabase based on CASE tools[J]. Journal of Chengdu University of Technology: Science and Technology Edition, 2007, 34(2): 185-189. [本文引用:1] [CJCR: 0.657]
[5] 陈勇, 宋关福, 钟耳顺. 基于可视化建模思想的空间数据库自动化建库技术研究[J]. 测绘通报, 2006(12): 54-56.
Chen Y, Song G F, Zhong E S. A study of spatial database automated construction based on visual modeling[J]. Bulletin of Surveying and Mapping, 2006(12): 54-56. [本文引用:1] [CJCR: 0.661]
[6] 张泽烈, 余静, 袁超. 基于模板控制的地理空间数据库自动化建库方法[J]. 测绘通报, 2010(5): 20-22.
Zhang Z L, Yu J, Yuan C. A method of geo-spatial database automated construction based on template control[J]. Bulletin of Surveying and Mapping, 2010(5): 20-22. [本文引用:1] [CJCR: 0.661]
[7] 马小刚, 汪新庆, 毋丽红, . 应用数据字典实现多源地质空间数据的通用管理[J]. 矿业研究与开发, 2007, 27(1): 37-40.
Ma X G, Wang X Q, Wu L H, et al. Implement of universal information models for multi-source geology spatial database management based on data dictionary[J]. Mining Research and Development, 2007, 27(1): 37-40. [本文引用:2] [CJCR: 0.4822]
[8] 徐翠玲. 基于Geodatabase建立数字地质图数据库的方法与实践[J]. 测绘科学, 2008, 33(3): 176-177, 186.
Xu C L. Methods and practice of building database for digital geological map based on Geodatabase[J]. Science of Surveying and Mapping, 2008, 33(3): 176-177, 186. [本文引用:1] [CJCR: 0.778]
[9] 邵亚. 基于Geodatabase的土地利用空间数据库建库研究[D]. 武汉: 华中农业大学, 2007.
Shao Y. Research on construction of land use spatial database based on Geodatabase[D]. Wuhan: Huazhong Agricultural University, 2007. [本文引用:1]
[10] 薛涛, 刁明光, 李建存, . 资源环境遥感海量空间数据存储、检索和访问方法[J]. 国土资源遥感, 2013, 25(2): 168-173.
Xue T, Diao M G, Li J C, et al. Approach to storing, retrieving and accessing mass spatial data in resources and environments remote sensing[J]. Remote Sensing for Land and Resources, 2013, 25(2): 168-173. [本文引用:1]
[11] 李禹生, 何健, 彭飞. VFP数据字典工具及其应用系统维护[J]. 武汉工业学院学报, 2003, 22(2): 32-34.
Li Y S, He J, Peng F. The tools of VFP data dictionary and the maintenance of VFP application system[J]. Journal of Wuhan Polytechnic University, 2003, 22(2): 32-34. [本文引用:1] [CJCR: 0.2893]
[12] 李阳东, 汪新庆, 刘妙龙. 基于国标的地学数据库智能建模方法[J]. 同济大学学报: 自然科学版, 2007, 35(5): 690-694.
Li Y D, Wang X Q, Liu M L. An intelligent modeling method for geosciences database based on national stand ard terms and codes[J]. Journal of Tongji University: Natural Science, 2007, 35(5): 690-694. [本文引用:2] [CJCR: 0.634]
[13] 刘夏, 汪新庆, 常思思, . 矿产资源潜力评价数据模型应用支持研究[J]. 电子科技, 2010, 23(5): 23-25.
Liu X, Wang X Q, Chang S S, et al. Supporting research on application of the mineral resource potential evaluation data model[J]. Electronic Science and Technology, 2010, 23(5): 23-25. [本文引用:2] [CJCR: 0.3174]
[14] 常思思, 汪新庆, 过剑, . 矿产资源潜力评价中定性数据标准化检查[J]. 物探化探计算技术, 2010, 32(3): 320-324.
Chang S S, Wang X Q, Guo J, et al. Stand ard check of qualitative data on the mineral resources potential assessment[J]. Computing Techniques for Geophysical and Geochemical Exploration, 2010, 32(3): 320-324. [本文引用:2] [CJCR: 0.645]
[15] 全国重要矿产资源潜力评价项目组. 矿产资源潜力评价数据模型丛书[M]. 北京: 地质出版社, 2011.
Project Group of the Country’s Major Mineral Resource Potential Assessment. The series of mineral resource potential assessment data model[M]. Beijing: Geology Press, 2011. [本文引用:1]
[16] 邬晓芳, 邓毅, 王常薇, . 如何运用GeoMAG软件使图件结构规范化——以贵州省分幅实际材料图为例[J]. 贵州地质, 2012, 29(2): 156-159.
Wu X F, Deng Y, Wang C W, et al. How to make the graph structure stand ardization by GeoMAG software: The division factual datum map is taken as the example[J]. Guizhou Geology, 2012, 29(2): 156-159. [本文引用:1] [CJCR: 0.162]