APP下载

基于B/S模式的数字月球信息平台设计与实现

2018-01-24陈鹏飞何龙陈章江刘静萱彭凯孟宪成陈东玲

科技创新与应用 2018年3期
关键词:三维可视化S架构

陈鹏飞+何龙+陈章江+刘静萱+彭凯+孟宪成+陈东玲

摘 要:我国自实施嫦娥工程以来,获得了大量的探测数据。文章基于JavaScript脚本语言,在B/S架构下借助LOD、三维可视化等技术在内嵌WebGL的浏览器端对获得的月球影像和地形数据进行了三维展示,从而使得广大用户能够对月球表面和地形进行浏览并获得深层次的认知。

关键词:JavaScript;B/S架构;LOD;三维可视化;WebGL

中图分类号:TP311 文献标志码:A 文章编号:2095-2945(2018)03-0007-04

Abstract: Since the implementation of Chang'e Project in China, a large number of data have been obtained. This article is based on the JavaScript scripting language. With the help of LOD, 3D visualization and other technologies in the B/S architecture, the 3D display of lunar images and terrain data is carried out on the browser side with embedded WebGL, so that the vast number of users can browse the surface and terrain of the moon and gain a deeper understanding.

Keywords: JavaScript; B/S architecture; LOD; 3D visualization; WebGL

1 概述

月球上具有丰富的矿产资源、能源和特殊的空间环境条件,展现出了广阔的开发利用前景。因此对月球的探索、研究、利用就尤为重要。在过去的几十年间,基于前苏联、美国、日本以及欧洲各国发射的月球探测器所获得的数据,各个国家的研究人员制作了大量的月球地图与图集,积累了丰富的素材以便人类探索月球。与此同时,我国的月球探测科学数据资源也随着嫦娥探月工程的展开而变得逐渐丰富,但随之而来的是海量数据的长期储存与分类管理,以及无法提供给用户实时有效、直观的地图数据等问题日渐突出。

随着三维地理信息系统技术的发展,其不仅具备了空间实体定义能力,还具备了三维可视化、空间查询和空间分析能力。将三维地理信息系统技术、海量数据处理技术、分布式网络技术等结合,建立的数字月球平台,预计可以使相关研究和管理部门对于月球探测科学数据的共享与重用效率极大地提升,让不同领域实现快速共享月球科学研究成果,从而大幅提高月球科学研究的效率和水平。

C/S(Client/Server)结构,即客户机和服务器结构。Client端完成与用户的交互任务,Server端负责数据的管理。B/S(Browser/Server)结构,即浏览器和服务器结构,其主要是结合不断成熟的WWW浏览器技术与多种的浏览器Script语言,将原来需要复杂专用软件才能实现的强大功能用通用浏览器就实现了,从而节约了开发、维护成本[1]。现阶段国内外有许多在C/S架构三维信息平台,如Google Earth、ConverseEarth等,它们平台的客户端都需要安装专门软件,其具有自身升级、维护难度大等局限性。而本文所介绍的基于B/S模式的数字月球信息平台,客户端不需要安装过多的插件,通过网络方便了大众的浏览和认知,增加了其科普性;升级维护上,由于所有的客户端只是浏览器,所以只需在管理服务器上完成个别构件更新、开发、维护等工作,不必更换客户端软件,实现了系统的无缝升级维护,从而降低了成本和工作量[2]。

2 系统的总体框架

图1为Web-GIS数字月球信息平台的总体架构图。Web-GIS数字月球信息平台总体结构采用分层式结构,以失量数据、影像数据、地形数据等全月球基础数据产品的整合为数据层,以大数据和超级计算技术为处理方法,以Web网页为用户端展现形式,开发Web-GIS数字月球信息平台。数字月球信息平台系统采用B/S混合的体系结构进行开发,平台系统既可以满足海量月球数据的应用与管理的需求,又可以实现月球的三维可视化、空间分析等相关功能。

3 数据库的组织与设计

数据是地理信息系统的根本,数据库的建立对实现数字月球信息平台尤为重要。平台中的数据主要包括矢量数据(撞击坑名称)、影像数据(CCD影像)、地形数据(DEM数据)[3]。

3.1 坐标系参数设置

Moon-2000坐标系统是IAU 2000Cartesian Coordinate System中的适用于月球的坐标系统(IAU,国际天文学联合会)。椭球体采用Moon_2000_IAU_IAG标准,参考水准面D_MOON_2000的偏离参数为0,0,0,长半轴和短半轴均为1737400m[4]。

