面向时空地理数据库的在线异构整合研究

2023-02-07 03:09蔡志刚吴承红
地理空间信息 2023年1期
关键词:异构图层字典

王 慧,蔡志刚,唐 伟,任 易,吴承红

(1.浙江省测绘科学技术研究院,浙江 杭州 310012;2.浙江省水利河口研究院,浙江 杭州 310020)

传统测绘地理信息正向追求高精、高效和智能化的新型测绘快速转型升级。新型测绘需要高效智能化构建统一、实用的结构化时空地理数据库成果,而在已积聚的海量多源地理信息数据库中,异构性成为空间数据信息共享的瓶颈[1]。在实现时空地理数据高度集成的过程中,数据格式转换、数据库结构整合、数据要素融合是紧密衔接的主要环节。已有研究在CAD图形和地理空间数据库的数据格式互转[2-4]、异构专题数据库的结构转换[5-7]、基于栅格和矢量的多源地理信息空间融合[8-10]等方面进行了较系统的剖析。为实现将地理空间数据库异构整合的智能化处理代替繁重且易出错的人工处理,已有学者基于MapGIS、ArcGIS Spatial ETL、ArcGIS Object开发设计了多源异构空间数据转换、重构、合并、集成工具,提高了数据集成效率[11-13]。然而,随着时空地理数据库数据体量的不断增长以及异构整合场景的不断丰富,现有技术常用的桌面端模式已不能满足快速、自适应转换的需求,因而亟需对异构整合关键技术展开深入研究。

鉴于时空地理数据库异构整合转换本质上是异构数据库的抽取、转换和重新统一组装的问题,即ETL过程[14],本文重点基于ETL理论和语义映射研究了异构整合整体技术方案和关键技术,并依托FME平台进行异构整合功能开发,形成B/S模式、基于云计算的面向时空地理数据库的科学、标准、自动化的在线整合平台,以实现新型测绘时期对海量时空数据库整合的快速响应。

1 时空地理数据库概述

1.1 时空地理数据库

地理信息数据仓库涵盖了数量庞大且种类丰富的时空地理数据库(图1),各类数据库的建设依据为数据字典。数据字典规定了要素分类、数据库分层、数据库图层属性结构和各要素的图形表示等具体内容,是数据库组织异构性的主要体现。不同数据库中水系面要素的图层结构如图2所示,其中数据库中图层名称、字段名称、字段类型均存在一定差异。

图1 不同结构的时空地理数据库图层示例

时空地理数据库异构整合的目标是将依据不同数据字典创建的数据库整合转换至统一框架结构的目标数据库,通常涉及要素代码转换、要素图层转换、属性结构转换等步骤。相较于数据库要素级的处理,数据库的异构整合转换在数据库建设工作中的占比更多、难度更大、技术门槛更高,且整合转换的质量好坏、效率高低将直接影响时空地理数据库成果的正确性以及地理信息数据服务的有效性和敏捷性。

1.2 现有技术分析

面向时空地理数据库异构整合的研究总体围绕3个方面:数据库整合集成的关键过程分析、异构整合技术流程的制定和多源异构空间数据自动集成工具的开发。现有研究成果初步形成了异构整合的技术流程,在一定程度上提高了异构整合的效率,但存在以下问题亟待解决:①异构整合过程中异常问题的处理不够深入、全面,整体工作流有待细致梳理,形成严谨、科学、标准化的技术方案;②异构整合的自动化实现常限于某一种GIS平台,桌面模式无法稳定支撑海量数据库的规模化转换,在云计算资源的支撑下开展在线异构整合技术研究十分迫切;③在异构整合功能开发的过程中,需要充分考虑扩展性、灵活性和自适应性,设计一个通用的转换方案或平台以满足不同异构转换场景。

2 基于ETL的异构整合关键技术分析

2.1 语义映射关系的自动创建

源数据库和目标数据库的映射关系是实现数据转换的基础,其创建依据是对应的数据标准或数据字典,主要面向要素代码、图层名称和属性名称3个层面,如表1所示。通过源描述与目标描述进行语义匹配可自动创建映射关系,再以数据字典为辅助完善映射关系,该方式能大量减少人工作业,形成的语义映射文件能重复应用于大批量数据库异构整合中。语义映射的关键是确保要素、属性、图层都能找到各自的映射,通过映射关系在数据转换后实现数据结构逻辑的重新组织,并解决形式表达层面上的冲突。

表1 映射关系示例

2.2 异构整合的ETL关键环节

从ETL理论技术角度分析异构整合,即以海量、复杂、多样的地理空间数据库为数据源,从中按需提取,再经过数据清洗、加工、整理和转换等步骤,最后装载至目标框架结构数据库中。

