ENVI二次开发:集成与菜单定制实践

需积分: 9 3 下载量 53 浏览量 更新于2024-08-16 收藏 2.3MB PPT 举报
"ENVI/IDL与其它语言集成开发PPT" ENVI(Environmental System Research Institute)是一款广泛用于遥感图像处理和分析的软件,而IDL(Interactive Data Language)是其内置的一种强大的数据处理和可视化语言。ENVI的二次开发允许用户根据需求定制功能,集成其他编程语言,以提升工作效率和解决特定问题。 1. 菜单的定制与自定义坐标系 ENVI的菜单定制是通过编辑`.men`文件实现的。例如,`display.men`, `display_shortcut.men`, 和 `envi.men`分别控制显示窗口菜单、快捷菜单和主菜单。每个菜单项由多个组成部分构成,如级别(LEVEL)、按钮名称(BUTTONNAME)、用户值(UVALUE)和事件处理程序(EVENTHANDLERPROCEDURE)。用户可以通过在`.men`文件中添加或修改条目来自定义菜单结构,并通过编写IDL程序来响应菜单选择。例如,可以添加一个名为"MyFunctions"的菜单,包含子菜单"BasicFileInfo",并关联到`file_info`事件处理器。 2. 波段运算与批处理 在ENVI中,波段运算涉及对遥感图像的不同光谱通道进行数学操作,如相加、相减、乘法等。这些操作可以应用于单个图像或多个图像的波段,实现数据分析或图像增强。批处理则允许用户一次性对多幅图像执行相同的操作,节省时间。例如,可以编写一个IDL程序,自动读取指定目录下的所有图像,进行特定的波段运算,然后将结果保存。 3. ENVI函数 ENVI提供了一系列的函数,用于图像的读取、显示、分析和处理。例如,`ENVI_SELECT`用于打开文件选择对话框,`ENVI_FILE_QUERY`获取图像的元数据信息,`OpenR`和`Free_LUN`用于读取和释放文件单位,`FSTAT`获取文件状态信息。通过熟练掌握这些函数,开发者能够构建复杂的遥感数据处理流程。 4. ENVI/IDL与ArcGIS一体化集成方案 ENVI和ArcGIS都是地理信息系统(GIS)领域的重要工具。ENVI主要用于遥感数据处理,而ArcGIS则擅长空间分析和制图。通过Callable技术和IDLDrawWidget ActiveX,可以将ENVI的功能嵌入到ArcGIS环境中,实现两者的无缝集成。例如,可以在ArcGIS中调用ENVI的函数进行遥感图像处理,并将结果直接展示在地图上。 在二次开发实践中,用户通常需要在IDL环境下编写程序,实现特定功能,然后将这些程序与ENVI菜单或工具栏关联,或者通过 Callable 技术使其他编程语言(如Python、C++等)能够调用ENVI/IDL的功能。这样,用户不仅可以扩展ENVI的功能,还能与其他系统集成,提高工作效率,满足复杂的数据处理需求。