【IDL】 IDL8.1新功能介绍
IDL8.1于2011年4月15号正式发布。新版本中增加了Grib1和Grib2数据格式的直接读写,自带了高精度的世界矢量,支持创建高质量的视频文件;此外,IDL的图像可视化语法部分的优化使得您更加轻松、快捷的进行可视化和使用IDL。
1. GRIB格式支持
GRIB(Gridded Binary)是一种基于“位”的网格二进制数据交换格式,主要用来表示数值天气分析和预报的产品资料,如世界区域预报系统中的风温资料都是以GRIB格式存储的。IDL8.1中新增加GRIB1和GRIB2文件格式的读写类函数,使用如GRIB_OPEN,GRIB_GET_VALUES和GRIB_SET等函数快速直接的读写GRIB格式文件。
2. KML/KMZ文件输出
IDL8.1支持将渲染显示的曲线、等值线、图像或三维体数据导出为KML或KMZ文件,便于在Google Maps或Google Earth上展示。
图1 IDL中的图像与标注
图2 IDL中的图像与标注在Google Earth中展现
图3 Google Earth中叠加IDL的三维等值线效果
3. 可视化增强
快速可视化程序,在下面几个方面进行了增强。
- 可自定义添加键盘、鼠标等事件响应程序,实现快速、交互式的可视化。
- GetValueAtLocation方法获取当前可视化效果在当前位置的数据;
- 坐标轴范围可任意编辑;
- 鼠标位置自动靠近临近点;
- 文字标注时可直接输入汉字;
- 可视化效果保存时可进行pdf文件的添加;
4. 高质量视频输出
新增了IDLffVideoWrite类,支持创建.avi或.mp4视频文件;
mp4文件使用了MPEG-4的压缩编码,声音使用AAC编码。
5. 较高精度世界边界矢量
IDL对自带的全球大陆边界矢量数据进行了更新,提高了矢量精度,满足不同的可视化效果的需要。
图4 大陆边界矢量精度对比(左:以前,右:现在)
6. 分析函数
高斯平滑:新增了高斯平滑处理函数的Gaussian因子和Edge_Warp关键字,增强了对图像边界的处理效果,实现降噪和平滑的目的。
图5 原始图像高斯平滑前后
7. 语法部分
链表和哈希表的改进:
- 新增ToArray和ToStruct方法,快速方便的将链表和哈希表转换为数组或结构体。
- 新增IsEmpty和Count方法,快速判断链表和哈希表为空和计算元素个数。
- 新增FindValue方法,提供直接在链表和哈希表中查找特定的值的功能。
8. 功能函数
ISA函数
新增Number关键字,快速判断变量是否是数字;
字符串编码转换
新增L18N_*字符串编码转换函数,方便实现字符串在不同编码下的转换。主要有下面几个函数:
- I18N_MULTIBYTETOUTF8
- I18N_MULTIBYTETOWIDECHAR
- I18N_UTF8TOMULTIBYTE
- I18N_WIDECHARTOMULTIBYTE
发布函数
MAKE_RT函数新增GRIB、HIRES_SHAPEFILE和VIDEO关键字。
9. 编译器功能
在工程代码共享或管理上,新增加CVS、Git、Perforce和Subversion几个控件来管理程序版本,便于多人开发环境时源码的版本管理、维护。
10. 直观易用的帮助系统