1)数据清洗。时空地理数据库作为数据转换的数据源难免存在不合规范的数据,数据清洗的目标是分析找出数据缺失(如水系面丢失常水位岸线、丢失水系交汇线、水系对象线等)、数据重复(如要素自重复、要素唯一编码重复等)、要素代码异常(如超出要素代码表、要素图层错误等)和属性不规范(如小数取位不正确、属性赋空不正确等)等问题数据,并进行处理。在数据清洗环节设计自动化检查和处理算法,开发工具集实现数据补缺、数据自动化去重、属性规范化,对于保证数据转换的正确性具有重要意义。

2)数据转换。数据转换的前提是已有基于数据字典创建的映射关系表,但不排除数据库与数据字典存在属性字段命名或类型冲突,因此考虑先进行数据库结构框架的自动提取,并与数据字典进行对比,在确保数据库符合对应数据字典要求的条件下再开展数据库的异构转换。为适应不同的异构转换场景,本文采取调用要素代码映射表、图层映射表、属性字段映射表等外部配置表的方式实现源数据库向目标数据库的异构转换。

3)数据重新装载。由于可扩展标记语言(XML)能对文档结构和数据进行约定,在实现数据信息标准化、统一化和共享上具有独特优势[15],因此在异构整合前先创建或在ArcGIS平台下导出目标框架结构XML文件,再通过外部调用该文件,从而保证将源数据库精准地装载至目标框架结构的数据库中。

2.3 数据库异构整合的异常问题

在地理空间数据库的ETL过程中,必不可少地会面临数据源异常和转换过程异常等问题,如数据源中要素代码所指要素放错层、数据源中要素代码异常、数据转换过程中要素与目标图层的几何类型不一致(面转线、面转点、线转面、线转点等如表2所示)、要素几何类型特征码与实际要素几何类型不一致(表3)等问题。

表2 属性类型冲突示例

表3 几何类型冲突示例

在异构数据库的整合转换中,应考虑数据库的完整性和安全性以及转换过程的稳定性和抗干扰性。鉴于异构数据库整合转换中错误常发生在最后的数据写入阶段,为减少耗时本文采用前置异常冲突检查、对异常数据标记分流输出的处理方式,在ETL完整执行后再对异常数据库进行修改处理。

3 在线异构整合的设计与实现

3.1 异构整合功能模块的开发

本文通过对异构整合关键环节的分析梳理,构建了异构整合技术流程,如图3所示。FME Workbench中内置了上百个转换器,可支持数据库的快速ETL实现,其中PythonCaller转换器能调用ArcPy、FME Objects和sys等函数类库,从而为FME+Python+ArcPy的集成和拓展提供无限可能,Schema Maper等转换器能快速实现属性映射。

图3 时空地理数据库异构整合技术流程图

基于FME进行异构数据库整合转换功能开发时,只对源数据库进行读取操作,不会因异常而回滚全部操作,能避免破坏源数据库。此外,本文采用外部配置表作为映射关系约束,以目标数据库XML框架文件为输出结构约束,从而提高转换的自适应性和正确性。其主要子功能模块包括数据库框架结构提取、要素属性预检查、水位岸线与交汇线自动生成、映射关系表自动创建、异常数据检查输出、匹配数据自动转换等,最终形成全流程异构整合工具集发布至FME Server。

3.2 在线异构整合平台开发与应用

FME平台通过引入在线空间数据ETL技术,可建立基于SOA的空间ETL服务,其多节点的并行处理能力为海量数据的快速整合提供了支撑。因此,联合

FME平台的Server和Integration的API接口进行在线异构整合功能的二次开发。其关键技术路线如图4所示。

图4 在线异构整合开发关键技术

管理员在后台进行目标数据库模板XML、代码映射表、图层映射表、属性字段映射表和输出结果路径等统一参数的预配置,用户即可访问前端主页,实现本地时空地理数据库的一键上传和在线异构整合结果的一键下载,如图5所示。通过浙江省新型测绘体系数据库整合建设项目的大量应用,验证了本文研究成果在时空地理数据库异构整合中的正确性、完整性、高效性和灵活性。

图5 时空地理数据库在线异构整合的应用

4 结语

本文借助ETL理论,提出了一套科学、标准化的数据库异构整合处理流程,并基于FME提供的ETL技术和ETL服务进行二次开发;采用读取数据库框架XML文件、图层、属性、代码映射表等外部文件的方式,实现了海量多源异构时空地理数据库的在线高效精准整合,为构建全省框架结构统一的地理空间数据库提供了一种集约型的解决方案,对优化地理空间数据库的生产组织模式以及进一步提升自然资源数据支撑效率和数据服务质量具有一定的参考意义。

猜你喜欢
异构图层字典
试论同课异构之“同”与“异”
字典的由来
吴健:多元异构的数字敦煌
解密照片合成利器图层混合模式
大头熊的字典
异构醇醚在超浓缩洗衣液中的应用探索
正版字典
LTE异构网技术与组网研究
跟我学添加真实的光照效果
国外建筑CAD图层标准发展现状与研究