淮河流域基础空间数据库建设方法研究

2012-04-30 01:56李凤生彭顺风黄大鹏
水利信息化 2012年4期
关键词:淮河流域空间数据数据库

李凤生 ,彭顺风 ,黄 云 ,黄大鹏

(1. 淮河水利委员会水文局(信息中心),安徽 蚌埠 233001;2. 中国气象科学研究院,北京 100081)

0 前言

随着新一轮治淮工作的推进和淮河水利委员会第一次全国水利普查工作的开展,以及淮河流域管理数字化工作的不断深入,高精度地形、高分辨率影像、数字高程模型和水利工程数字化成果等数据不断生成和更新,淮河流域的空间数据呈现大幅增长的趋势。这些数据具有海量,多类型、属性、来源、时相等特点,如何科学地组织和管理这些海量数据,更好地为治淮工作提供基础数据服务,不仅是流域数字化管理的基础工作,也是今后淮河水利委员会信息中心日常管理和对外服务的重要内容。

为此针对淮河流域空间数据的特点及应用要求,分析和选取合适的空间数据库组建模式,研究数据的组织模型,设计淮河流域基础空间数据库,规范数据的入库流程,实现淮河流域空间和属性数据的统一存储管理,并对空间数据库的性能优化进行探讨,以形成具有流域特征的空间数据库的建设方法。希望通过研究,为流域管理数字化提供合适可行的空间数据存储与管理方法,为“数字流域”的建设提供数据支撑。

1 空间数据库模式分析

空间数据因其固有的复杂性和特殊性,一般商用数据库管理系统难以满足要求。空间数据的管理方式与数据库技术的发展紧密联系,除文件管理方式外,围绕空间数据管理方法,出现了以下几种模式[1]:

1)文件与关系数据库混合模式。采用地理信息系统(GIS)软件文件存储和管理几何图形数据,属性数据则存储于关系数据库中,两者通过目标标识码相连接。这种管理模式下,几何图形和属性数据独立组织、存储和管理,并非真正意义的空间数据库。文件系统的数据管理功能较弱,在安全性、一致性、并发访问控制和数据恢复等方面缺少基础功能。

2)全关系型空间数据库管理模式。这种模式完全依靠普通关系型数据库管理系统(RDBMS)管理图形和属性数据。有 2 种方式,一种是基于关系模型的方式,按关系数据模型组织图形数据,因涉及一系列关系连接运算,这种方式相当费时;另一种方式是将图形数据的变长部分处理成二进制块字段,省去大量的关系连接操作,但二进制块的读写效率较低,涉及对象嵌套时速度很慢。

3)对象—关系数据库管理模式。以关系数据库为核心引入面向对象机制,利用面向对象建模的能力,提供复杂数据的复式查询支持,是面向对象和关系型数据库管理系统的结合。有 2 种方式,一种是“嵌入式”空间数据库引擎,由数据库软件厂商在关系型数据库中进行扩展,添加专用模块实现空间数据变长记录的管理,但无法解决空间对象的嵌套问题,且数据结构也不能由用户任意定义,使用上受到一定限制;另一种方式是“中间件”空间数据库引擎,由 GIS 软件厂商在现有关系型数据库的基础上增加面向对象的数据模型,利用空间数据引擎将地理空间数据查询语言转化成标准的 SQL 查询语言,并且借助数据的空间索引实现对空间数据的操作。

4)面向对象的空间数据库管理模式。面向对象模型适用于空间数据的表达和管理,支持变长记录、对象的嵌套、信息的继承与聚集,而且允许用户定义对象。但目前面向对象数据库管理系统还不够成熟,在 GIS 领域还不大通用。

