黎嘉明 付红彬 张志敏
(广东省环境信息中心,广州 510308)
“重点城市群大气复合污染综合防治技术与集成示范”(Synthesized Prevention Techniques for Air Pollution Complex and Integrated Demonstration in Key City-Cluster Region ,英文简写为3c-star,以下简称“项目”)是中国“十一五”期间,由国家高技术研究与发展计划(863)设立的一个项目,以增强城市群区域大气复合污染控制能力,参与的单位包括北京大学、清华大学、中科院等著名院校及科研部门,也包括广东及京津地区政府环保部门,以使这些项目的成果能更好地在实际应用部门“落地”。作者所在的广东省环境信息中心承担了项目中的《区域大气环境综合管理和辅助决策系统》的研发工作,工作的目标是将项目中各个课题的研究成果与广东省环保厅的业务需求相结合,让研究成果可以应用到实际工作中。本文阐述的大气污染预测数据可视化动态展示技术结合了项目中北京大学、中科院大气所的研究成果,研究适合在现代网络和移动终端中可视化展示的方法和技术。
项目中由中科院大气所研发的大气污染预测模式生成的数据是三维的网格数据,格式为NetCDF,数据描述在一个立体空间里面,由高到低分成20个平面,每个平面会分成多个小方块,每个小方块的大小为3km×3km,共120×100个,方块包含20多个变量,每次预测的时间为72个小时。这种数据的时序变化比较好的方法是使用动画来展示,而且因为它是平面的数据,数据范围超过以往监测点的数据,如果能结合GIS一起展示会有更好的效果。虽然在科学研究领域中,已经有一些科学软件可以对NetCDF格式的数据进行图像渲染,这些软件可将NetCDF格式数据生成二维图片、图表、甚至gif动画等等,但是这些软件多是基于Linux工作站的商业软件,无法在网络环境中实现多用户的互动可视化,更不能与GIS平台集成。因此需要针对现有的网络环境以及地理信息系统平台,结合应用部门的需求。我们希望通过研究新的技术很好地解决以上的问题。为此制定了以下的研发目标:
(1)实现污染物浓度值和评价值以多色渐变、多色梯度、单色渐变、单色梯度以及等值线等方式进行可视化渲染;
(2)实现大气污染预测数据的时间演变动画,动画实时生成,可以由用户“互动”检索(快进、回退、调整播放速度、查看任意位置的数值);
(3)实现模式域任意纵向剖面的状态,需要研究如何从NetCDF中快速地获取一个纵向剖面的数据进行可视化显示;
(4)更好地关联显示气象因素,使气象与大气污染的变化可以紧密集成;
(5)基于WebGIS,可叠加更多的业务数据(例如污染源数据、空气实时监测数据)。
为了实现以上的研发目标,我们将项目分解为多个技术研究的任务,其中取得比较大的技术进步的有以下几个:
要实现研发目标,抽取NetCDF数据是首要任务。由于现有的工具大多是linux命令行模式的程序,不适合我们的应用服务器整合,因此需要开发软件直接对NetCDF文件进行解析读取。NetCDF数据格式属于自解释格式,它的存储是按照时间对每一个变量进行分块存储,对于单时间整块数据可以很快地进行定位读取,但是对于多时间数据的读取,需要从NetCDF文件所有块中分别读取数据,而这些数据在物理磁盘上是分开存放,磁盘IO花费的时间很大,造成读取效率低下。因此我们引入一种新的数据存储格式对数据进行转换,这个转换工作放在模式计算完成后自动执行,在数据转换的同时也对多个模式的数据进行综合平均,并计算API、RAQI等评价结果。
由于数据需要在GIS平台上展示,要求NetCDF数据的空间参考与GIS平台一致,从预测模式生成的NetCDF数据所使用的坐标系为兰伯特投影,GIS平台使用的则是WGS1984麦卡托投影,这需要在可视化之前对多维数据集先进行投影变换,多维数据集不是GIS图层,无法使用现有地理信息系统的投影变换功能,因此需要独立开发软件,编写变换算法。对于预测模式来讲,源清单的投影以及模式域一旦确定下来,一般不会经常改变,这就可以将空间变换的参数当作一个静态数据,通过现有的GIS软件将之每个格网的坐标变换到目标坐标系下,并将坐标对应关系存储在数据库中,在可视化时通过查数据库的方式间接地实现投影变换。这种技术经过实验证明可行,可以非常快速地将NetCDF的数据映射到GIS上。
以上的数据转换、处理工作均在后台服务器端自动运行,而为了实现用户“互动”检索功能,还需要自己开发前台客户端软件,实现数据的展现和查询。为了实现这一目标,我们使用Silverlight前端技术,结合Esri ArcGIS的WebGIS平台,以地图层的方式展示大气污染预测数据,并可以与其他的业务数据层一起整合。
为了更好地展示气象因素与大气污染的变化的关联,我们进一步在以上的基础上加以改进,引入新的技术和方法,研究出一套新的制作大气污染预测数据时序变化动画的技术,要点如下:
(1)使用插值的方法将动画由每小时1帧变为每小时12帧,以提高动画的流畅度。经过多次的实验,我们发现固定位置的数值时序变化的插值,并不能达到预期的效果。传统上表现风力和方向的方法,是在小方格上画一个矢量箭头,箭头的方向和长短根据风力的方向和长短而变化。但是这个风也是“固定位置”的,需要有一种新的技术来实现“移动位置的时序变化”。
(2)引入粒子系统技术来展示大气的流动。“粒子系统技术”是计算机图形学中模拟一些特定的模糊现象的技术,这些现象用其他传统的渲染技术难以实现。例如:火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者像发光轨迹这样的抽象视觉效果等。利用粒子系统技术,结合大气污染预测数据中风力的数据,模拟出空气流动的变化,既解决了动画插值的流畅度的问题,也同时实现了气象数据与大气污染数据的关联展示,从动画中可以非常直观地看出大气污染带随气流的漂移、污染带在停滞的气流环境下的累积等现象,这些都是在传统的展示技术中难以实现的。
(3)使用32bit的计算机图形格式,基于Alpha通道实现多层图形数据的无损叠加,可实现GIS地图层、标注层和其他业务数据的叠加,更容易实现业务管理的需要,利用这种技术我们开发出应用服务,每天紧接着大气预测模式运行,自动生成预测数据的动画文件(MP4格式,可直接在网络浏览器和移动终端上播放),效果如下图所示:
本文阐述的“基于WebGIS和粒子系统的大气污染预测数据展示技术”是国家“863”项目“重点城市群大气复合污染综合防治技术与集成示范”(3c-star)的重点科研成果之一。与以往使用科学计算工具对预测数据进行分析的工作不同,此项技术是国内首个对预测数据进行底层的、深入的全面的分析、处理、展示的技术。该技术已运用于具有自主知识产权的“区域大气环境综合管理和辅助决策系统”,并运行于广东省环境保护厅的内部信息平台上,其效果获得国内外专家的好评。
[1] NetCDF Documentation (http://www.unidata.ucar.edu/software/netcdf/#documentation).