软件介绍|ENVI/IDL软件及二次开发介绍

    ENVI是美国Exelis Visual Information Solutions公司的旗舰产品,它是由遥感领域的科学家采用交互式数据语言IDL(Interactive Data Language)开发的一套功能强大的遥感图像处理软件。

1 ENVI软件介绍

    ENVI是一个完整的遥感图像处理平台,其软件处理技术覆盖了图像数据的输入/输出、定标、几何校正、正射校正、图像融合、镶嵌、裁剪、图像增强、图像解译、图像分类、 基于知识的决策树分类、面向对象图像分类、动态监测、矢量处理、DEM提取及地形分析、雷达数据处理、制图、三维场景构建、与GIS的整合,提供了专业可靠的波谱分析工具和高光谱分析工具,还可以利用IDL为ENVI编写扩展功能。

软件介绍|ENVI/IDL软件及二次开发介绍_第1张图片

    ENVI最新版5.5于2018年2月份正式发布,在ENVI5.5版本中,支持最新WorldView-4等数据;新增ENVI Modeler建模工具,可以零代码构建工作流或者批处理;新增ENVI Py,与ArcGIS一体化集成更加简便,支持与ArcGIS Pro一体化集成;增加更多的ENVITask函数等。ENVI5.5对应的IDL版本是8.7。

2 IDL介绍

    IDL(Interactive Data Language)交互式数据语言是进行二维及多维数据可视化表现、分析及应用开发的理想软件工具。作为面向矩阵、语法简单的第四代可视化语言,IDL致力于科学数据的可视化和分析,是跨平台应用开发的最佳选择。早在1982年NASA的火星飞越航空器的开发就使用IDL软件,到现在IDL已经被列为国外许多大学的标准课程,IDL使科研人员无须编写传统程序就可直接研究数据。IDL语言与大型图形和GIS应用软件相距近,应用IDL可以快速的开发出功能强大的三维图形图像处理软件和三维GIS应用系统。

    由于其强大的功能和独特的特点,IDL语言可以应用于任何领域的三维数据可视化、数值计算、三维图形建模、科学数据读取等功能中。概括说来,在地球科学(包括气象、水文、海洋、土壤、地质、地下水等)、医学影像、图像处理、GIS系统、软件开发,大学教学,实验室,测试技术,天文,航空航天、信号处理,防御工程,数学统计及分析,环境工程等很多领域,IDL语言都可以得到广泛而又深远的应用。目前应用IDL语言,已经开发出了ENVI、IMAGIS、RiverTools等成熟产品。

3、ENVI学习入门

   目前国内介绍ENVI最全面的资料是“ENVI-IDL技术殿堂”博客(百度一下) ,这个是官方博客,有ENVI和IDL相关知识介绍,还有许多培训视频和样例数据下载。另外,还有一个最重要的学习资料就是ENVI自带的帮助文档。

4、ENVI与ArcGIS一体化集成

   ENVI从5.0版本开始与ArcGIS软件进行交互,并逐步实现一体化集成,ENVI与ArcGIS软件一体化集成主要体现在以下几个方面:

1、数据一体化
    ENVI与ArcGIS软件数据格式相互支持,投影转换引擎一致;ENVI支持WMS/WCS等OGC标准服务,可打开已经发布为Web services 的影像数据; ENVI支持企业级的Geodatabase;ENVI还可以连接Esri的地图服务(包括镶嵌数据),如ArcGIS Online的服务。
2、平台一体化
    可以通过鼠标将ArcMap中的图层直接拖拽到ENVI软件中,并且保持原有的符号显示;在ENVI软件中,可以通过一个菜单将打开的数据文件直接传递到ArcMap中;可以通过Geolink功能,将ENVI与ArcMap进行同步显示。
    在安装ENVI时候,默认会将ENVI tool自动安装在ArcMap中,将ENVI的专业图像处理和分析功能作为独立的工具嵌入ArcGIS Toolbox中,在ArcGIS Desktop中直接使用ENVI的影像处理和分析工具,这些工具也可直接用于BuildModel,可以用Python调用自定义功能。
3、开发一体化
     ENVI/IDL可以与ArcGIS Engine集成开发,发挥各自的优势;可以用Python语言将ENVI所有功能嵌入到ArcMap中,包括基于IDL开发的功能,形成自定义的ToolBox,这个工具可以直接用于ModelBuilder。
4、企业级/云平台一体化集成
    ENVI Services Engine可以无缝融合ArcGIS云。

    总之,ENVI与ArcGIS一体化集成,解决了数据、分析、共享三者之间融合问题,能够形成一个完整的空间信息业务化平台。

5、ENVI二次开发

    ENVI 5.0以前的版本,二次开发非常麻烦。从ENVI 5.0版本开始,加入了许多全新的二次开发函数接口,并提供ENVI  Tasks调用,这些全新的函数接口采用面向对象的开发方式,使得ENVI二次开发变得更加轻松、智能。

1、基于IDL的ENVI二次开发

    ENVI软件本身是采用IDL开发的一套功能强大的遥感影像处理系统,ENVI软件提供多个影像处理函数及ENVITasks接口,可以通过IDL语言直接调用进行二次开发。

2、基于C#与IDL混合编程    

    C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言,常用于ArcGIS二次开发。将IDL代码编译成pro文件后,C#可以通过COM组件的方式调用IDL组件,实现C#界面下调用IDL和ENVI功能,还能同时调用ArcEngine组件,实现ArcGIS与ENVI一体化集成二次开发。后续文章将要要介绍的影像批处理工具主要采用C#与IDL混合编程方式开发。

你可能感兴趣的:(ENVI/IDL开发,ENVI,二次开发)