ENVI IDL编译单个pro文件的做法

 时间:2026-02-13 16:47:47

1、编写一个简单的IDL程序,保存为pro文件。代码如下:

;重采样执行功能

;输入放缩比例和采样方法

PRO Object_ENVI_Resize::EXECUTEResize,$

    xfactor, yfactor,method

  COMPILE_OPT idl2, hidden

  

  ;打开文件

  ENVI_OPEN_FILE, self.INFILENAME, R_FID=fid

  IF (fid EQ -1) THEN RETURN

  ;查询文件基本信息

  ENVI_FILE_QUERY, fid, dims=dims, nb=nb

  pos  = LINDGEN(nb)

  ;重采样处理

  ENVI_DOIT, 'resize_doit', $

    fid=fid, pos=pos, dims=dims, $

    interp=1, rfact=1./[XFACTOR,YFACTOR], $

    method = METHOD,$

    out_name=self.OUTFILENAME

    

END

;对象的析构函数

PRO Object_ENVI_Resize::CLEANUP

  COMPILE_OPT idl2, hidden  

  ;关闭ENVI二次开发模式

  ;需要注意,COM组件调用该功能的时候,必须设置如下参数:

  ; 在ENVI主菜单的File-Preference-Miscellaneous下

  ; 设置 Exit IDL on Exit from ENVI为'NO'

  ENVI_BATCH_EXIT

END

;ENVI初始化方法

FUNCTION Object_ENVI_Resize::initEnvi

  CATCH, error_status

  IF Error_status NE 0 THEN BEGIN

    RETURN,-1

    CATCH, /CANCEL

  ENDIF

  ;ENVI二次开发模式初始化

  ENVI,/Restore_Base_Save_Files

  ENVI_BATCH_INIT

  RETURN,1

  

END

;对象初始化函数

;包含两个参数:输入和输出文件名。

;

FUNCTION Object_ENVI_Resize::INIT,$

    inFileName ,outFileName

  COMPILE_OPT idl2

  ;文件名参数

  self.INFILENAME = inFileName

  self.OUTFILENAME = outFileName

  ;初始化ENVI

  INITFALG = self->INITENVI()

  RETURN, INITFALG

  

END

;类定义

PRO OBJECT_ENVI_RESIZE__DEFINE

  ;类定义结构体

  void = {Object_ENVI_Resize, $

    inFileName : '', $

    outFileName : '' $

    }

END

2、使用IDL 85集成环境打开pro文件(编译32位的sav使用32位的IDL集成环境,编译32位的sav使用64位的IDL集成环境),如下图:

ENVI IDL编译单个pro文件的做法

3、单击工具栏上的编译按钮对pro文件进行编译,如下图:

ENVI IDL编译单个pro文件的做法

4、在命令栏中输入命令将编译结果生成sav文件,输入命令如下:

save,/routines,file=’E:\Publish\object_envi_resize_define.sav’

其中E:\Publish\object_envi_resize_define.sav为保存的全路径。到这里就生成了sav文件。

ENVI IDL编译单个pro文件的做法

  • MATLAB绘制彩色廓线地图
  • EXCEL如何在单元格中输入立方根
  • Global Mapper 3D路径剖面视通线工具的使用
  • Arcgisengine10.2的安装方法/教程
  • arcgis点数据导入cityengine
  • 热门搜索
    四川旅游最佳路线 广西阳朔旅游攻略 旅游案例分析 欣欣旅游网首页 河源旅游攻略 广州白云山旅游攻略 同程旅游招聘 广州旅游攻略自助游 印尼巴厘岛旅游攻略 蚂蜂网旅游