基于剖分网格的空间数据高效拼接与快速提取方法

2015-04-14 10:46:56    来源:中国地理信息产业协会

摘要:现有海量空间数据拼接与提取的效率低,造成应急保障时效性较差。针对这一问题,本文提出了一种基于剖分网格的空间数据高效拼接与快速提取方法。

0 引言

  高效的数据拼接与快速提取是提升空间数据使用效能的基础,然而,现有海量空间数据拼接与提取过程中,没有充分发掘空间数据具有的区域特征所带来的潜能。在某些突发事件情况下,从海量空间数据中拼接与提取应急目标区域数据,非常耗时。如,在灾害应急响应中,常常要将灾害区域几TB甚至几十TB的空间数据(遥感影像、DEM、基础地理空间数据等)提供给救灾指挥中心使用,需要拼接成完整的大图,并要求多种尺度的数据能快速提取,这一过程常常耗时十几小时甚至数天,严重制约了应急响应的时效性。

  针对上述问题,本文提出了一种基于剖分网格的空间数据高效拼接与快速提取方法。核心思路是:以GeoSOT全球剖分网格为基础[1],实现空间数据的剖分组织;依据该组织模型,实现大到整个数据集小到数据内部块的统一逻辑拼接与多尺度提取。试验证明:在该体系的支持下,可建立大区域剖分网格基础上的拼接与快速提取,不仅克服了空间数据数据量大的限制,而且数据提取尺度更灵活、提取效率更高。


1 GeoSOT剖分网格及其编码

  GeoSOT剖分属于等经纬度的四叉树剖分网格体系,核心思想是将整数“度”及整数“分”级网格在逻辑上进行外延,使其成为整数特征网格,编码能够采用整型一维数组表示,网格划分与编码方法更为合理,适合不同层次地理对象的编码与表达。

  GeoSOT剖分框架的0级网格定义为:以赤道与本初子午线交点为中心点的512°×512°方格。1级网格在0级网格基础上平均分为4份每个1级网格大小为256°×256°,如图1所示。2级网格在1级网格基础上继续四分,每个2级网格大小为128°×128°,剖分2级网格没有实际地理意义不再向下划分。其他2级网格虽然有部分区域落在实际地理区域范围之外,仍然可以作为一个整体进行下一级网格划分,这种原则同样适用于以下网格的划分。32级网格按照四叉树剖分原则依此类推。GeoSOT剖分9级网格大小为1°×1°,9级以上网格为度级网格,10级剖分网格首先将网格的起始数值空间大小由60′即1°外延到64′,以64′×64′大小平均分为4份每个10级网格大小为32′×32′,10~15级网格为分级网格,剖分形式按照上述规则递归。16~21级为秒级网格。秒级网格剖分方式参照分级网格,秒以下22~32级网格严格按照四分方法进行剖分和编码[2,3]。


1.jpg

图1 GeoSOT剖分网格剖分方案

Fig.1 GeoSOT subdivision scheme


  根据GeoSOT网格的剖分框架设计,每个网格面片赋予唯一编码,即GeoSOT网格编码。该编码保持整数“度、分、秒”量纲,并有多种编码形式。本文采用四进制1维编码以“G”开头,度、分、秒级编码以“-”隔开,秒级以下以“.”隔开,其形式可表示为“Gddddddddd-mmmmmm-ssssss.uuuuuuuuuu”。其中d、m、s、u取值为0、1、2、3[2,3]。


2 多源空间数据剖分组织方法

  GeoSOT全球剖分网格能够兼容现有的标准图幅,并且网格尺度灵活 [2],因此,选择GeoSOT网格作为空间数据标识和内部逻辑分块编码的框架,构建统一的GeoSOT网格索引。在同一个数据结构中,实现大到数据集小到数据内部块的逻辑组织。


2.1 空间数据 GeoSOT标识原理

  GeoSOT区位标识是在GeoSOT剖分格网框架下,采用空间数据外廓的某个角点面片为位置向量,沿纬向和沿经向面片的跨度为尺度向量,以该尺度的聚合编码来描述空间数据所占据的空间范围、空间位置、空间尺度及空间构信息,建立将空间定位、尺度、范围和结构集于一体的三元组(C0,M,N)。如图2所示,C0为角点定位面片编码,用来标识空间数据的基准面片,相当于坐标原点,且坐标的方向与角点定位面片所在的位置相关,M为沿纬向的面片跨度,N为沿经向的面片跨度,M和N取值范围为{1,2,…,n}[4]。


