APP下载

面向三极科学的三维可视化系统应用研究

2021-04-07吴阿丹车涛

冰川冻土 2021年1期
关键词:三极可视化科学

吴阿丹,车涛

(1.中国科学院西北生态环境资源研究院甘肃省遥感重点实验室中国科学院黑河遥感试验研究站,甘肃兰州730000;2.中国科学院大学,北京100049;3.中国科学院青藏高原地球科学卓越创新中心,北京100101)

0 引言

南极、北极和青藏高原作为地球的“三极”,不仅储藏着全球主要的淡水资源,且油气资源丰富,是全球资源、能源开发利用的潜在战略性储备区域。随着全球气候变化,三极地区在生态与环境方面表现出敏感、快速的变化,国际社会对此给予了高度关注。我国已认识到极区重要的战略地位,积极参与到国际相关组织和活动中,但限于研究积累不够,国际话语权还十分有限。掌握三极地区生态环境变化及区域影响的科学事实,集成三极环境研究的科学成果,科学评估和预测极地环境时空变化,不仅有助于确保我国权益、为国际谈判提供话语权,也能为国家决策提供基础支撑[1]。随着天空地一体化对地观测技术的快速发展,三极地区积累了大量地面观测、科考数据、数值模拟及同化数据、文献等科学成果[2-4],使得三极时空数据日益呈现出大数据的特点[5-7],这些时空大数据的积累为三极联动分析提供了丰富的经验知识,产生了一批具有较强影响的三极科学发现[8-11]。然而,这些科学发现一般都以专业图表或专业术语描述,普通用户和决策者很难直观了解这些三极科学发现的真正内容和意义,虽然传统的二维地图的空间分析能在一定程度满足地学科学发现的可视化的表达,但将三维空间中的地理对象向二维平面投影时,会导致三维方向上的信息缺失,导致其难以完整反映客观世界的全貌,尤其面向三极联动分析时,传统的二维地图无法进行三极协同对比分析,因此,加强三极大数据领域的三维数据可视化已成为迫切需要。

三维空间模型的可视化分从应用架构上可以为两种[12-16]:第一种是基于C/S架构的平台,如Arc-Scene、Skyline、SuperMap等,其优点是显示效果好、空间分析功能强大,但其大多为商业软件,成本费用高,只能适用于单机;第二种是采用B/S架构,以传统的浏览器作为客户端,便于客户端访问和数据共享,如Cesium、Three、Unity 3D等。其中Cesium凭借其优秀的平台性能和完善的功能接口,近年来被学者较多地用于三维场景构建的研究和应用当中。

本研究是在中国科学院战略性先导科技专项时空三极环境项目支持下,开展面向三极科学的三维可视化研究,通过选择三个代表性的研究成果,建立三极科学发现三维可视化原型系统,本文简称“三极球”,它是球形屏幕、弧形屏幕及Web可视化系统的统称,是硬件和软件的有机结合体。本文首先介绍了“三极球”整体设计思路,再给出实现“三极球”的五个关键技术,然后以三个场景为例实现系统的应用示范,最后对系统整体进行总结并给出未来展望。

1 “三极球”的总体设计

1.1 建设流程

“三极球”是为三极科学研究和数据集成管理而搭建的信息化平台,是三极研究的展示中心,也是播放三极的历史,现在和将来的演播室。它是“可视化”在全球三极尺度上的一次实践性尝试:从技术层面,“三极球”实现了二维地图和三维地图互操作;从硬件资源层,其充分利用情景脚本将弧形屏幕和球形屏幕无缝衔接,实现一个具有较强视觉冲击的三维展示系统,其建设流程主要包括需求分析、框架设计、数据预处理、系统开发及测试运行五个方面,如图1所示。

图1 系统开发流程Fig.1 System development process

1.2 总体设计

系统以满足“科学发现为本,联动分析为根,科普为主,互动为辅”的原则进行建设。基于二维、三维可视化实技术,通过多种屏幕互操作构建出生动、易懂的三极数字化3D平台,在集成场景选择和科普信息检索等功能后,可以形成一套完备的三极科学发现展示的原型系统。此系统能够展示全球温度异常变化、三极冰盖及南北极海冰最新三极科学发现,并以立体的、动态的形式展示这些信息,在场景浏览中完成科普浏览及体验,可满足多人、不同观众的参观需求。

