洪 宇,刘 金,康林冲,姜晓轶,孔祥勤
(1.深圳市海洋环境与资源监测中心,广东 深圳 518034; 2.国家海洋信息中心,天津 300171)
面向虚拟地球系统的多尺度影像瓦片数据实时创建技术
洪 宇1,刘 金2,康林冲2,姜晓轶2,孔祥勤1
(1.深圳市海洋环境与资源监测中心,广东 深圳 518034; 2.国家海洋信息中心,天津 300171)
针对传统虚拟地球系统对多分辨率影像预先切片构建瓦片金字塔,导致的数据通用性差、数据更新效率低等问题,提出了一种实时创建多尺度影像瓦片数据的改进技术。设计并构建多尺度影像金字塔模型,对影像进行逻辑上的裁剪和接边处理,并将多尺度影像金字塔工程发布为数据服务,基于多核处理器设计影像切片并行算法实现用户实时响应请求。采用World Wind虚拟地球系统选择广东及海南区域的多源影像进行试验,试验结果证明该技术能够方便地管理影像数据,满足虚拟地球系统的并发访问需求,并能极大地提高数据更新效率。
虚拟地球系统;多尺度影像;瓦片金字塔;实时创建;并行计算
影像是虚拟地球系统中最基本的数据,具有数据量大、多源多尺度等特点,国内外大多数虚拟地球系统如Google Earth、World Wind、Supermap Globe、天地图、EV-Globe等在构建虚拟地球应用时都是将影像数据切片建成瓦片金字塔,然后存储到服务器的虚拟目录中或发布为WMS服务。为了建立影像金字塔,实现海量影像数据在不同硬件设备上的快速调度与可视化,学者们研究了影像数据组织存储及调度问题[1-4],比较了单幅影像独立构建金字塔和多幅影像构建统一金字塔2种策略的优缺点,提出的多尺度影像金字塔构建算法,实现了利用多种分辨率的遥感影像统一构建影像金字塔[5-6]。例如,武汉大学的陈茂霖等[7]提出了基于不规格分块的多尺度影像金字塔构建方法,减少了数据冗余,提高了切片效率,但其计算难度较大;贠建明等[8]提出了建立统一金字塔的思想,设计了影像分级分块策略。同时,随着云计算技术的出现、发展和落地应用,利用云计算技术实现批量遥感影像瓦片金字塔的并行构建,在集群上快速、有效地解决单机上难以解决的大规模批量遥感影像瓦片金字塔的构建[9-10]。例如,刘义等[11]提出了基于Map Reduce框架的批量遥感影像瓦片金字塔并行构建算法,可以有效地把不同区域、不同分辨率的大规模批量遥感影像集成在一个统一框架下自动地进行瓦片金字塔构建。
这些研究解决了影像金字塔的构建问题,使瓦片金字塔技术相对成熟,但针对虚拟地球系统而言,建立瓦片金字塔库意味着要对海量的影像数据预先切片,这会带来以下问题:①虚拟地球系统直接使用的是瓦片数据而不是原始影像,瓦片数据以固定大小的图片形式存在,但不同的虚拟地球系统的瓦片数据格式一般不相同,影像分层不统一,数据不能通用,造成资源浪费;②任何区域有影像更新都不得不将该区域重新切片,效率低下。针对这些问题,本文提出了一种瓦片金字塔实时创建技术,改进了金字塔数据库构建技术。
图1 虚拟地球系统中的数据调度Fig.1 Data flow in virtual globes
图2 多尺度影像金字塔模型结构Fig.2 Model structure of tile pyramid for multi-scale images
3.1 数据模型
多尺度影像金字塔由原始多尺度影像文件、索引文件、影像数据逻辑处理信息、统一金字塔参数、坐标系统参数、环境参数等数据文件组成。该模型存储了全部原始影像,对其进行空间索引编码,并对原始影像进行适当的逻辑性处理,其操作并不改变原始文件,但需要记录所有操作行为,例如,对一幅影像进行裁剪处理,需要记录裁剪多边形以及裁剪后是保留多边形内部区域还是外部区域等变量。模型中并没有瓦片数据,但对每幅影像在整个金字塔中的分块分级进行了设置。如图2中,影像文件1覆盖统一金字塔的3,4层;影像文件2覆盖3,4,5层;影像文件3覆盖4,5层;影像文件4只覆盖第5层。要制定策略处理同一级中影像重叠的情况,可以按照分辨率优先或时间优先策略,同时支持人工设置,如图2中第4层,影像文件1和文件3发生重叠,优先显示的是影像文件3。
相对于传统金字塔模型,本文的多尺度影像金字塔有2个特点:①数据配置具有较大灵活性,构成整个统一金字塔的原始影像文件需要更新替换时,只需要修改统一金字塔的索引文件,指定更新文件的路径即可,不需要重新计算;②影像文件可以分布式存储,构建统一金字塔的原始文件可分布存储,索引表中每幅影像文件采用网络路径;该特点使多个数据中心共同建设影像金字塔工程成为可能,不需要进行数据迁移,可促进数据共享应用。
3.2 统一金字塔
构建统一金字塔需要确定3个参数:层数、底层分辨率、层间系数。本文研究中3个参数分别设定为22层、0.15 m、2倍,即统一金字塔每一分层的底层分辨率(m)为:0.15,0.3,0.6,1.2,2.4,4.8,9.6,19.2,38.4,76.8,153.6,307.2,614.4,1 200,2 400,4 800,9 600,19 200,38 400,76 800,153 600,max。其中顶层设定为max,为最大可见层。
3.3 数据逻辑性处理
数据逻辑性处理是指针对影像金字塔工程的需求对单幅或多幅原始影像作相应处理,记录操作的步骤和参数,不同的影像金字塔工程保存各自的数据逻辑处理文件,而原始影像文件只有一个。数据逻辑性处理的先进之处有2点:①节省数据存储空间,原始影像文件一般数据量较大(GB级别),而记录数据逻辑性处理的文件却很小(KB或MB级别),借助于数据逻辑性处理,同一个原始影像文件可应用于多个影像金字塔工程,从而大大节省数据存储空间;②数据处理的灵活性较高,由于所有的数据处理都被记录成文件,当需要进行调整时,只需要修改相应参数,或增加一些处理。
张全文这阵风也有驻足的时候,他第一次到谢婉娇家里,对谢婉娇和她父母仔细地询问两个家庭差异如此之大,对他们来说是不是问题?如果不是问题再考虑结婚的事情。在得到肯定的回复后,他又一一列举张伦个性上的问题。“我觉得我公公虽然是在农村生活,但是能看到事情的本质。”
3.4 影像金字塔工程
虚拟地球系统的应用可能具有不同的空间尺度:全球尺度、国家尺度、城市尺度等,但其后台的影像数据却往往是一套。这就要求建立一种数据管理策略,使得同一套数据能够满足不同应用需求。本研究中采用影像金字塔工程管理全部影像数据,该工程是多尺度影像金字塔模型的实体化。在影像数据管理工程中能够自由增加/删除单幅影像、对影像做逻辑性处理、控制单幅影像在客户端是否可见等。影像数据工程能够解决数据更新的效率问题和处理多时相数据的选取问题。
4.1 瓦片编码及计算
本研究中,在多尺度影像金字塔模型构建时对单幅影像已经建立了金字塔,这里实时计算工作实际上只包含2部分内容:①根据瓦片编号计算出单个瓦片数据的数据范围,并从单幅影像金字塔中取出对应级别的瓦片数据放到总体瓦片数据中;②对需要拼接的瓦片进行合并处理。
(1) 瓦片编码。本研究中将统一金字塔分成22层,瓦片文件采用256×256的Jpeg文件,编码规则为:LLRRRRRRCCCCCC,即前2位存储分层编号,中间6位存储行号,后6位存储列号,如瓦片文件“12000008000024.jpg”为第12层,第9行25列(注:第1行第1列为00000000 000000)。
(2) 根据当前坐标和比例尺计算瓦片行列号,生成瓦片编码,即
(1)
式中:Xmin,Xmax,Ymin,Ymax为数据请求坐标范围,ΔX=Xmax-Xmin,ΔY=Ymax-Ymin;X,Y为当前坐标;lev为当前比例尺;lev=num(LL)。
(3)样根据瓦片名称计算数据范围,其计算式为:
(2)
式中:TileXmin,TileXmax,TileYmin,TileYmax为单张瓦片数据的地理数据范围。
依据上述编码规则和计算公式就可以实现从客户端请求的数据范围(地理坐标范围)计算出瓦片编号,从瓦片编号计算出单个瓦片数据的地理坐标范围。
4.2 多核处理器并行计算
本研究中,实现多尺度影像实时切片的主要工作为计算瓦片编号和生成jpeg图片,其中计算瓦片编号的计算量很小,因此设计并行计算算法时只考虑生成jpeg图片操作。对于任何一个并行子任务,从接到一个瓦片编号任务开始,通过瓦片编号计算出对应的地理坐标范围和比例尺,通过多尺度影像金字塔的索引文件寻找对应的影像文件,根据金字塔参数、影像数据逻辑处理信息等生成瓦片文件。针对由影像拼接造成的不完整瓦片,需要对瓦片进行合并处理,以保证一个编号的瓦片只对应一个文件。多尺度影像实时切片并行计算的流程如图3所示。
图3 多核处理器并行计算流程Fig.3 Flowchart of parallel computing of multi-core processors
实验环境为1台IBM3850服务器,4颗4核CPU,16 G内存,5台dell 台式机作为客户端,安装基于开源代码world wind开发的虚拟地球系统。实验区域选择为广东及海南海岛海岸带区域,影像数据类型包括TM 15 m,spot 5 m,spot 2.5 m,quickBird 0.6 m,航拍0.5 m,以及海底地形渲染影像,单个数据文件从1 G至50 G不等,共115个文件,总数据量约1 TB。试验从2个方面进行评价:①计算效率;②客户端虚拟地球系统的运行效果。
5.1 计算效率
相对于传统金字塔创建方法,本文提出的多尺度影像瓦片实时创建技术在金字塔工程初始创建、数据更新2个方面具有明显优势,效率大幅度提高。以本文实验的1 TB影像数据金字塔创建为例,金字塔工程初始创建效率提高78%,局部数据更新时间相对于传统方法完全可以忽略不计。而完成虚拟地球系统初始数据加载要分为2种情况:一是刚创建完金字塔没有任何瓦片缓存,此时的加载时间比传统方法略多一点;二是有一些瓦片缓存后,其数据加载时间与传统方法相当,具体的效率分析如表1。
表1 金字塔工程创建效率分析
5.2 虚拟地球系统运行效果
在客户端采用基于world wind开发的虚拟地球系统,访问发布的影像数据服务,在并行计算服务启动后,客户端的影像加载基本没有延迟,如图4(a),能够按照设定的层次加载瓦片数据。影像的效果方面,由于单幅影像的色彩差异,整体图像上会有明显的拼接痕迹,出现“块状”效果,但不会有拼接缝隙,如图4(b)所示。
对于局部区域的影像更新,只需要在影像金字塔工程中增加需要更新的数据,进行适当的边界裁减,重启数据服务即可,整个过程5 min就能完成。该操作过程中只有重启数据服务环节会影响数据服务,约15~20 s,这段时间客户端只能调用缓存数据,不能获得实时切片服务。
图4 试验区影像加载效果Fig.4 Effects of loading images in the research area
本文提出的多尺度影像金字塔模型很好地解决了大批量原始影像文件的管理问题,提高了数据更新效率,较传统虚拟地球系统的预先切片方案有本质的先进性。本研究实现的多尺度影像实时切片算法能够充分利用服务器CPU进程进行并行计算,及时响应客户数据请求,具有较好的稳定性,应用前景广阔。但是,本技术在数据服务启动或重启阶段需要有15~20 s的等待时间,影像拼接出现“块状”效果,是今后需要改进的地方。
[1] 黄 杰,刘仁义,刘 南,等.海量遥感影像管理与可视化系统的研究与实现[J].浙江大学学报(理学版), 2008, 35(6):701-706.
[2] 马 瑞,董玲燕.基于快速索引调度的金字塔影像构建及其可视化[J].人民长江,2013, 44(23):82-85.
[3] 杜清运,虞昌彬,任 福.利用嵌套金字塔模型进行瓦片地图数据组织[J].武汉大学学报(信息科学版), 2011, 36(5):564-567.
[4] 王 密,龚健雅,李德仁.大型遥感影像数据库的空间无缝数据组织[J].武汉大学学报(信息科学版), 2001, 26(5):419-424.
[5] 殷福忠,孙立民.基于瓦片金字塔技术的地图发布平台开发研究[J].测绘与空间地理信息,2010, 33(5):16-17,20.
[6] 谭庆全,毕建涛,池天河.一种灵活高效的遥感影像金字塔构建算法[J].计算机系统应用, 2008,(4):124-127.
[7] 陈茂霖,万幼川,杨秋兰,等.面向多尺度影像的瓦片金字塔技术研究与实现[J].地理空间信息, 2013, 11(4):72-75.
[8] 贠建明,汪汇兵,唐新明.多源影像数据库金字塔结构的研究与实践[J].测绘科学, 2011, 36(4):53-55.
[9] 张涵斐,黄忠红,孟永军.海量遥感影像的存储与快速调度显示方法[J].测绘与空间地理信息, 2011, 34(3):36-39,43.
[10]方 涛,龚健雅,李德仁.影像数据库建立中的若干关键技术[J].武汉测绘科技大学学报, 1997, 22(3):266-269.
[11]刘 义,陈 荦,景 宁,等.利用Map Reduce进行批量遥感影像瓦片金字塔构建[J].武汉大学学报(信息科学版), 2013, 38(3):278-282.
(编辑:王 慰)
Creating Tile Pyramid in Real-time for Multi-scale ImagesUsing Virtual Globes
HONG Yu1, LIU Jin2, KANG Lin-chong2, JIANG Xiao-yi2, KONG Xiang-qin1
(1.Shenzhen Marine Environment and Resources Monitoring Center, Shenzhen 518034, China;author_info_translate2.National Marine Data and Information Service, Tianjin 300171, China)
In this research we propose an improved approach of creating tile pyramid in real time for multi-scale images to resolve the problems of poor versatility of image data and low efficiency of data updating caused by traditional virtual globes to create tile pyramid beforehand. In the proposed model, clip and mosaic of images in logic sense are obtained, and then the tile pyramid project is published as data service, and tile data is created in real time by a parallel computing program based on multiprocessor. The model was trialed with Worldwind using the multi-source images of Guangdong and Hainan Provinces. Test results show that the present method is convenient in managing original image data and responding customers’ requests. Meanwhile, it remarkably improves the efficiency of updating image data.
virtual globes; multi-scale image; tile pyramid; real-time creating; parallel computing
2016-08-10
洪 宇(1981-),女,湖北荆门人,工程师,硕士,从事海洋GIS、海域使用动态监管、三维可视化相关工作,(电话)13632706272(电子信箱)9033431@qq.com。
刘 金(1980-),男,湖北荆门人,高级工程师,博士,从事海洋GIS、三维可视化相关工作,(电话)13512007804(电子信箱)183059511@qq.com。
10.11988/ckyyb.20160809
2016,33(11):73-77
P98
A
1001-5485(2016)11-0073-05