APP下载

基于瓦片技术的遥感影像库设计与实现

2013-01-14唐伟广

无线电工程 2013年6期
关键词:图幅瓦片分块

唐伟广,马 健

(中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

随着各种机载和星载传感器的应用,不断地推动了遥感技术发展,已经能够获取某些重点和热点区域的多波段、多时相和多分辨率数据,影像数据量也呈几何级数增长。遥感影像数据作为一种信息的载体,面向军事、资源、环境和防灾等领域的应用变得越来越广泛,如何组织和管理这些海量数据,使遥感影像数据能够更加有效地发挥作用,将成为遥感影像处理的研究方向之一。数据分块、瓦片技术和空间索引技术作为基础的影像数据存储技术得到了广泛应用。因此,设计一个可靠实用的影像库将给遥感影像的社会应用带来巨大的价值。

1 遥感影像库系统总体设计

本遥感影像库系统基于C/S结构设计,通过影像数据管理和影像数据浏览实现对不同传感器、不同时间分辨率和不同空间分辨率等正射影像数据管理。系统设计包括遥感影像库设计和应用软件设计[1],其中遥感影像库设计是对基础数据库结构的设计和数据库对象操作的设计;应用软件设计是面向用户的功能模块的设计。

1.1 遥感影像库设计

遥感影像库的关键在于如何高效地组织管理影像数据,而合理的数据库结构将减轻系统负担,提高数据访问速度[2]。PowerDesigner是很好的数据库设计工具,利用该工具设计了影像库、影像层、图幅和数据4个数据库表,如图1所示。

同时,利用Rational Rose对遥感影像库系统进行了面向对象建模[3],遥感影像库定义了基本的影像库管理类(CCtiDatabase)、影像层管理类(CCtiDBLayer)、图幅管理类(CCtiDBTile)和框架类(CCtiIDBDatabase),并且定义了内部主要操作,如图2所示。

图1 遥感影像数据库表

图2 遥感影像数据库内部对象类

1.2 软件模块设计

遥感影像库处理的实体包括影像库、影像层和图幅,相应的功能可设计成3个大的模块,分别为影像库组建、影像数据维护和影像库数据检索浏览[4],主要功能组成如图3所示。

图3 遥感影像库功能组成

影像库组建用来创建基础影像库环境,创建相关的数据库表。影像库组建包括4个主要处理对象:工作空间、影像库、影像层和辅助影像数据属性。工作空间为影像库提供存储的空间,在工作空间上可以创建多个影像库,并通过工作空间中影像库的索引号可以获取对应的影像库。在同一个影像库中对具有相同特性的影像数据归类为一个影像层,包括时间、分辨率、传感器类型和光谱类型等。

影像库组建可以对不同区域独自创建,每一个影像库下对影像数据建立不同的图层,同一图层中可以添加多幅数据。完成影像库创建后,影像层的创建是影像库实体组建的重要步骤。创建影像层可通过多个途径,分为直接创建和间接创建。直接创建为直接通过界面输入影像层的信息来创建其数据库表;间接创建为通过已有的数据创建影像层。辅助数据表是管理影像数据的特征信息,包括影像数据关联信息及一些空间数据特征。该数据库表能不断地扩充。

数据维护包括多种方式的数据导入、导出、删除和更新。数据导入包括批量导入、后续追加数据导入和单幅导入[4]。数据导出包括按库、层、图幅和地理范围等方式。数据维护支持对数据的删除和数据更新操作,数据更新可支持图层区域任意数据块的更新。

影像库数据检索浏览提供客户端数据属性检索和浏览[5]。影像数据浏览操作包括手动漫游、按预设路径漫游、放大、缩小、跨层浏览、图幅全图显示和1∶1显示等。影像数据浏览利用数据缓存技术,根据当前显示状态,不需要把整层数据读出,设计预先读取比当前显示范围稍大的区域。影像数据检索支持基于图表查询检索,支持经纬度、库名和层名等属性项的条件查询。

2 需要解决的问题

2.1 批量导入

将批量导入过程分为影像数据载入、影像数据检测、确定影像层属性、确定投影信息、影像数据分块和数据导入过程。影像数据载入是选择需要创建影像层的数据,并读取、记录影像数据的相关信息。影像数据检测进行数据符合性检测,是否具备在同一影像层上创建的条件。检测的项包括每幅图像的宽、高,每幅数据的X、Y向分辨率相差在0.5 m之内,通道数相同,数据类型保持一致。通过检测,区分不同类型的图幅数据并对不合符的数据进行人工处理。确定影像层属性需要计算选择的图幅空间分布情况。

根据选择的图幅计算每幅图幅的最小的X值Xmin,最小的Y值Ymin,最大的X值Xmax,最大的Y值Ymax和中心点位置 Xcenter、Ycenter,并计算这些数值中的X最小值Xmin,Y最小值Ymin,X最大值Xmax,Y最大值Ymax。根据X向分辨率Xres,图幅宽度Xwidth和Xmin,计算每幅图所处该图层的X方向位置Xnp。根据Y向分辨率Yres、图幅高度Yheight和Ymin,计算每幅图所处该图层的Y方向位置Ynp。计算方法如下:

根据计算确定每幅图像在整个图层数据的位置、X向图幅数目和Y向图幅数目。然后需要确定投影信息,通过选择不同的投影类型和投影区域,确定该影像层使用投影内容,如使用的地理坐标信息、基准面、椭球类型和中央经线等信息。完成上述操作后,进行图幅数据的导入,根据检测后的图幅和计算得到的图幅所处该层X、Y位置,进行批量导入到对应数据库表的位置。

2.2 影像数据更新策略

对于高时间分辨率的影像,实现影像数据的即时更新是非常必要的[6]。由于影像库设计时将影像层按图幅来管理,因此设计更新策略按图幅来处理,每次最少更新一个图幅数据。同时对于宽、高都大于图幅数据的数据,需要根据地理坐标来进行分幅处理,将新到的数据按图幅范围分成若干幅图,有选择性地对原库中的数据进行更新。这样更新有一定缺陷,为实现任意范围、任意大小的数据即时更新,有待研究新的更新策略。

2.3 按地理范围导出策略

储存的影像数据都是将图幅分成很小的影像数据块来储存,并且数据库保存了对应的金字塔瓦片数据,且并不是顺序排列的,因此直接按范围查找导出比较困难。但是通过数据库所建立的索引信息[7],能够很容易地获取原始数据所在块号。通过将地理范围转化到对应的数据上去,并进行重采样实现按任意地理导出。

2.4 影像数据浏览策略

影像数据浏览利用多分辨率的金字塔技术[8]。为不让每一个操作都从数据库中获取数据,设计了读取缓存技术,即每读出的数据都比显示窗口数据要多。并且每次刷新屏幕时,都是对已经加载的绘制句柄(Device Context)进行操作,减少了因为重绘带来浏览速度缓慢的问题,有效地提高了浏览速度。

3 遥感影像库关键技术

随着遥感影像库应用需求的不断深入,对影像库的显示效果、处理性能提出了更高的要求。国内的遥感影像数据管理技术研究也得到不断的发展,各种先进的处理技术逐渐被引入和改进,如影像分块技术、瓦片技术、空间索引技术、无缝数据组织、影像数据读取显示缓存机制、影像数据特征处理技术[9]和基于内容的影像库检索技术等。本文论述和研究影像数据分块技术并采用瓦片技术进行数据入库。

对于海量无缝影像数据库,每次访问的图像数据只是数据库中的一小块数据,这时需要确定读取数据块,如何高效地组织和管理读取的数据块,成为影像库管理的一项关键技术。

影像数据分块实现对某幅影像数据的切分,而影像数据分块大小根据原始的影像数据大小来确定。通过研究瓦片技术,根据不同类型的数据采用不同的分块大小。分块大小一般选取128~1 024之间的2的幂次方数,根据瓦片技术,对块数据按4叉树方式进行抽取,形成金字塔影像数据块,保存入库并建立对应的索引,能够根据索引找到对应的数据块编号,最终根据编号找到相应的数据块。通过试验表明对影像数据分块的数据太大,效果不明显,图像显示比较慢,但是导入数据库速度比较快;分块太小使得数据导入时间比较长,但是数据显示快,检索速度慢。

4 性能测试和结果分析

影像数据入库和浏览速度将严重影响系统的实用效果。为了确定经验的分块方式,对宽*高为7 200*4 800、3通道、图像数据大小为100 M左右的影像数据采用不同的分块方式进行了试验。试验环境为单机模式,内存为1G、CPU为双核petuim 3.4、操作系统为32位、Windows XP系统、显示窗口大小为600*800,试验数据如表1所示。

表1 不同分块时间比较

通过试验,再进行更大的分块时间变化不大,但是浏览显示延迟比较严重。当图不利用瓦片技术进行分块入库时,虽然入库时间快,但是浏览速度太慢[10],并且由于显示的时候将图数据都读取到内存中,对后续图的操作影响也非常大,致使软件无法使用。通过256分块首次加载时间在2 s左右,但是后续浏览刷新速度都在视觉接收范围内。因此,对于大量100 M左右的3通道图幅数据,建议采用256分块方法;对于单幅影像数据量较小时,可以采用128分块方式。对于大数据图幅如果采用128分块,带来数据存储负担剧增,同时其漫游、缩放时间并不一定比256分块方式快。

5 结束语

本文研究了影像库组建过程的一种方法,并且通过VC++进行了系统开发,验证了批量导入算法,设计和实现了基于瓦片技术的影像数据库系统,并对分块方式进行了试验分析。该系统操作简单,遥感影像库创建便捷。随着源源不断的数据积累,补充重点、热点区域的遥感影像,逐步形成对象区域基础的遥感影像库,可为基于遥感影像相关应用提供基础的遥感影像数据平台。

[1] 王华斌,唐新明,李黔湘.海量遥感影像数据存储管理技术研究与实现[J].测绘科学,2008,33(6):156-157.

[2] 王兴玲.Oracle 10g影像库的设计及应用模式分析[J].遥感技术与应用,2006,21(5):468-472.

[3] 闻兵工,文 江,田 毅.基于 Oracle的影像库开发[J].北京测绘,2010(4):77-78.

[4] 黄飞鹏.海量遥感影像管理系统的设计与实现[D].上海:华东师范大学硕士学位论文,2011:14-19.

[5] 刘 露.全球海量遥感影像数据的分布式管理[D].长沙:国防科技大学硕士学位论文,2007:29-34.

[6] 谢 毅.海量遥感影像数据存储组织结构研究[D].开封:河南大学硕士学位论文,2011:20-24.

[7] 方 涛,龚健雅,李德仁.影像数据库建立中的若干关键技术[J].武汉测绘科技大学学报,1997,22(3):266-269.

[8] 王 密,龚健雅,李德仁.大型要搞影像数据库的空间无缝数据组织[J].武汉大学学报(信息科学版),2001,26(5):419-424.

[9] 刘 鹏,毕建涛,曹彦荣,等.遥感影像数据库引擎设计与实现[J].地理信息科学,2005,7(2):105-110.

[10]张涵斐,黄忠红,孟永军.海量遥感影像的存储与快速调度显示方法[J].测绘与空间地理信息,2011,34(3):36-38.

猜你喜欢

图幅瓦片分块
钢结构工程分块滑移安装施工方法探讨
基于ArcEngine自动生成1∶5万地形图标准分幅图框
打水漂
分块矩阵在线性代数中的应用
一种基于主题时空价值的服务器端瓦片缓存算法
惯性
基于Arcpy的地形图接图表快速生成方法
反三角分块矩阵Drazin逆新的表示
基于EXCEL的地形图图幅号转换查询方法
基于两级分块的文件同步方法