“三极球”采用浏览器/服务器模式(B/S)架构。浏览器端采用JavaScript作为开发语言,服务器端采用NodeJS技术,数据组织采用分布式数据库Green-Plum。系系统整体框架基础设施层、服务层和应用层三个层面,如图2所示。

图2 系统整体框架Fig.2 Overall framework of the system

基础设施层:提供整个系统运行的硬件环境及软件环境。本系统基础设施使用中科院网络中心提供的云环境:12个处理服务结点、64个CPU核、总内存320 G,总存储为4 T。

服务层:由一系列Web服务组成,包括基于不同数据源的可视化服务、数据预处理服务、互操作服务以及分析结果自动生成服务。

应用层:即“三极球”系统,通过调用服务层Web服务提供的各种方法,实现对三极科学发现及科普的信息查询及浏览。本系统支持弧形屏幕、球形系统以及浏览器三类终端的数据可视化。

本系统重点实现北极放大效应、三极冰雪冻融对比与关联及三极联动对东亚气候的影响三个典型三极科学案例,并针对球形屏幕和弧形屏幕对系统页面进行了定制开发,通过iPad可实现不同屏幕之间的内容切换,如图3所示。

图3 系统主要功能Fig.3 Main functions of the system

2 关键技术

本节基于三极科学发现数据呈现出的大数据特点,研究海量数据分布式存储架构、数据自动预处理、三维开发引擎、屏幕互操作、自动生成分析等关键运行技术,并将这五个关键技术集成到三维可视化系统中,最后选取三个典型的科学案例(对应三个数据集)验证技术流程的可行性和有效性。

2.1 基于GreenPlum的分布式数据库

面对三极海量时空数据,我们选用Green-Plum[17-18]搭建分布式数据库,原因如下:

(1)三极数据体量巨大,而传统关系数据库一般用一台服务器存储数据,可扩展性较差,很难实现对三极数据的有效管理。

(2)三极数据类型繁多,包括结构化和非结构化的数据,而传统关系数据库仅存储结构化的数据,对于网络日志、音频、视频、图片、地理位置等数据处理能力较差。

(3)三极数据增长很快,传统关系数据库性能随着数据的增长急剧下降。

(4)在如此海量的三极数据面前,传统关系数据库基本很难实现大数据的快速挖掘和可视化分析。

分布式数据库库GreenPlum能够弥补传统单机数据库的不足,为我们实现三极时空大数据的管理提供了机遇和条件:GreenPlum数据库是基于MPP(Massively Parallel Processing)大规模并行处理和完全无共享架构的数据库软件系统,主要由Master节点、Segment节点、Interconnect三大部分组成。Master节点是GreenPlum数据库系统的入口,接受客户端连接及提交的SQL语句,将工作负载分发给Segment实例。Segment节点由若干独立的PostgreSQL实例组成(一个实例可以理解为一个Postgresql数据库),每个PostgreSQL实例完成一部分数据的存储和计算。Interconnect负责Master节点与Segment节点以及不同PostgreSQL实例之间的通信。

本系统中,我们基于四个存储节点搭建Green-Plum分布式数据库(图4),主节点上部署Master节点,三个子节点上部署Segment节点。每个Segment节点上部署14个PostgreSQL实例(根据经验值:每个实例占用一个CPU内核,需要4 G内存),三个节点共42个实例,也就是说我们进行Sql语句查询时,Master节点把Sql任务分解成42个子任务,在不同的42个实例中同时查询数据,大大提高查询效率,并具有很高的可扩展性,该设计充分考虑到了时空三极大数据海量、异构的特点,为海量三极科学发现数据入库及可视化提供了重要的技术支撑。

2.2 数据自动预处理

场景的流畅度是可视化系统是否友好的关键因素之一,因此,在采用基于B/S架构对数据进行显示时,必须考虑到网络数据传输速度与数据渲染速度等问题。“三极球”主要使用时空三极项目产出的南极、北极和第三极地区冰冻圈、大气、生态等时空连续的数据产品以及基础地理信息数据.本文在选取三个典型的三极科学数据基础上,研究数据自动预处理技术及流程,包括全球温度数据、南极和格陵兰冰雪冻融产品及南北极海冰密集度数据,其具体属性如表1所示。

图4 分布式数据库部署Fig.4 Deployment of the GreenPlum database