通过分析,面向对象的空间数据库管理模式虽然先进,但目前尚不成熟且价格昂贵,因而对象—关系数据库是比较理想的选择,并将成为 GIS 空间数据库发展的主流[2]。考虑到淮河流域空间数据特点及应用需求,选用基于 ArcSDE 中间件空间数据库引擎的方式,构建对象—关系型空间数据库,数据库软件则选用业界领先的产品。Oracle + ArcSDE 的典型应用方式是目前国际上最先进的地理信息管理方案之一[3]。这种方式提供强大的地理信息存储访问机制,对于多种空间数据,尤其是海量的栅格影像数据,使用 ArcSDE 的压缩二进制存储方式,创建影像金字塔可以大大节省存储空间,提高检索和并发访问的响应速度。此外,ArcSDE 具有强大的空间分析功能,提供丰富的应用程序接口,能够满足水利空间数据的多样化查询和展现要求。

2 数据组织模型

2.1 空间参考

淮河流域空间数据库采用 2000 年国家大地坐标系统作为基准坐标系统,高程基准采用 1985 国家高程。

矢量数据采用地理坐标。地理坐标的数据连续性解决了跨带问题,保证了地理对象的完整性,便于数据库的查询检索和分析应用[4]。需要进行坐标转换和投影变换,但矢量数据转换速度快,不改变拓扑和属性的关联等关系,无精度损失。当需要制图或分发数据时,可以将地理坐标转换成相应坐标系统后输出。

栅格影像数据采用高斯平面坐标。栅格数据投影转换不仅费时,而且需要进行重采样处理,对影像质量和数据精度都有影响。而采用高斯平面坐标,在相同投影带范围之内的工程项目可以直接使用数据,可避免数据的投影变换。

2.2 数据模型

基于空间数据库的模式分析,淮河流域空间数据的组织采用 ArcSDE Geodatabase 数据模型,这是一种面向对象的空间数据库模型,通过 ArcSDE 在关系数据库中实现。Geodatabase 以层次结构的数据对象组织地理数据,包含以下 4 种地理数据的描述方式:要素的矢量数据,影像、专题格网和地面的栅格数据,地面的不规则三角网,地理位置的地址数据[5]。

淮河流域的空间数据一般存储为矢量、栅格数据,以及传统意义上的属性表。对于矢量数据,要素类以 1 组表格来存储,要素表存储要素类的几何坐标、位置信息;空间索引表存储要素类的索引格网和要素的封装边界;业务表存储要素类的属性数据。由于水利行业自身特点,要素属性信息类别多、专业性强,无法简单存储于业务表中,通常直接调用各专用数据库表,通过建立要素关联关系,实现空间数据和专业属性数据的关联。对于栅格数据,由于数据量较大,数据被转换成 SDE 的栅格数据格式,并分成若干数据块存放于单独的块表记录中。同时创建多重分辨率的栅格数据金字塔,并建立空间索引,提高栅格数据的检索和实现效率。

基于多用户的 ArcSDE Geodatabase 利用底层关系数据库的优点,能够实现:支持海量、连续的 GIS数据库;多用户的并发访问;长事务和版本管理的工作流[6]。

2.3 组织模型

淮河流域空间数据主要由数字线划图(DLG)、数字高程模型(DEM)和遥感影像 3 类数据组成。这些数据必须按照一定规则组织起来才能协同使用,在统一的坐标系统下,DLG 数据作为空间数据的纽带,DEM 基于 DLG 生成,而遥感影像数据则依赖 DLG 和 DEM 进行几何和正射校正,数据组织模型如图 1 所示。

图1 淮河流域空间数据库数据组织模型

对于空间与水利专业属性数据的集成,采用代码对应的方法,将图形要素的代码与专业属性数据库的标识码一一对应,建立关联关系表形成数据的统一体,从而实现 2 类数据的统一存储和集成使用。

2.4 元数据组织

空间数据的元数据库内容分为基本元和完全元2 个级别的数据。基本元数据内容主要包括基本识别(标题名称、地理范围等)、数据组织(数据结构等)、空间参考(参考坐标系、编码方法等)、数据质量(空间位置和属性的精度、完整性、一致性及数据生产的方法等)、数据来源及其他参考等信息;完全元数据用于全面详细描述数据集,数据集系列、要素和属性,包括主要元数据子集的 8 个信息,即:数据集基本、单位与发行、关键词、坐标范围、数据更新记录、空间数据、图层数据和非空间数据描述等信息。