2.jpg

图2 GeoSOT区位标识编码的定义[4]

Fig.2 Definition of GeoSOT location identification


  栅格数据的GeoSOT网格标识。选择某一剖分层级,对空间数据的外廓空间范围进行面片的聚合,用(C0,M,N)方式记录面片编码集合。如图3所示,以卫星分景数据为例,四角点的经纬度坐标连线与经纬度网线夹角是可计算的,得到外廓矩形左下角点所在的面片为角点定位面片,分别记录纬向面片个数M和经向面片个数N[4]。


3.jpg

图3 栅格数据GeoSOT区位标识编码方法示意图[4]

Fig.3 GeoSOT location identification for grid data


  矢量数据GeoSOT网格标识。选择某个剖分层级作为标识的精度,用点、线和面所落在的网格集合进行标识。如图4所示,以面数据为例,确定面所落在的网格范围,左下角点所在的面片为角点定位面片C0,再沿纬向方向M记录每行面片的起止位置(j,k),且起止位置之差即为该行沿经线方向上的面片跨度N[4]。


4.jpg

图4 矢量数据GeoSOT区位标识编码方法示意图[4]

Fig.4 GeoSOT location identification for vector data


2.2 多源空间数据统一组织

  以GeoSOT剖分网格编码为主键,在同一个数据结构中记录多源空间数据的属性和存储信息。如图5所示,以最小外廓剖分网格编码作为数据的粗标识,使用数据的C0MN编码作为数据内部的精细标识。同一个网格标识下的多个数据的组合,构成了该网格的数据集。多个数据集在空间上有包含、相邻和相离三种空间关系。相邻和相离情况下,按照数据集最小外廓网格编码的长度和顺序,在数据结构中并列记录。有包含关系的数据集,在数据结构中按照数据集的父子关系记录。同样,数据之间也按照最小外廓网格的空间关系记录。通过以上方法建立了数据集、数据到数据内部的多层次记录,实现了不同图幅规格的数据在GeoSOT网格下统一组织,如图6所示。


5.jpg

图5 单个空间数据标识示意图

Fig.5 Single spatial data identification diagram


6.jpg

图6 空间数据统一标识示意图

Fig.6 All spatial data unified identification diagram


  剖分组织结构在逻辑上是一种树形结构。树的节点对应的是数据或数据集的最小外廓网格,树形结构节点间的关系对应了网格间的空间关系,如图7所示。剖分组织的树没有空节点,树的每个节点都包含有数据或数据集。某个子树下的所有节点,记录的是该子树所在剖分网格所有低层级网格的数据。由于没有空节点,且数据对应的网格不完全是包含关系,因此,可能不止有一个根节点。该树形结构是剖分组织的逻辑实现,也是设计剖分组织数据结构的依据。


7.jpg

图7 剖分组织树状结构示意图

Fig.7 The tree structure of subdivision organization diagram

  实现剖分组织结构,要考虑到三点,第一,剖分组织记录格式应该基于一种常见的数据格式。第二,该格式可以支持树的存储,在结构上能够记录嵌套的关系,而且不限嵌套关系深度,可以多个连续的嵌套。第三,由于空间数据会有数量较多的小文件或者数据条目较多,要求该数据结构格式能够支持快速检索。依据上述需求,剖分组织结构采用脚本方式,利用可扩展标记语言XML(eXtensible Markup Language)作为记录的方法。XML的软硬件无关性,使得它通常被设计用来数据存储、交换和共享,XML最大优势就在于其强大的数据交换能力,通过XML可以极大地减少数据交换的复杂性。由于XML数据以普通文本格式存储,能够被多种的系统识别[4-7]。


3 基于剖分网格的空间数据高效拼接与快速提取方法