从表1可知,“三极球”用到的三类数据体量很大,格式均为NetCDF[19-20]。虽然该格式可以对网格数据进行高效地存储、管理及分发,但不能被Cesium三维引擎直接读取并显示。经过反复测试,我们发现png格式的数据能够在Cesium三维数据地球引擎中高效显示,因此我们将所有数据通过开发的脚本自动转换为png数据。经过转换后的png数据经纬度范围为-180°~180°,-90°~90°,其像素长款比为2:1(如698×349像素),可直接用于基于Web的三维球和实体物理球的数据可视化,其流程为:首先对栅格数据进行预处理与组织存储,然后对数据进行渲染,最终实现用户交互分析操作。

表1 核心数据介绍Table 1 Introduction of core data

2.3 数字地球基础平台开发引擎

“三维球”的建设是在中科院遥感所提供的数字地球基础平台二次开发引擎(DESP Client for WebGL,简称DespWeb)的基础上完成的。该引擎基于HTML5、WebGL等技术进行研发,将数字地球相关的数据解析、可视化、服务等方法封装为统一的Web组件,为数字地球网络服务系统的开发提供二次开发接口,帮助开发者者快速搭建B/S架构的三维数字地球应用平台。该框架重点解决用户交互和数据交换,涉及到的核心技术如表2所示。

表2 二次开发引擎核心技术Table 2 Core technologies of secondary development engine

其中Cesium是三维球开发的重要组件,它是开源的前端JavaScript库,通过WebGL技术实现图形的硬件加速,能够提供动态数据的二、三维可视化展示,可以自行绘制图形、高亮区域等,且具有跨平台、跨浏览器的特点[21]。

2.4 球形屏幕与弧形屏幕互操作策略

“三极球”在建设之初就计划在中国科学院文献情报中心2D展厅进行系统部署及展示,该展厅配备了先进的大型球体展示系统(简称为球形屏幕)和弧屏展示融合系统(简称为弧形屏幕),如图5。球形屏幕由软件环境和硬件环境组成,软件环境主要负责GIS展示、交互演示和动态结果汇报分析、数据可视化、人机交互和互动等功能的实现。硬件环境主要负责提供多通道立体显示功能和系统交互数据输出、处理、转换和采集功能。弧形屏幕利用正投原理、曲边校正和无缝拼接技术将投射出的内容组成无缝统一的画面,实现270°全方位的数字地球信息可视化模拟,同时对多源地球大数据信息进行综合可视化展示,并满足大型活动及会议的展示需求。

因此如何充分利用球形屏幕和弧形屏幕的互操作,实现球幕与弧幕的互动联动,更加清晰的展示三极科学发现的逻辑与关联是该系统需要解决的重要问题之一。本系统通过Web系统架构和情景脚本编写来实现不同类型屏幕互操作。

图5 中国科学院文献情报中心2D展厅(中间为球体系统,两侧为弧屏系统,左侧为A屏幕,右侧为B屏幕)Fig.5 2D exhibition hall of National Science Library,Chinese Academy of Sciences(spherical screen is in the center,curved screen is on both sides,Screen A is on the left and Screen B is on the right)

(1)基于Web的系统架构设计

为了方便展厅控制中心对系统内容的方便调用和操作,本系统通过引入Web Service、Web Socket等技术建立数据访问、权限管理、数据交换接口等基础服务,提供B/S架构的在线模型计算接口,并以地图、可视化曲线、视频、文本等方式对三极科学数据及科学发现进行浏览。同时利用JavaScrip脚本对屏幕的分辨率自动计算,实现系统在弧形屏幕、球形屏幕及普通浏览器中自适应显示。最终,控制中心直接通过网络访问即可选择和播放展示资源,即通过网络将几个展示屏幕无缝链接起来,从不同角度和内容展示三极科学发现,显著提高了不同屏幕系统之间互操作的效率和显示度。

(2)脚本编写

编写脚本是“三极球”实现的另外一个关键环节。脚本编写之前要明确总体展示计划,明确各个体验流程,确定每个动画的时长,划分不同的场景,让物理球和弧形屏幕协同演示,最终让用户体验在不同场景切换过程中所带来的视觉冲击,给其留下深刻的印象。本系统包括三个场景:北极放大效应、三极冰雪冻融对比与关联及三极联动对东亚气候的影响,我们利用脚本编写将这三个场景无缝衔接起来,以三个完整的科学故事重塑三极协同对比研究的重要性及新的科学发现。此外,还利用定时器脚本实现情景的完全自动播放和选择播放,实现了按需播放的需求。