3 数据库建设方法

3.1 数据库结构设计

数据库设计包括逻辑和物理设计。物理设计包括数据库的物理结构,存储结构、方式等。基于空间数据库模式和 Geodatabase 数据模型,淮河流域空间数据库的逻辑层次结构划为 5 级:总库—分库—子库—逻辑层—物理层。

1)总库。由于 ArcSDE 未提供 Geodatabase 之上的物理存储概念,因此总库的命名通过 Oracle 数据库中自定义的数据结构定义。总库命名为淮委的拼音缩写“HW”,别名为“淮河流域基础空间 01 数据库”。

2)分库。总库下按照数据来源的比例尺等级划分分库,每级比例尺的数据作为 1 个分库。同总库一样,分库的命名也是通过 Oracle 数据库中自定义的数据结构定义。分库的命名规则如下:1∶250000 为“250K”,1∶50000 为“50K”,1∶5000为“5K”,别名为“**万空间数据库”。

3)子库。每个分库按数据的形式划分子库(数据集),每种数据形式对应 1 个子库,共分为数字线划图、高程模型、遥感或正摄影像等数据库。子库对应于 ArcSDE 的数据集,命名规则如下:矢量数据库为“DLG”,数据高程模型数据库为“DEM”,数字正射影像数据库为“DOM”,数字栅格地图数据库为“DRG”,地名数据库为“PN”。

4)逻辑层。对于数字线划数据库按照地理要素的分类进行逻辑分层,每个逻辑层按要素类进行物理分层。

5)物理层。SDE 中相对应要素类的命名规则为总库名 + 分库名 +“_”+ 子库名 +“_”+ 逻辑层代码 +“_”+ 物理层层代码。例如 1∶50000 DLG“河流”面层的完整 Feature Class 名为HW50K_DLG_HELIU_PY。

3.2 数据入库流程

淮河流域空间数据库建设的数据入库流程如图 2所示,可分为以下 5 个步骤:

图2 数据入库流程图

1)规范化处理。原始成果数据的差别是客观存在的,若不进行必要的规范化处理,则无法满足建库的要求。规范化处理过程主要包括:数据分析、要素加工整理、代码及属性转换、坐标变换、数据接边和重构拓扑等。

2)数据检查。对规范化处理的成果进行检查,主要包括数据格式、数据完整性、分层类型、编码等检查工作,不符合要求的需进行重新处理。

3)数据转换与整理。数据转换与整理过程是数据入库过程中的重要环节,数据转换包括格式、代码转换,图层重新定义等;整理工作包括图形,空间、符号和文字属性等整理内容。通过转换与整理,解决数据格式、分层分类编码等方面的差异。

4)数据审核与验收。以数据的规范性、完整性、正确性为原则,对数据的定义和组织、数据精度、图形空间关系、属性逻辑关系、图属一致性、图幅接边等进行全面审核。质量验收是在数据质量检查的基础上依据验收标准对数据质量进行评价,从而决定验收与否。数据审核与验收是空间数据入库前必不可少的工作内容,是空间数据库质量的重要保证。

5)数据入库。合理设置入库参数,将质检合格的空间数据入库,可借助 ArcCataLog 或专用软件导入。

3.3 时态管理

空间数据的时序变化管理一直是 GIS 应用面临主要的问题,ArcSDE 空间数据版本管理(Versioning)为解决这一问题提供了有效的途径。淮河流域空间数据库的时态管理借助于 ArcSDE 空间数据版本管理功能实现,对于不同的数据变化,ArcSDE 生成不同的“版本”,实现对数据变化的跟踪,只要指定某一版本(名称),即可得到当时的空间数据,并能够在此基础上进行进一步操作,从而实现空间数据的时态管理。

3.4 数据库性能优化

随着数据量和访问用户数的增长,性能压力将成为制约空间数据库的主要因素,为保证响应速度和服务质量,需要对数据库进行调优。性能优化涉及环节较多,需要在数据库设计、建设和管理维护中统筹考虑,并且须按照一定的顺序进行,避免前后调整之间相互影响。结合 Oracle 数据库服务器优化和 ArcSDE 的调优,淮河流域空间数据库的性能优化主要从以下几个方面考虑:

1)合理布局数据库,减少磁盘 IO 次数。在任何 GIS 数据库中,磁盘 IO 速度对整个系统性能有重要影响,磁盘的 IO 争用往往是数据库性能的瓶颈[2]。创建数据库时,建立空间数据库的临时表空间,避免与其它应用共同占用默认的临时表空间,尽可能将联机日志、数据、临时表空间等文件,以及索引表、回滚表空间分散到各个磁盘上,减少数据库文件 IO 竞争,从而有效改善服务器的性能。对于磁盘阵列,需合理规划 RAID(磁盘阵列)方式,其中 RAID10 的读写效率和安全性高,适合存放控件文件、系统表空间、临机日志文件等;RAID5 方式能获得更大的存储空间,且连续读的效率高,适合存储空间数据库的数据文件。为减少数据链接和行迁移,提高磁盘空间的利用率,在数据库设计时要确定合适的数据块大小和存储参数,推荐将DB_Block_Size 设置为 16 kB;

2)调整参数和内存分配。调整 Oracle 和ArcSDE 的相应参数,合理配置资源,提高内存的利用率;Oracle 系统全局区(System GlobalArea,SGA)本身需要频繁地进行释放、分配,应把 SGA放在主存中,不要放在虚拟内存中。典型的内存分配为:一半物理内存给 SGA;另一半物理内存分配给操作系统、Oracle 的存储过程和 ArcSDE;共享池通常使用默认值;增加内存时,应重点给块缓存,其他使用默认值以提高系统性能。

3)调整空间索引。ArcSDE 使用格网索引机制,分为 3 级层次,是覆盖整个要素类的二维索引。调整索引层次将会影响空间索引表的大小,由于空间数据的差异性,没有统一配置的模式,需尝试调整以达到最好性能,并定期重建索引以提升数据查询的性能。

4)创建视图。对于重复的查询,可采用创建视图的方式加快查询速度,提高表空间的检索效率。

4 结语

根据流域数据特点和应用需求,基于 ArcSDE+Oracle 对象—关系空间数据库方式构建流域基础空间数据库,通过合理数据模型组织和数据库结构设计,在同一坐标系统下可实现大规模、多类型海量空间数据的统一管理,提供强大的地理信息存储访问和分析功能。基于此方法建设的淮河流域空间数据库在流域日常管理中发挥了重要作用,其数据组织模型和建设方法也可应用于其它流域或类似级别的空间数据库建设。以该数据模型为基础,可继续将水文时间序列数据、人文要素纳入到流域数据模型中,建立完善的水文时空数据模型,进一步探索时空数据动态结合反映水文自然过程的变化规律。

[1]龚健雅. 空间数据库管理系统的概念与发展趋势[J]. 测绘科学,2001, 26 (3): 4-9.

[2]东凯,方裕. 空间数据库模型概念与结构研究[J]. 地理信息世界,2004, 2 (2): 8-16.

[3]赵村民,宋利好,赵晓民. 基于 Oracle 与 ArcSDE 的空间信息访问优化[J]. 吉林大学学报(信息科学版),2004, 22 (3): 283-288.

[4]喻冰春. 基于ArcSDE的省级空间数据库管理系统的设计与实现[D]. 长春:吉林大学,2006: 30-31.

[5]张佐帮,尚颖娟. 基于 Geodatabase 的面向对象空间数据库设计[J]. 地理空间信息,2005, 3 (2): 33-35.

[6]张耀波,张迁. 基于 GeoDatabase 海量地理信息数据的组织与管理[J]. 地理空间信息,2011, 9 (3): 44-50.

猜你喜欢
淮河流域空间数据数据库
淮河流域省级河湖长第一次联席会议召开
魏山忠副部长率队赴淮河流域安徽、山东开展汛前检查
淮委研究部署淮河流域推进河长制工作
数据库
数据库
元数据驱动的多中心空间数据同步方法研究
数据库
数据库
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略