3.1 空间数据高效拼接方法实现

  空间数据高效拼接是在逻辑上将不同图幅规格数据组织成“一张图”。首先,根据数据的地理坐标范围,确定最小外包面片MBC(Minimum Bounding Cell),并将MBC面片编码作为整幅数据的标识,写入剖分索引中。然后,根据数据的空间分辨率确定所在GeoSOT层,利用GeoSOT剖分面片单元四个角点坐标与地理坐标对应关系,按GeoSOT网格剖分面片空间范围对数据进行“虚拟划分”,即逻辑剖分,由此建立基于GeoSOT剖分面片编码的剖分索引。由于GeoSOT网格剖分面片连续覆盖地理空间且大小固定,与剖分面片关联的所有空间数据形成虚拟的“一张图”。

  空间数据逻辑剖分索引是空间数据与剖分网格的映射关系的记录,将像素区域与地理空间对应,能够按照空间范围读取数据内的局部区域。空间数据逻辑剖分索引文件由索引文件头和数据索引体两部分组成,如图8所示。其中,索引文件头由文件范围、剖分层级、剖分面片行数和剖分面片的列数等信息组成。数据索引体则是由多个剖分面片索引信息组成,其中每个剖分面片索引信息由剖分面片编码和剖分面片对应空间数据的上、下、左和右四个角点行列号信息。剖分逻辑索引文件以gsot为后缀,文件名与数据名称相同,并且存储在同一目录下。


8.jpg

图8 逻辑剖分索引文件结构图

Fig.8 The structure of logical subdivision index file


  该索引表以GeoSOT网格编码为主键,不同分幅大小的数据都能以GeoSOT编码为通用的索引项记录。通过遍历每一个索引项,就可以对所有异构的空间数据进行统一的检索,并且,由于记录了数据内部的逻辑剖分分块编码,可以支持文件内部数据块搜索。


3.2 空间数据快速提取方法实现

  GeoSOT剖分组织结构接入现有的数据管理体系时,由于已经预先完成了多源异构数据的整理工作,并且组织结构本身具有强大的交换能力,能够直接按照空间范围提取数据。

  剖分组织结构接入,可以看作是与接入的管理系统元数据建立映射关系。对数据库表来说,如果知道了表中每一个字段和剖分组织结构中字段的映射关系,那么,剖分组织结构的接入,实际上是建立记录与字段间的映射关系。从数据库内部提取某一个空间区域的数据,是按照内部的格网编码作为查找字段,而从剖分组织结构中提取数据时,是按照数据库内部的网格与剖分网格的映射关系,生成剖分编码形式的外关键字段进行查找,如图9所示。区别于数据库内部关键字段,外关键字段指的是可以被剖分组织结构识别的字符,是以GeoSOT网格编码为主键的操作命令[5-7]。


9.jpg

图9 GeoSOT代码与数据库主键映射示意图

Fig.9 GeoSOT code and database primary key mapping


  在数据提取时,先要将XML格式的剖分组织结构转换成数据库能够识别和操作的文档格式。调用XML-DBMS[8]将剖分组织结构转换成数据库能够直接操作的对象。XML-DBMS是用JAVA编写的开放源代码的中间件,其中的一个类DOMToDBMS是将数据从XML文档转换到数据库,根据一个给定的映射文件将数据从XML文档的DOM树转换到数据库中。DOM(Document Object Model)[9]即文档对象模型,允许程序或者脚本动态的获得并更新XML文档的内容结构和类型。数据库直接操作DOM获得剖分组织结构的数据记录信息。

  通过剖分组织结构与数据库的外关键字映射,将数据的空间范围转换成剖分编码的集合,从记录中查找。与表中的编码项进行比较,从左至右匹配编码的每一位是否相同,若有其中的某一位不同,则舍弃该项,对下一个编码项进行匹配。若网格编码和剖分组织结构中的编码项匹配,相同位数已经的匹配到两者中任一个的最后一位,则记录该编码项。根据匹配的结果可以分为三种处理方式:

  (1)当剖分组织结构中的编码长于提取空间区域的GeoSOT编码时,将该编码项以及其全部子数据项的数据信息。

  (2)当剖分组织结构中的编码短于提取区域的GeoSOT编码时,直接查询数据C0MN标识编码中的是否能够匹配编码。同时,进入该数据项的下一层级的网格编码进行匹配。

  (3)当剖分组织结构中的编码提取数据的GeoSOT编码时,直接查询该编码项以及其全部子数据项的数据信息。

  依次提取剖分编码集合中的每个编码项,按照上述流程在剖分组织结构中查找,即可获得提取空间范围内所有空间数据。


4 实验