2.5 分析结果自动生成

本系统设计的三个场景对应表1中的三个数据集。前两个场景基于历史数据的分析得出科学结论。而对于第三个场景(三极联动对东亚气候),实时或准实时的数据分析更能准确、生动地支撑科学观点,因此数据分析结果的时效性也是系统必须考虑的重要因素。

本节以第三个场景设计到的海冰分析产品为例[22-23],说明分析结果自动生成的流程。其思路是利用已有的海冰密集度资料和海冰范围指数数据实时、自动地生成海冰分析产品。该海冰分析产品使用的原始数据来源于美国大气与海洋管理局(NOAA)的北半球海冰覆盖数据集(IMS),该数据集融合了多源遥感数据以及地面观测数据、模型输出数据,具有较高的精度[24]。通过这些海冰分析产品能够更加清晰地认识北极海冰变化趋势,能够进一步解释大气环流发生变化如何影响东亚气候异常。

海冰分析产品自动生成流程采用简洁高效的Python语言实现,完全采用面向对象编程思想,遵循单一职责原则,保证了设计程序的继承和扩展性,对整体系统后期的迁移、维护和升级带来极大的便利。而对于14类海冰产品实时计算,采用Fortran语言实现,有利于提高数据计算的效率(图6)。在此基础上构建高性能Web服务将这些实时海冰分析产品进行网络共享及展示(图7)。这些结果最终在弧形屏幕中实时展示,用来进一步解释科学现象,有利支撑科学观点。

图6 海冰分析产品自动生产流程Fig.6 Automatic production process of sea ice analysis products

图7 海冰分析产品Fig.7 Sea ice analysis product:number of days covered by sea ice in February 2020(a);trend of days covered by sea ice in February from 2017 to 2020(b)

3 应用案例

依托中科院国家图书馆2D展厅球幕系统、弧幕系统等设备,“三极球”以“数据-知识-服务”为主线,以高新技术为手段,建设一个集数据管理、计算、分析、服务、展示于一体的地球大数据原型系统可视化环境,实现数据→信息→可视化模拟的全过程,充分展示地球大数据科学工程专项在决策支持、科学发现、技术创新以及公众科普等方面的重要作用。“三极球”目前已在中科院国家图书馆2D展厅业务化运行,包括北极放大效应、三极冰雪冻融对比与关联及三极联动对东亚气候的影响三个紧密联系的情景故事,其中球形屏幕是演示的核心区域,所有脚本均以球形屏幕为中心展开介绍。弧形屏幕是对球形屏幕的进一步补充和说明,分为A和B两个屏幕,A屏幕侧重系统实时演示,B屏幕对其科学原理进一步展示。

3.1 北极放大效应

球幕系统展示内容:显示1870—2014年全球温度异常,视角从格陵兰转到青藏高原再到南极(图8),该过程由程序脚本自动运行,也可由iPad控制(以下屏幕及场景都可自动播放或者人工控制)。A屏幕脚本(图9):利用我国自主研发的全球预报系统准确再现了20世纪全球增温效应,我们发现在1979—2014年温室气体排放显著增加的时期,三极升温速度明显要比全球其他地区要快,尤其是北极地区升温明显,我们称之为北极放大效应。B屏幕脚本(图10):针对这一问题,专项利用自主研发的FGOALS-f2模型开展对北极海冰变化的实时预测,并结合已有的数值模拟结果分析了北极放大效应的原因。

图8 球形屏幕显示全球温度异常场(数据动态变化)Fig.8 Global temperature anomaly field is displayed on the spherical screen

图9 A屏幕展示三极温度异常变化Fig.9 The abnormal temperature variation of the three poles is showed on the Screen A

图10 B屏幕解释北极放大效应发生的原因Fig.10 The reason why Arctic amplification effect occurs is illustrated on the Screen B

3.2 三极冰雪冻融对比与关联

球幕系统展示内容(图11):展示三极温度异常对其冰冻圈的影响最为显著。A屏幕脚本(图12):通过近40年三极冰盖/冰川表面冰雪冻融进行对比分析,发现格陵兰与青藏高原地区受到温度升高影响,这两个区域冰雪融化持续时间增长,而南极受到海-冰-气相互作用,其冰盖融化持续时间缩短。B屏幕脚本(图13):同时我们也发现,南极与格陵兰冰盖融化面积年际变化呈现出“相反的变化趋势”(负相关),究其原因是因为大气和海洋的在两极间的热量输送作用导致的。