3.2 数据描述

(1)矢量数据(撞击坑名称)

2012年国际天文学联合会(IAU)公布了1935 年以来所发现的命名了的月球表面上的9003个撞击坑(数据格式是Shapefile格式),除了2个直径为零的撞击坑之外,一共得到了有效使用的撞击坑为9001个。撞击坑数据中主要包含的属性特征有撞击坑的名称、直径、坑心的经纬度、撞击坑边界经纬度、认证时间等。

(2)影像数据(CCD影像)

“嫦娥二号”卫星上搭载的CCD立体相机的精度相对“嫦娥一号”大大提高,绕月飞行轨道由“嫦娥一号”时的200公里高度降低到100公里,分辨率由120米分辨率提高到7米。目前已公布的2级数据18946个、3级数据203个、高级数据产品406个,数据总量高达2853.85GB。2 级数据是已经按照轨道分幅,经辐射、几何、光度校正后的数据,其上具有空间信息,能够比较真实的反应地表辐射状况。而3 级数据是经 2 级数据校正拼接,分幅投影后的数据产品,其针对不同地区分别采用了兰伯特投影、摩卡托投影等不同的投影方式。而且中高纬度地区因投影变形问题数据损失严重,不能展现具体地物特征[5]。综合以上考虑,本文采用的CCD影像为“嫦娥二號”卫星上的2级数据。endprint

将2级数据先进行错误检测同时设置分割点,从而保证每段内的误差累计最小,实现整轨影像的精确校正。再经过三角网法校正,立方体卷积法重采样,最后使用 ENVI中的mocaic功能使用基于地理坐标的镶嵌方法将分块校正后的数据重新拼接,可得到全月影像图。

(3)地形数据(DEM数据)

激光高度计(LAM)是嫦娥二号的主要有效载荷之一,其是用来获取卫星下方月表地形高度数据,服务于月球表面三维影像获取的科学和应用目标。其主要原理是通过星上激光高度计测量卫星到星下点月球表面的距离,为光学成像探测系统的立体成图提供修正参数;并通过地面应用系统将距离数据与卫星轨道参数、地月坐标关系进行综合数据处理,就可以获取到卫星星下点月表DEM数据[6]。目前已公布“嫦娥二号”上激光高度计的2级数据有56个,发布数据总量为0.017GB。

3.3 地理数据库的建立

当前常用的数据库有MySQL数据库、SQLServer数据库、ORACLE数据库。

(1)MySQL数据库

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS)。MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。

(2)SQLServer数据库

SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案[7]。

(3)ORACLE数据库

ORACLE数据库作为一个具有完整的数据管理功能的通用数据库系统,是目前世界上使用最为广泛的数据库管理系统。它作为一个关系数据库,是一个具有完备关系的产品,而作为分布式数据库它又能实现分布式处理功能。

三者相比较从空间来说,前两者的数据库只是关系型数据库,而ORACLE数据库支持三维数据的存储,同时它具有的优点为可用性强、可扩展性强、数据安全性强、稳定性强等。从服务器模式来说,ORACLE采用的是并行服务器模式,当数据库数量达到GB以上时,其能在对称多CPU的系统上提供并行处理,从而提高其处理能力。综合以上考虑,本文中的地理数据库采用的是ORACLE数据库。

4 数字月球信息平台功能的实现

4.1 平台功能实现的技术手段

(1)时空大数据云与海量数据的管理技术

针对复杂多样的月球实体数据的特点,顾及空间数据的多维特征,研究各种多尺度、多源、异构的地理信息数据源面向时空大数据的数据模型;依据空间实体几何形态和关键属性研究建立实体之间的关联方法,研究多种类数据的时空存储和管理模型,解决二三维一体化数据存取和检索机制,重点研发三维模型和点云数据的并行存取和检索接口;研究矢量数据分布式存储架构,研究各种空间数据的并行插入、查询、删除和修改等技术;研究以瓦片为代表的栅格数据和矢量数据的划分策略。

(2)WebGL绘图技术

WebGL绘图技术是一个用于在Web 浏览器端创建三维图形的跨平台、免费的API。无需安装浏览器插件便可利用WebGL实现Web3D,只需编写网页代码即可实现三维图像的展示。