4.1 实验内容

  为了验证基于剖分组织的空间数据高效拼接与快速提取方法的有效性,设计了与传统空间数据提取方法的对比实验。

  (1)传统的数据提取。选择ArcSDE为空间数据引擎,空间数据接入系统,物理拼接生成整个数据文件,记录该过程的耗时。在物理拼接生成一个数据文件的基础上,提取指定空间范围的数据,记录耗时。

  (2)基于剖分组织的空间数据快速提取方法。将剖分组织结构接入数据库,建立与数据库的操作连接,并记录接入数据库的耗时。通过剖分组织结构提取指定空间范围的数据,记录耗时。

  实验数据选择了数字高程模型数据DEM和正射影像数据DOM。其中,DEM的空间范围为(102°E-120°E,38°N-40°N)1:5万规格的数据,空间分辨率为1″×1″。DOM的空间分辨率分别为5m,文件格式为TIF。表1为实验数据信息统计。


表1 实验数据信息统计表

Table 1 Experiment data statistical information

01.jpg


  试验是在一台CPU主频为2.4GHz、内存为2GB、硬盘转速为7200rpm大小为740GB的PC机上进行的。试验的软件包括:操作系统为Microsoft XP操作系统,开发系统为Microsoft Visual studio 2008,数据库系统为Oracle 9i,空间数据库引擎ArcSDE 9。


4.2 试验结果与分析

  分别对DEM和DOM,以及这两种数据共同的方式,采用常规入库和剖分接入的方式加入数据库系统。由于空间数据专业管理的需要,要对数据进行复杂的拼接、格式转换等工作,由表2结果可知,空间数据库入库耗时,远远大于通过剖分组织数据结构接入数据库的耗时。


表2 数据入库\接入耗时统计

Table 2 Data warehousing \accessing time consuming

02.jpg


  在数据接入到数据库系统之后,以 1.5°×1°、1°×1°、0.5°×0.5°和10″×10″四个空间区域大小,分别按照常规方法和剖分方法随机提取数据试验。

  效率提升值方法:

  提升值=(常规提取耗时-剖分提取耗时)/常规提取耗时

  综合效率提升值的计算方法:

  综合效率提升值=(常规耗时-剖分耗时)/常规耗时

  由表3统计结果可知,在数据提取过程本身而言,剖分方式比现有的数据库方式有10%左右的效率提升;尤其是,考虑到数据提取综合耗时还应该包括接入到数据库系统的过程,数据提取综合效率提升值超过90%,基于剖分网格的空间数据快速提取方法的速度提升十分明显。


表3 数据提取耗时统计

Table 3 Data extraction time consuming

03.jpg


5 结论

  本文提出的基于剖分组织的多源空间数据高效拼接与快速提取方法,针对应急情况快速提取的特定应用场景,实现大到整个数据集小到数据内部块的统一逻辑拼接与多尺度提取。通过实验验证,本文提出的方法可以大幅提高空间数据在应急提取的效率。


参考文献

  [1] 程承旗, 任伏虎, 濮国梁, 等. 空间信息剖分组织导论[M]. 北京科学出版社, 2012

  [2] 宋树华, 程承旗, 关丽, 等. 全球空间剖分数据模型分析[J]. 地理与地理信息科学, 2008, 24 (4) : 11-15.

  [3] 吕雪锋, 廖永丰, 程承旗, 等. 基于GeoSOT区位标识的多源遥感数据组织研究[J]. 北京大学学报: 自然科学版, 2014, 50(2): 331-340

  [4] 欧阳峥峥, 李禹生. 基于XML的异构数据库数据交换中间件的研究[J]. 计算机与现代化, 2008(12)

  [5] 李钟隽. 基于XML数据迁移中间件的研究[D]. 哈尔滨哈尔滨工程大学, 2007

  [6] 郑仕勇, 王亚伟, 曹忠锋, 等. 数据迁移技术在社保业务中的应用研究[J]. 计算机与现代化2010(16): 180-183

  [7] 杨建武, 陈晓鸥. XML相关标准综述[J] .计算机科学, 2002, 29 (2): 25~28

  [8] Arnaud Le Hors, Philippe Le Hégaret, Lauren Wood, etc. Document Object Method (DOM) Level 3 Core Specification Version 1.0, W3C Recommendation[EB] 07 April 2004.

  [9] Ronald Bourret . XML and Databases[DB], 2004.


作者简介:席福彪,程承旗,陈波


声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。