图11 球形系统展示三极温度异常对格陵兰岛、青藏高原及南极的影响(数据动态变化)Fig.11 The effects of three poles temperature anomalies on Greenland,Qinghai-Tibet Plateau and Antarctic are showed on the spherical system

3.3 三极联动对东亚气候的影响

球幕系统展示内容(图14):显示2011年1月全球温度异常场,视角北极转到中国与东亚区域,可以看出冬季北极增暖伴有中东亚特别是我国极端冷事件。A屏幕脚本(图15):南北极海冰的异常变化造成大气环流发生变化,进一步影响东亚气候异常。B屏幕脚本(图16):本研究的资助专项,利用中科院自主研发的气候模式针对三极相互作用物理过程开展研究,发现两极气候变化导致了中国与东亚地表温度的异常,这为理解三极联动协同影响中国天气气候提供了重要科学依据。

4 结论与展望

图12 A屏幕展示三极冰雪融化时间变化对比分析Fig.12 The comparative analysis of melting time of ice and snow in three poles are showed on the Screen A

图13 B屏幕解释南北极冰盖变化关联及影响机制Fig.13 The correlation and influencing mechanism of the changes in the Arctic and Antarctic ice sheets are explained on the Screen B

图14 球形屏幕显示2011年1月温度异常场(数据动态变化)Fig.14 The temperature anomaly field in January 2011 is showed on the spherical screen

地球大数据开启了地球科学认知的新范式。随着天-空-地一体化对地观测技术的快速发展三极地区也积累了海量时空数据,主要体现在卫星遥感、模型模式与地面观测数据三个方面。针对这些数据特点,研究并集成了五大关键技术,在此基础上研发了一套B/S架构的三维可视化系统,并选取三个典型的科学案例,利用弧形屏幕和球形屏幕相结合的方式更加直观、生动的再现三极科学重大发现。该可视化系统有利于管理决策者与普通大众理解三极生态环境变化相关研究成果,而集成的五个关键技术是实现信息服务的核心和关键,能够为地学领域相关的信息展示提供借鉴。

图15 A屏幕展示南北极海冰是重要的气候驱动因子Fig.15 Screen A shows that Arctic and Antarctic sea ice is an important driver of climate

图16 B屏幕解释三极联动对我国及东亚气候的影响Fig.16 The effect of three poles linkage on climate in China and East Asia is explained on the Screen B

本研究开发的三维可视化系统具有较好的可扩展性,后期可以很容易地将其他科学数据集成到该平台。下一步工作将重点解决以下三个问题:

(1)目前该系统对显示器的要求较高,虽然能够在不同分辨率的大屏幕和普通电脑中浏览,但是对于只配备普通显卡的电脑,其可视化的体验还不够完美,这是未来急需改进的地方。

(2)目前系统只实现了三个重要场景,后期需要考虑更多的三极联动分析的可视化场景,如北极地区植被物候的变化与全球气温的关系,昼夜温度与植被落叶期物候变化的关系以及气溶胶变化与北极生态系统的生产力的关系等。

(3)目前的系统重点实现了数据的可视化功能,没有考虑针对用户需求的实时计算功能,今后须完善Mapreduce、Spark等大数据库计算接口,并支持关键遥感数据典型反演算法接口的Web调用,如北极海冰变化、积雪覆盖比例、雪深、冻融状态、碳吸收能力等,为实现三极决策支持提供在线分析功能。

致谢:“三极球”的建设自2019年实施至今,得到了中国科学院遥感与数字地球研究所、中国科学院大气物理研究所、中国科学院计算机网络信息中心、国家卫星气象中心等单位及同事的帮助,对他们在网络平台开发、数据服务、脚本编写等方面的工作表示衷心感谢。何编、梁磊、郑照军协助完成了海冰及冻融产品的研制,在此致谢。本系统涉及到的栅格数据格式自动转换代码在Github上面共享:https://github.com/FlankYangPengFei/wad。

猜你喜欢

三极可视化科学
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
点击科学
“融评”:党媒评论的可视化创新
三极观测急需国产专业卫星
科学大爆炸
2000年以来国际青藏高原和南北极研究进展
三极管在春季高考中的考点分析
科学拔牙