高维数据是一种非常常见的数据类型,其中包含了多种属性。比如:数值模式输出结果通常包含多种物理参量及多个时次,还有一些空间位置信息。尽管高维数据非常常见高维数据可视化,但是高维数据的分析一直是个挑战。那么如何才能有效的分析高维数据呢?就此问题,本文主要介绍一些气象领域的高维数据可视化工具。
Vis5D是一个3D可视化系统[注1],主要应用于气象模拟数据的3D可视化,比如:常规3D网格的时间序列模式输出数据。它是第一个能够将时变体数据集可视化为3D动画的完全交互系统,而且还是第一个开源的3D可视化系统。Vis5D已经升级为Vis5D+项目,开始了新一轮的更新。
Vis5D中的5D表示的是包含3D网格时间序列的大气/海洋物理参数集,前3D表示经度,纬度和高度,第4维表示时间,第5维表示物理变量,如温度,风等。图形用户界面使用户可以非常方便的可视化每一个参数,当然,也可以对多个参数进行可视化。Vis5D的关键创新点是它能够让用户很快的看到模拟结果的动画显示效果。其提供的内存管理功能可以对大数据集单个时步数据进行可视化,而不需要对整个时间序列进行计算,对于小数据集来说,可以直接动态显示整个数据集。vis5d同时提供了API[注2],对于开发者来说可以将Vis5D的功能扩展到其他系统或编程语言,比如”胶水语言“python,这样能有效降低Vis5D的学习曲线。
利用Vis5D可视化模式数据之前,需要将模式输出数据转换为v5d。官方文档中提供了fortran和C语言版本的程序提供转换操作,但是学习成本比较高。如果你的数据格式是HDF5,你可以利用h5utils[注3]工具中的h5tov5d将HDF5格式文件转换为v5d格式文件(注意:编译h5utils之前需要先编译vis5d),除此之外,grib2v5d [注4]工具提供将GRIB格式数据转换为v5d格式,对于NetCDF格式,ARWpost(旧版支持)提供了vis5d的编译选项,可以支持将WRF模式输出转换为v5d格式[注5]。还有WRF2VIS5D提供了转换支持[注6]。
目前有很多数据格式互相转换的工具,如果你所使用的数据格式无法直接转换到vis5d支持的格式,则可以转换为hdf5或grib或NetCDF中的任何一种,然后再转换为vis5d支持的格式即可。
Vis5D可视化效果
图片来源于NSSL[注7]
除了Vis5D之外,美国国家大气研究中心计算信息系统实验室开发的VAPOR也可以进行3D可视化,并且主要作为海洋,大气研究者的可视化和研究平台,其可以直接导入NetCDF,GRIB数据格式,以及WRF,ROMS产生的数据格式 [注8]。
VAPOR可以直接导入WRF模式所产生的数据,而无需转换操作。通过VAPOR的图形界面'Import WRF-ARW data into default session'按钮即可导入WRF模式数据。更多的可视化数据操作见官方文档 [注9]。VAPOR提供了和IDL,NCL,Python交互使用的示例及接口 [注10],还提供了Python脚本编辑器,可以非常方便的提取和创建变量 (谁用谁知道~)。
VAPOR可视化效果
图片来源于VAPOR [注11]
可视化真的是一门艺术!尤其是高维数据的可视化!国外在这方面的研究真的是太多了。除了以上介绍的以外,还有很多可视化项目。比如VisAD以及基于VisAD和IDV的McIDAS-V等等。
VisAD是交互协作可视化及分析数值数据的Java库。作为纯Java实现的库,其优点是不依赖于平台,而且支持数据共享以及实时的用户协作;可以适应几乎任何数值数据,并且支持不同用户之间共享数据,不同的数据源和不同的学科,支持NetCDF,hdf5,HDFEOS,GIF,JPEG,TIFF,Vis5D,ASCII等文件格式。最重要的是提供了Python接口,但需要安装Jython [注12-13]。
McIDAS-V完全支持Java和Java 3D,因此可以运行在任何平台。McIDAS-V支持多种数据格式以及远程获取数据功能,比如数值模式以及再分析网格数据格式 (NetCDF,GRIB,Vis5D,GEMPAK)高维数据可视化,大多数格式的卫星图像,Level II 和III 等雷达数据以及GIS使用的数据格式 [注14-15]。如果你需要利用Python扩展一些功能,McIDAS-V允许使用Jython库编辑器添加自定义Jython方法,在主菜单中选择 Tools->Formulas->Jython Library即可,如下图:
更多使用方法见 注15 Data Analysis -> Jython Methods
McIDAS-V可视化效果
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。