IDL基本操作介绍
课题名称:任课教师:
遥感图像处理及ENVIIDL操作实践
1
目录
一、 1.
IDL简介 .............................................................................................................. 3 IDL特殊符号说明 ......................................................................................................... 3 1.1. 1.2. 1.3. 2. 2.1. 2.2. 3. 3.1. 3.2. 3.3. 二、 1. 2.
大写 ..................................................................................................................... 3 注释符 ................................................................................................................. 3 续航符 ................................................................................................................. 3 变量 ..................................................................................................................... 3 数组 ..................................................................................................................... 5 定义和编译程序 ................................................................................................. 6 命名和编译源文件 ............................................................................................. 7 程序控制语句 ..................................................................................................... 7
IDL语法基础 ................................................................................................................ 3
IDL编程基础 ................................................................................................................ 6
IDL基本操作介绍 ................................................................................................ 9 题目及要求 .................................................................................................................. 9 解决方案 ...................................................................................................................... 9
2.1 2.2 2.3 2.4 2.5 三、
数据说明 ............................................................................................................. 9 二进制文件读取 ............................................................................................... 10 各像元的线性变化趋势及显著性概率计算 ................................................... 12 有效物候区返青期平均变化趋势统计 ........................................................... 14 制图输出线性变化趋势 ................................................................................... 17
总结 .................................................................................................................. 26
2
一、 IDL简介
IDL(Interactive Data Language)交互式数据语言是进行二维及多维数据可视化分析及应用开发的理想软件工具。作为面向矩阵、语法简单的第四代可视化语言,IDL 致力于科学数据的可视化和分析,是跨平台应用开发的最佳选择。它集可视、交互分析、大型商业开发为一体,为用户提供了完善、灵活、有效的开发环境。IDL为用户提供了可视化数据分析的解决方案,既可以让科学研究人员交互式浏览和分析数据,又为程序员提供了快速程序原型开发并跨平台发布的高级编程工具。IDL使科学家无需写大量的传统程序就可直接研究数据。IDL被广泛应用于地球科学、医学影像、图像处理、软件开发、大学教学、实验室研究、测试技术、天文、信号处理、防御工程、数学分析、统计等诸多领域。
1. IDL特殊符号说明
在IDL程序中,当在命令行中输入命令时,IDL将会识别大量的特殊字符。下面介绍几种较为重要的特殊符号。
1.1. 大写
IDL 对字母的大小写并不敏感,但与操作系统打交道的命令(例如:UNIX 操作系统对 IDL 所打开的文件名的大小写敏感)和执行字符串比较命令时除外。
1.2. 注释符
在 IDL 命令中,分号 “;”(英文半角符号)表示注释内容的开始,分号右边的任何文本都被视为是注释,IDL 解释器将忽略它。例如:
pro test
;A simple program
print,\,$
\;This line prints a message end
1.3. 续航符
IDL 中的续行符是表示美元的符号“$” 。这表示 IDL 语句延续到下一语句行(见上例)。
2. IDL语法基础
2.1. 变量
3
IDL提供了灵活的数据类型定义方法,在任何时候,IDL都允许用户创建新的变量,或重新定义已有的变量。
变量名必须以字母开头。它们可以包括其他字母、数字、下划线、美元符号。一个变量名最长可达 255 个字符。
变量有两个重要属性: 数据类型和组织结构。 数据类型指出属于数据类型中的哪一种。IDL 提供了非常丰富的数据类型,用户可以实际需求经行选择。表1显示了每一种数据类型及其描述,每种类型创建的变量的字节大小、变量创建方式、数据类型之间强制转换的 IDL 函数名称。 除了数据类型外,每一个变量有一个组织结构。有效的组织结构有标量(例如单个数值) 、矢量(真正的一维数组) 、数组(最高可达八维)和 IDL 结构(能包含各种数据类型的变量和组织结构,结构中独立的组成部分称为字段)。
表1 IDL基本数据类型
数字类型变量 数据类型 byte int long long64 uint ulong ulong64 float double complex dcomplex 描述 字节型 16位有符号整型 32位有符号长整型 64位有符号整型 16位无符号整型 32位无符号长整型 64位无符号整型 浮点型 双精度浮点型 复数 双精度复数 字节数 1 2 4 8 2 4 8 4 8 8 16 创建变量 Var=0B Var=0 Var=0L Var=0LL Var=0U Var=0UL Var=0ULL Var=0.0 Var=0.0D Var=Complex(0.0,0.0) Var=Dcomplex(0.0D,00D) 数据类型函数 thisVar=Byte(variable) thisVar=Fix(variable) thisVar=Long(variable) thisVar=Long64(variable) thisVar=UInt(variable) thisVar=ULong(variable) thisVar=Ulong64(variable) thisVar=Float(variable) thisVar=Double(variable) thisVar=Complex(variable) thisVar=DComplex(variable) 非数字类型变量 数据类型 string pointer objref stuct
描述 字符串 指针 对象 结构体 字节数 0-32767 4 4 — 创建变量 Var=’’或Var=”” Var=Ptr_New() Var=Obj_New() — 数据类型函数 thisVar=String(variable) None None — 4