在渲染方法上,数字月球信息平台将侧重建立Web环境下时空大数据信息可视化模型,基于HTML5 和WebGL实现二三维地理信息的渲染,面向大规模Web 环境的异构设备应用,研发基于Web的跨平台、跨浏览器、跨设备的高并发时空大数据动态制图与可视化引擎,制定时空大数据可视化的统一接口规范,支持适应多样性的设备特性以及不断变化的网络环境,支持流数据应用,适应不断变化的访问流量和带宽约束的实时可视化,该引擎将进一步融合本平台其他关键技术,形成底层厚实的基础软件,为时空大数据可视化应用产品提供关键技术支持[8]。

(3)大规模场景的三维可视化技术

地理事物对象信息纷繁复杂,为了有效的三维数字月球地图所涉及的信息场景管理,采用基于节点的、分层和分块的三维场景数据组织模型,简化场景的管理。为了加快三维场景的绘制,要综合运用金字塔数据压缩存储技术、多分辨率模型技术、基于LOD的场景简化技术等,同时在提高数据加载和绘制的命中率时采用快速高效的可见性判断技术;同时结合高效的并行载入技术,实现同时进行场景实时浏览和数据载入[9]。

(4)GDAL库切片技术

按照规定的数学规则,把地图切成规定大小的图片后保存到计算机硬盘里是切片技术原理,每当用户在浏览器上访问地图服务时,服务器直接返回当前地图坐标区域所对应的“切片”,达到减轻服务器负担,提升地图浏览速度的目的。GDAL除了可以支持大多数的栅格数据,还可以通过库OGR操作矢量数据,同时由于GDAL是源于C++语言编译的,因此其还具有良好的跨平台特性[10]。

4.2 平台功能描述

(1)全月球影像显示:提供月球空间数据三维可视化表现,以月球表面遥感影像结合DEM数据为基础进行全球月球展示以及基本信息查看功能。

(2)月球地理信息的查询和管理功能:提供查询和管理包括月球表面任意位置坐标、经纬度、地名、高程信息等在内的月球地理信息的功能。

(3)三维模型显示功能:能够加载三维地形与模型数据,构建三维场景,并可以对任意感兴趣的月球表面区域进行放大、缩小、旋转等的功能,便于直观、多角度地了解月球。

(4)月球地形量算功能:能够计算月球表面任意两点的空间距离,计算任意划定区域的面积,满足对月球表面的量化分析。

(5)月球漫步功能:能通过移动方向上三维场景的变换,从而实现在月球上漫步的功能。

5 结束语

月球作为人类研究最深入且唯一曾登陆过的其他星体,传统的图档式二维月球地图,不足以满足月球探测科学数据共享与重用效率,也无法实现直观的测距与量算功能。本文所讲的Web-GIS数字月球信息平台通过对海量月球信息的处理与分类管理,可以实现对全月球进行多维、多尺度的表达。数字月球信息平台上对于不同类型、不同层次、不同领域月球数据的集中展示,使月球科学研究成果能够快速共享并能够按需提供月球信息服务。提供给用户一个从月球整体到月球局部地区,从宏观到微观的完整空间信息平台,使用户对月球的宏观与微观认识实现无缝衔接。

参考文献:

[1]张淑荣,苏兵.C/S与B/S两种软件体系结构[J].电脑学习,2010.

[2]蔡长安,王盈瑛.C/S和B/S的模式的比较和选择[J].渭南师范学院学报,2006:47-50.

[3]李 .数字月球平台共享数据文件格式研究与应用[D].成都理工大学,2012.

[4]Geologic investigation and mapping of the Sinus Iridum quadrangle from Clementine, SELENE, and Chang'e-1 data.Science China (Physics,Mechanics & Astronomy),2010.

[5]刘洪利.嫦娥1号卫星激光高度计(LAM)数据的全月球虚拟现实构建[D].中国地质大学(北京),2012.

[6]Laser altimetry data of Chang'E-1 and the global lunar DEM model.SCIENCE CHINA Earth Sciences,2010.

[7]闫旭.浅谈SQL Server数据库的特点和基本功能[J].Value Engineering,2012.

[8]朱丽萍,李洪奇,杜萌萌,等.基于WebGL的三维WebGIS场景实现[J].计算机工程与设计,2014.

[9]蒋杰.全球大规模虚拟地理环境构建关键技术研究[D].国防科学技术大学,2010.

[10]饶玫瑰.“嫦娥二号”影像数据分层切片技术的研究[D].成都理工大學,2012.endprint

猜你喜欢

三维可视化S架构
基于ArcScene平台的电子沙盘制作
3D机房运维可视化系统的设计与实现
B/S架构下的学生信息管理系统的设计
基于ASP技术下的大学生跳蚤书街平台的设计与实施
基于B/S架构的高校实验管理平台的设计与实现