邢丽平,左 维,李春来
(1中国科学院大学,北京 100049;2中国科学院国家天文台,北京 100012)
建立WebGIS的月球三维可视化关键技术
邢丽平1,2,左 维2,李春来2
(1中国科学院大学,北京 100049;2中国科学院国家天文台,北京 100012)
嫦娥工程获得了大量月球探测数据。针对让公众用户通过网络获取月球信息,更好了解月球知识的需求,地面应用系统提出了建立基于WebGIS的月球三维可视化系统的解决方案。首先介绍了国内外三维月球的发展现状,详细分析了开发WebGIS系统的客户端和服务器端技术,重点阐述了月球空间数据模型和三维场景可视化渲染等三维GIS可视化关键技术,为建立我国的三维月球可视化系统提供了理论支持。
地理信息;三维可视化;WebGIS;月球;B/S
CN53-1189/P ISSN1672-7673
月球是距离地球最近的天体,是人类了解外太空的第一站,人类对月球的探测活动非常活跃。20世纪冷战背景下,美国和前苏联分别进行了Apollo和Luna系列探月活动,从绕月到登月,从不载人到载人,取得了海量科学数据。自1976年起,随着美苏冷战趋于缓和,月球探测进入平缓期,人类开始总结以往探月活动的经验,吸取教训,改变策略并提出新的发展战略。进入21世纪,人类对外太空探索活动日益活跃,美国重新启动了探月计划,俄罗斯、印度、日本等国也相继启动了月球探测计划。我国作为世界大国和主要航天国家启动了“嫦娥工程”探月计划。
嫦娥一号和嫦娥二号获取了海量月球探测数据,如何发布和展示这些数据成为一个重要的研究课题。基于WebGIS的月球三维展示可以通过因特网再现月球的真实地形地貌,不仅可以使公众通过网络获取月球信息,更好地了解月球,还有助于科学家方便快捷地下载科学数据对月球进行定性和定量的研究,建立基于WebGIS的月球三维可视化系统对人类认识和开展月球与深空探测活动具有重大意义。
本文在充分调研国内外月球三维系统的基础上,对建立基于WebGIS的月球三维可视化系统的相关技术进行了详细介绍。
1.1 WebGIS概述
WebGIS(网络地理信息系统)是基于因特网平台进行空间信息发布、空间数据共享的计算机网络信息系统。文[1]指出WebGIS是在WWW基础上分布的跨计算机网络的集成、传播和沟通地理信息的系统。WebGIS主要包括数据浏览器和服务器两部分,采用浏览器/服务器(Browser/Server,B/S)的组织结构[2]。
WebGIS的使用者可以具有独立的平台和操作系统,通过简单的网络浏览器就可以建立客户端与服务器端的联系,位于不同位置的多用户可以获取同一服务器上的数据,单用户也可以获取不同服务器上的数据,真正建立多对一和一对多的信息网,实现信息共享。同时可以通过对用户设置权限开放不同安全等级的数据,确保数据的安全性。并且可以根据用户需求进行定制,更易于理解,增加人性化。与传统GIS系统需要用户终端有配套的硬件显示设备相比减少了用户开销,负载均衡技术可以提高网络资源的利用率[3]。
1.2 国内外三维月球发展现状
Google公司2005推出了C\S结构的地图服务软件Google Earth,用户可以通过下载应用查看地表影像。2008年,Google推出了浏览器插件程序(Plug-in)和应用程序接口(API),使Google Earth的影像可以嵌入浏览器中。2009年Google在“Google Earth5.0版”中添加了月球地图功能,提供了月球地图的完整展现,用户还可以获取登月点的信息,包括美国国家航空航天局提供的视频等资料。
WorldWind是美国国家航空航天局发布的一个开源的地理科普软件,它将NASA、USGS以及其它WMS服务商提供的图像数据展现在一个三维地球模型上,这个三维地球模型类似于支撑图像展示的骨架,图像通过纹理贴图附着在模型上。2005年10月World Wind 1.3.3版本增加了月球的3D地形显示,可以在月球三维模型上浏览Clementine 40xx、Clementine 30xx和USGS提供的晕渲地形图等数据。
美国亚利桑那州立大学的LROC研究团队建立了LROC数据的发布网站(http://lroc.sese.asu.edu/)开发了基于网络的应用和帮助用户浏览、查看、检索和下载LROC数据的一系列工具,其中lunaserv可以显示三维月球数据。
日本KAGUYA 3D Moon是一个基于NASA World Wind开发的软件,用Java语言开发,可以运行在Windows、MacOS等操作系统。该软件在三维球体上覆盖了全月地形照相机数据,同时提供全月激光高度计彩色、灰度地形图,以及其它探测器获取的局部数据。同时它还提供了一些元素的月表分布图和全月布格重力异常图,用户可以自由选择加载以上图层。
我国自2004年启动探月计划,经过嫦娥一号和嫦娥二号对月球的长期探测,已经积累了海量探月数据。我国需要建立一个自主的基于WebGIS的数据发布系统向科学家高效便捷地提供月球探测数据,向公众展示月球表面提供科普服务,真正实现数据共享,为公众更好地认识研究月球提供一个良好的平台。
2.1 WebGIS客户端技术
WebGIS系统的客户端负责空间信息展示,与用户交互和简单的空间数据处理分析。动态服务器页面(Active Server Page,ASP)、jsp、异步JavaScript和XML(Asynchronous JavaScript and XML,AJAX)、Flex等技术可用来开发客户端,并且各有特色。
动态服务器页面是一种服务器端脚本编写环境,可以用来创建和运行动态网页或网络应用程序。动态服务器页面可以实现动态网页,动态服务器页面文件易于修改,由于服务器端动态服务器页面解释程序执行动态服务器页面程序并以HTML格式传送到客户端浏览器上,因此它可以跨浏览器。
JavaScript是一种面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。它可以实现网页和用户之间实时、动态交互。JavaScript使网页增加互动性。
异步JavaScript和XML是指一种创建交互式网页应用的网页开发技术。异步JavaScript和XML能在不更新整个页面的前提下维护数据。没有改变的信息不会在网络上重复发送,使得网络应用程序能快速回应用户动作。将异步JavaScript和XML技术应用到网络三维GIS中浏览三维场景时,可以达到看到哪里、显到哪里的实时显示效果[4]。
Flex通常是指Adobe Flex,Flex偏向开发人员,具备方便的矢量图形、动画和媒体处理接口,容易做出具有丰富交互功能的应用程序。
2.2 WebGIS服务端技术
WebGIS系统中服务器端由3部分组成,底层的数据库服务器、中间层的地图服务器和上层的网络服务器。数据库服务器负责存储矢量、栅格、影像、文本等格式的数据。地图服务器负责空间数据查询、处理、渲染、业务逻辑处理,接受网络服务器转发的请求,并进行处理,最后把处理结果提交给网络服务器。网络服务器端负责网络发布空间数据,处理HTTP协议,处理完成后,将请求转发给后台的地图服务器。接收地图服务器处理结果,并通过HTTP协议发送给客户端。
地图服务器可以接收统一规范的网络地图服务(Web Map Service,WMS)和网络要素服务(Web Feature Service,WFS)请求(request),返回多种格式的数据向网络中的客户端提供地图服务。网络地图服务和网络要素服务是基于XML的网络地图服务规范,是OGC制定的一系列的地理数据和操作软件开发规范。网络地图服务可以将地理数据生成图像,返回图层级的地图影像,实现地理信息系统的开放性和互操作。网络要素服务从地理集中提取要素特征,返回要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对网络地图服务的进一步深入。
2.3 GIS开发平台
1998年美国副总统戈尔提出“数字地球”概念后,三维GIS空前发展起来,计算机技术的快速发展也促进了三维GIS技术的进步,同时涌现一大批三维GIS平台软件。其中国外的三维GIS软件有:Google Earth和skyline、World Wind、Virtual Earth、ArcGIS Explorer等,而国内的地理信息厂商也纷纷推出了自己的产品,如:UniGlobe、EV-Globe、GeoGlobe、VRMap、IMAGIS、Citymaker4、SuperMapiSpace等与国外GIS软件争夺市场。以下简要介绍几款GIS开发平台软件。
ESRI公司的ArcGIS Explorer最初是一个免费的虚拟地球浏览器,提供自由、快速的2D和3D地理信息浏览。后来通过继承ArcGIS Server完整的GIS性能(包括空间处理和3D服务)达到整合丰富的GID数据集和服务器空间处理应用的目的。
Skyline是美国Skyline公司开发的基于网络的一款三维GIS软件,Skyline TerraSuite是一套独立于硬件、多平台、多功能的软件系统,包括TerraBuilder、Terraexplore和TerraGate 3个组成部分。它可以将卫星影像、航拍影像、DEM地形数据以及三维建筑模型、实时通信数据、地理空间信息等海量数据组合在一个虚拟地球上,并且支持二次开发。
与国外成熟完善的三维地理信息软件相比,我国三维软件建设虽然起步晚,但是发展迅猛,也涌现一批优秀的三维GIS平台软件。如超图公司的SuperMap,国遥新天地公司的EV-Globe等,在气象、航空、军事、农业、航海等领域有广泛应用。但是目前国内许多三维GIS软件是在开源软件的基础上改写的,国产GIS软件还需要朝自主创新努力。
开发月球WebGIS选用了Javascript作为客户端开发技术,Weblogic作为服务器端技术开发平台,ArcGIS Server以及国产的MGIS作为GIS开发软件平台。
2.4 月球三维GIS平台的构架
根据上文,提出了如图1的系统构架,嵌入浏览器中的ActiveX控件支持月球的三维显示,支持矢量数据的放大、缩小、漫游等地图操作,用户在浏览器界面下通过鼠标或键盘操作地图。用户动作通过网络传送到服务器端,网络服务器处理HTTP协议,将地图操作需求传送给地图服务器,地图服务器分析用户请求,将需要分析的数据从数据库中调取,在地图服务器中完成空间查询、空间分析、地图渲染、制作专题图等用户请求,并将处理结果返回网络服务器,遵循网络协议将结果数据发送到客户端。
图1 月球三维GIS平台逻辑结构图Fig.1 The logical-structure diagram of our design of a 3-dimensional GIS platform for the moon
在前期调研的基础上,详细分析用户需求,进行功能模块设计。开发WebGIS 3D ActiveX控件,当用户第一次访问页面的时候,该控件自动下载到用户电脑中,以后再访问该页面就不需重新下载。月球的三维展示及一些基本的GIS功能如缩放、平移等操作就由该控件在客户端处理。同时要开发网络页面容器,将ActiveX控件和页面容器整合到一起,集成友好的用户界面。在GIS服务器端进行部署,与相应的地理数据库相连,最后集成系统。
3.1 月球GIS空间数据模型
空间数据模型是计算机能处理的空间数据组织形式,包括栅格数据模型和矢量数据模型。栅格数据模型是一种使用行、列和像元构建空间要素的数据模型。矢量数据模型是用点及其x、y坐标构造空间要素的数据模型。矢量数据模型用点、线、面等几何对象表述简单的空间要素[5]。栅格数据模型的优点有数据结构简单,便于空间分析和地理现象模拟,易与遥感数据结合;存在的劣势有数据量大,图形投影转换较难,显示质量差,不易表达空间拓扑关系。矢量数据模型与栅格数据模型相比有如下优点:数据结构紧凑,冗余度小,便于网络分析,图形显示质量好,精度高,便于面向对象的数字表示。但是它也存在数据结构复杂、信息复合难度大、对硬件要求高的缺点。
三维GIS中地形数据主要是数字高程模型(DEM)和数字正射影像图(DOM),数字高程模型和数字正射影像图都属于典型的栅格数据[6]。CE-2卫星共获取了607轨图像数据,实现了100 km轨道、7 m分辨率影像数据的全月球100%覆盖。地面应用系统经过精心处理制作了全月球7 m分辨率数字影像图,并对全月球影像图进行分幅处理,共有746个标准分幅产品。在7 m标准分幅产品基础上,重采样为50 m,制作了50 m标准分幅产品(共188幅)和50 m全月球数字影像图(全球一张)。这些高分辨率数字高程数据和清晰的影像数据为构建月表三维可视化系统提供了数据支撑[7]。嫦娥二号探月数据生产的数字高程模型栅格数据是构建月球三维空间信息系统的骨架,对数字高程模型数据的四叉树结构组织,建立水平分块、垂直分层的金字塔结构模型,结合LOD技术实现月球表面地形三维快速显示。月表的点状地貌如环形坑、月湖、月沼等地貌名称用矢量数据显示。月球的矢量数据较少,主要是各种形貌的特征点数据,月表形貌特征数据可以按分层的方式组织,各层内部分级控制,月球的矢量数据可同步月表地貌的放大、缩小、漫游等操作。
3.2 三维场景图的组织
场景图是以背景为画面主体,没有明显地物特征的图像。场景图采用一种自顶向下、分层的树形数据结构组织场景图数据集,树形结构清晰直观,符合人们对空间事物排序和组织结构的一般认知,可提升渲染效率。
树形结构为数字高程模型的数据带来了层次关系,为加速数字高程模型的处理提供了条件,是构造基于视点的多分辨率模型的基础。在目前的三维地形场景实时简化算法中,主要依靠树形层次模型完成场景简化。树形结构的层级模型不仅表示了原始模型,同时包含了原始模型的各种不同精细程度的简化版本。LOD细节层次模型是一种图形生成加速的方法。它是指对同一个场景或场景中的物体,通过具有不同细节的描述方法得到一组模型,以供绘制时选择使用。运用LOD模型可以减轻网络传输和计算机的压力,实现三维场景的快速实时绘制。LOD技术结合数字高程模型的四叉树结构产生的分层数据可以实现三维地形的流畅显示。LOD级别越高,地形数据分辨率越高,三维显示精度也越高,反之亦然[8]。
基于平面映射模型,将月球分为东西两个半球,对每个半球沿经纬线均分为4个地块,每个地块又可以沿经纬度剖分为4块,如此递归剖分全球,直到需要的精度为止。用四叉树结构组织剖分地块,这样生成两棵四叉树分别与东西半球对应,剖分的格网对应月球影像。数字高程模型可以表现月表地形的起伏状况,月表影像纹理映射到对应的地形块上完成月表的三维显示。以LOD模型加速显示三维月表,距离视点越近的地形块的LOD级数越高。LOD级数高,视点范围小,但是对应的地形分辨率高,可以获得较高的三维显示精度,视点的上移,地块的LOD级别变低,视点范围变大,可以获得大范围低精度的月表三维显示。
3.3 三维场景图的调度技术
视点驱动三维场景调度技术使用户看到的三维场景是连续的[9],一般来说,自动将视点周围的地块装入缓存区,等视点移动到该范围时将该地块范围调入,同时判断视点的活动,定位到下一个地块。在动态渲染过程中,随着视点移动,需要不断更新数据页中的数据块,如果移动过程中视点高度发生变化,还要重新计算视场范围,切换到相应尺度的数据层进行数据更新。
三维场景的动态调度技术可以使前台得到平滑、近实的三维场景显示。用户的交互操作如键盘、鼠标等改变的摄像机参数和其他设置信息被读入渲染模块,并根据该参数计算月球场景,如果需要调入更高精度的场景节点,则将请求发送给后台数据调度模块,该模块有请求和数据两个队列,其作用是协调后台调度和前台渲染。它的工作原理是:前台用户的操作向后台发送一系列请求,数据调度模块从请求队列中获取请求,生成该请求对应的场景节点,并列入数据队列中,数据队列中的场景节点在后续的时间中被送入前台渲染,实现前台三维显示。
3.4 三维场景可视化渲染技术
月面是连续的地形区域,由于地形区域在理论上是可以无限延伸的,不能将整个地形视为一个实体对象,而必须将地形划分为小地形块,小地形块可以划分为更小的块,这样就构成了分块分层模型。典型的地形渲染算法有实时优化自适应格网(Realtime Optimally Adapting Meshes,ROAM)和四叉树算法。实时优化自适应格网是一种基于二元等腰直角三角树的算法,等腰直角三角形是其基本数据单元,通过直角顶点向斜边做垂线,递归二叉剖分形成具有层次结构的二元三角树。四叉树算法是一种典型的树状结构算法,根节点分出四个分支,再由各个分支各自分出四个分支,递归分到叶节点为止。
我国探月工程取得了巨大科学、工程成果,获取了海量月球探测数据,这些数据具有重大的科学研究价值。本文调研了国内外月球三维可视化系统的发展现状,提出结合WebGIS的特性建立我国自主的月球空间信息三维可视化系统,为公众更好地了解月球,研究者获取月球探测数据提供便利。
一个完整的WebGIS系统由客户端、服务器端和数据层3部分构成,各部分有相应的开发技术,这些技术各有优劣,需结合用户需求,平衡软硬件设施选择合适的开发平台和技术。本文总结了建立三维GIS可视化系统的空间数据模型和三维可视化渲染等关键技术,空间数据模型是三维地形展现的基础,实时优化自适应格网和四叉树等地形渲染算法可以快速实现地形渲染,视点驱动的三维场景调度技术可以看到哪里显到哪里,可实现更好的人机交互。通过这些关键技术的讨论给出了总体的技术解决方案,为我国月球空间信息三维可视化系统的建设提供理论技术支持。
[1] Mathiyalagan V,Grunwald S,Reddy K R,et al.A WebGIS and geodatabase for Florida’s wetlands[J].Computers and Electronics in Agriculture,2005,47(1):69-75.
[2] 张健挺,刘卫国.网络地理信息系统研究[J].地理研究,1998,17(2):74-81.
Zhang Jianting,Lin Weiguo.A preliminary study on WebGIS[J].Geographical Research,1998,17(2):74-81.
[3] 钱峻屏,彭龙军.网络地理信息系统的研制与开发[J].遥感技术与应用,2000,15(3): 184-188.
Qing Junping,Peng Longjun.Designing and development of an Web-based GIS system[J]. Remote Sensing Technology and Application,2000,15(3):184-188.
[4] 梁吉欣,左小清.Skyline在Web三维GIS中的应用研究[J].昆明理工大学学报:自然科学版,2009,34(2):1-4.
Liang Jixin,Zuo Xiaoqing.Application and research of Skyline in Web three-dimensional GIS[J].Journal of Kunming University of Science and Technology:Natural Science Edition,2009,34(2):1-4.
[5] Chang K T.地理信息系统导论[M].第三版.陈健飞、张筱林,译.北京:科学出版社,2003.
[6] 唐桂文,张庆娟,王功明,等.基于三维GIS的海量地形数据存储和调度的研究[J].测绘科学,2008,33(3):110-112+120.
Tang Guiwen,Zhang Qingjuan,Wang Gongming,et al.Research of storage and schedule of huge terrain based on 3D GIS[J].Science of Surveying and Mapping,2008,33(3):110-112+120.
[7] 左维,刘阳,任鑫,等.基于嫦娥一号CCD相机和激光测距数据的月球三维可视化系统[J].计算机辅助设计与图形学学报,2012,24(1):37-42+49.
Zuo Wei,Liu Yang,Ren Xin,et al.Design and implementation of three-dimensional visualization of the Moon based on Chang’E-1 data of CCD cameral and laser altimeter[J].Journal of Computer-Aided Design&Computer Graphics,2012,24(1):37-42+49.
[8] 岳利群,夏青,王洪威,等.大规模三维地形可视化中数据组织管理影响因素探讨[J].测绘科学,2010,35(5):158-160.
Yue Liqun,Xia Qing,Wang Hongwei,et al.Research on the affect of data organization and management in large-scale terrain visualization[J].Science of Surveying and Mapping,2010,35(5):158-160.
[9] 高兴烨,刘建军,任鑫,等.嫦娥二号探测器在轨运行视景仿真系统的研究与实现[J].天文研究与技术——国家天文台台刊,2012,9(2):114-120.
Gao Xingye,Liu Jianjun,Ren Xin,et al.Research and implementation of a visual simulation system of orbital motion of the Chang’E-2 spacecraft[J].Astronomical Research&Technology——Publications of National Astronomical Observatories of China,2012,9(2):114-120.
Key Technologies of a WebGIS-Based 3D Visualization System for the Moon
Xing Liping1,2,Zuo Wei2,Li Chunlai2
(1.University of Chinese Academy of Sciences,Beijing 100049,China;2.National Astronomical Observatories,Chinese Academy of Sciences,Beijing 100012,China,Email:xinglp@bao.ac.cn)
Data of the moon in a large amount have been recorded in the Chang’E lunar exploration project.To meet the public need of better understanding the moon through the Web,the Ground Application System proposed solutions of 3-dimensional visualization systems for the moon based on the WebGIS.In this paper we first introduce the status of the development of visualization systems for the moon in China and abroad. We then analyze technologies and platform software components of developing clients and servers in the WebGIS. We choose the Javascript as the technology to develop a client,and choose the Weblogic as a platform to develop a server.We also use the ArcGIS Server and the MGIS GIS software of domestic origin as the development platforms in a design of a 3-dimensional visualization system for the moon.The paper focuses on key technologies of 3-dimensional GIS visualization,such as techniques of modeling 3-dimensional lunar data and algorithms of organizing/scheduling/rendering 3-dimensional scene graphs.A system according to our design organizes DEM and DOM lunar data with the pyramid data structure,and manages vector data(e.g.terrain names) hierarchically.It assigns two queues to accept user requests and send processed data,respectively.This ensures fluent and fast display of 3-dimensional scenes at a front end.The paper finally summarizes relevant technologies and outlines of the solution to support building 3-dimensional moon-visualization systems in China.
Geographic information;3-dimensional visualization;WebGIS;Moon;B/S
TP309
A
1672-7673(2014)03-0299-06
2013-09-29;
2013-12-13
邢丽平,女,硕士.研究方向:三维GIS可视化.Email:xinglp@bao.ac.cn