论文部分内容阅读
海洋信息需要大量的数据描述,存储容量大,而且格式不同;这些数据在时间、空间位置上有关联。如何将海量的数据以直观的方式表达是当前研究的一个热点方向,涉及大数据和数据图示化等相关领域。论文尝试将海洋数据转变为图形元素直观的显示出来,可以为相关管理机构提供快速决策的依据,并且可以发现更多有用的信息以及隐藏在数据背后的规律,特别是当数据量较大、结构较为复杂时,使用该技术来表达其信息是直观、有效的。论文将海浪、海冰的实测数据以及溢油模拟用可视化技术表达,形象地显示出海上环境信息,提供快速了解海洋环境的方法,也增添了一种交流海洋信息的方法。论文使用Visual Studio 2010中的MFC作为界面框架,OpenGL作为三维(3D)可视化渲染引擎,百度地图JavaScript API作为显示地理信息和二维(2D)可视化的工具,完成了海洋数据可视化仿真平台的设计,论文主要完成的工作内容有:1.在MFC下搭建OpenGL的3D可视化程序框架,实现海浪3D可视化;并调用百度地图JavaScript API,实现海洋数据的2D可视化。2.探索数据可视化的算法:论文研究了使用OpenGL实现海浪的3D可视化方法,以及使用颜色映射算法在百度地图上实现海洋数据2D可视化。3.海浪数据可视化:对海浪数据进行了3D可视化和2D可视化。3D可视化使用基于几何模型的标准正弦函数对海面海浪进行建模;并使用投影网格算法对大规模海面进行网格划分,从而提高计算和渲染速度。同时对海浪的离散网格数据进行预处理:剔除陆地上的无效数据,并使用距离反比权重插值(IDW)算法将离散数据连续化。在绘制海浪模型时,海面网格对海浪数据进行采样,实时生成海浪。为了增加模型的真实感,使用纹理贴图技术对网格进行贴图。最后使用OpenGL渲染引擎对海浪模型渲染,实现海浪数据的3D可视化。海浪数据2D可视化使用百度地图JavaScript API实现:需要先将预处理的海浪数据中的经纬度转换成百度经纬度,并将数据转换为JavaScript对象。再使用颜色映射算法将海浪波高数据与颜色进行映射。最后使用百度地图JavaScriptAPI函数进行绘制渲染,实现对海浪数据的2D可视化。4.基于百度地图的海冰数据2D可视化:方法和海浪数据2D可视化相似。先对海冰数据进行预处理,再使用颜色映射算法把海冰数据在百度地图上2D可视化。5.海面溢油模拟及可视化:对海上溢油事故进行模拟,并将模拟数据在百度地图上2D可视化。溢油模拟可视化分为三个部分,分别为输入部分:溢油的各种属性的初始化;溢油行为计算部分:根据溢油模型计算溢油的漂移扩散等过程;输出部分:把溢油行为变化数值转化为图像数据并在百度地图上可视化。模拟了溢油在东南风、西北风作用下10天内漂移、扩散、蒸发等行为变化,并将模拟数值在百度地图上进行2D可视化。论文在该平台中实现了海浪数据的3D和2D可视化、海冰数据的2D可视化、溢油事故模拟及2D可视化,为管理人员的决策提供快速支持。