搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
遥感二次开发语言IDL(第2版)
0.00     定价 ¥ 129.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787030750143
  • 作      者:
    徐永明
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2023-03-01
收藏
荐购
畅销推荐
编辑推荐

延续第1版的风格,顺应快速发展的遥感技术。可作为遥感、测绘、地理、环境、气象等学科的本科生及研究生教材,也可作为遥感及相关领域教师及科技工作者的参考书。

展开
精彩书摘
基础篇
  第1章 IDL语言概述
  1.1 IDL语言简介
  交互式数据语言 IDL(Interactive Data Language)是美国 Harris Geospatial Solutions公司的一种面向数组的计算机语言。自 1977年问世以来,IDL以其简单灵活的语法、强大的数据分析处理和可视化功能,在遥感、天文、地质、航天、医学和军事等许多领域得到了广泛应用。
  IDL语言昀大的特点是面向数组,对数组的操作快捷且方便。基于 IDL语言开发的遥感图像处理平台 ENVI(the Environment for Visualizing Images)与 IDL语言能够方便地进行数据交互和函数调用,大大提高了 IDL语言处理遥感图像的能力,可以让用户专注于算法方面的工作,用昀少的时间和资源完成任务。因此, IDL语言是进行遥感图像处理及应用分析的理想工具。
  1.2 IDL工作环境
  1.2.1 IDL工作界面
  IDL8.8的工作界面由菜单栏、工具栏、项目管理 /变量查看器、程序编辑窗口、控制台、状态栏等构成(图 1.1)。
  图1.1 IDL8.8的工作界面
  菜单栏主要包括文件、编辑、源码、项目、宏命令、运行、窗口和帮助等 8个菜单项,提供了文件管理、编辑、代码格式、项目管理、宏命令、运行调试、窗口视图管理和帮助等方面的功能。
  工具栏提供了常用功能的按钮,包括新建文件、新建工程、打开文件、保存、全部保存、剪切、复制、粘贴、撤销、重做、编译、运行、停止、单步运行、单步跳过、单步跳出、重置会话、后退、前进和 IDL转换器。在编写程序时单击工具栏按钮可方便快捷实现相应操作。
  项目管理/变量查看器以标签页的方式切换项目管理器和变量查看器。项目管理器用于创建、修改和运行项目;变量查看器用于显示内存中 IDL变量的名称、值、类型等。程序编辑窗口是一个显示和编辑 IDL代码的文本编辑器,主要用于编写 IDL过程或者函数。控制台用于输入 IDL命令行并输出命令执行结果。 IDL能自动记忆历史命令,通过 “↑”“↓”方向键可导入前 /后面所输命令,或者通过切换到历史命令标签导入历史命令。状态栏显示当前文件的基本属性、输入状态、当前光标位置、堆栈大小等基本信息。
  1.2.2 IDL帮助
  在学习 IDL编程的过程中,使用 IDL帮助系统非常重要。 IDL8.8的帮助系统可以通过“帮助”菜单、敲 F1键或者在控制台中输入“ ?”打开,系统界面如图 1.2所示。帮助系统包括内容( Contents)、索引( Index):“内容”以目录形式分层次列出了所有帮助内容;“索引”按照字母顺序列出了 IDL所有的过程、函数、运算符、系统变量等。
  图1.2 IDL8.8的帮助系统界面
  可以在右上方搜索框或者索引栏的搜索框输入内容查询出符合条件的帮助信息,或者在控制台中输入“?”加上要查询的内容,比如输入“ ?fltarr”即打开 fltarr函数内容(图 1.3)。
  图1.3 IDL8.8帮助系统中的 fltarr函数内容
  1.3 IDL使用时的一些注意事项
  1.3.1 书中 IDL代码的表达方式
  书中 IDL代码以下面两种方式表达:
  1. 命令行
  命令行代码在 IDL控制台中输入,以“ IDL>”开头( ENVI+IDL工作模式下为 “ENVI>”),控制台中的程序输出结果则没有“ IDL>”开头或者“ ENVI>”开头。
  IDL> print, "Hello world"
  Hello world
  2. 过程/函数
  过程或者函数在 IDL程序编辑窗口输入,以“ pro”或者“ function”开头,以“ end”结尾。
  pro temp
   print, 'Hello world'
  end
  1.3.2 IDL注意事项
  在编写 IDL程序过程中,以下事项需要注意:
  1. 大小写 IDL语言不区分大小写,用户可根据自己喜好来选择大小写方式。通常情况下,采用小写字母比较多。某些函数 /过程名、参数 /关键字名及变量名也会使用大写字母或首字母大写以方便阅读。
  2. 注释
  IDL语言中分号“ ;”为注释符,注释符右边的任何文本都被视为注释,程序执行时将被忽略。在写代码过程中适当使用注释,可以提高程序的可读性。
  3. 续行符
  IDL语言中符号“ $”为续行符,表示 IDL语句延续到下一语句行。如果某条语句过长,不利于阅读,可以将这条语句分成若干行,使用续行符连接起来。
  4. 续命令符
  IDL语言中符号“ &”为续命令符,一行可以写多条 IDL语句,语句之间用续命令符分隔,表示这是多条语句, IDL将分别执行这些语句。
  1.4 版本的说明
  本书所有代码均在 IDL8.8下测试通过,有些使用了新版本中新增功能的程序在旧版本 IDL下运行可能会出错。
展开
目录
目录
前言
基础篇
第1章 IDL语言概述 3
1.1 IDL语言简介 3
1.2 IDL工作环境 3
1.2.1 IDL工作界面 3
1.2.2 IDL帮助 4
1.3 IDL使用时的一些注意事项 5
1.3.1 书中IDL代码的表达方式 5
1.3.2 IDL注意事项 5
1.4 版本的说明 6
第2章 IDL语法基础 7
2.1 变量 7
2.1.1 变量概述 7
2.1.2 数据类型 8
2.1.3 变量基本操作 8
2.1.4 变量的属性和方法 11
2.1.5 无效值和无穷值 12
2.2 数组 13
2.2.1 创建数组 13
2.2.2 数组的下标 16
2.2.3 数组操作函数 17
2.2.4 数组运算 28
2.3 字符串 29
2.3.1 创建字符串 29
2.3.2 字符串连接 30
2.3.3 字符串操作函数 30
2.3.4 字符串与数值的相互转换 35
2.3.5 字符串读取 36
2.4 表达式 37
2.4.1 数值型表达式 37
2.4.2 关系型表达式 39
2.4.3 逻辑型表达式 39
2.4.4 位运算表达式 40
2.4.5 条件表达式 41
2.4.6 运算符的优先级 41
2.5 时间 42
2.5.1 系统时间 42
2.5.2 时间格式转换 43
2.5.3 其他的时间操作函数 44
2.6 结构体 46
2.6.1 匿名结构体 46
2.6.2 署名结构体 47
2.6.3 结构体数组 47
2.6.4 结构体操作函数 48
2.7 指针 49
2.7.1 指针的创建 49
2.7.2 指针的提取 50
2.7.3 指针的释放 50
2.7.4 指针的验证 51
2.7.5 指针数组 51
第3章 IDL编程基础 52
3.1 过程和函数 52
3.1.1 过程 52
3.1.2 函数 53
3.1.3 程序的相互调用 54
3.2 控制语句 54
3.2.1 选择结构 54
3.2.2 循环结构 58
3.2.3 continue和break语句 60
3.3 参数和关键字 61
3.3.1 参数 61
3.3.2 关键字 62
3.3.3 值传递和地址传递 62
3.3.4 参数和关键字的检测 63
3.4 变量的作用域 64
3.4.1 局部变量 64
3.4.2 全局变量 64
3.5 其他 65
3.5.1 IDL程序优化 65
3.5.2 调用外部命令 68
3.5.3 程序断点与调试 68
第4章 数据的读写操作 70
4.1 标准输入输出 70
4.1.1 标准输入 70
4.1.2 标准输出 71
4.2 文件的相关操作 73
4.2.1 文件的打开与关闭 73
4.2.2 文件的其他操作 74
4.3 读写ASCII 码文件 80
4.3.1 读取ASCII 码文件 81
4.3.2 写入ASCII 码文件 84
4.3.3 读写CSV 文件 84
4.4 读写二进制文件 86
4.4.1 读取二进制文件 86
4.4.2 写入二进制文件 86
4.5 读写图像文件 87
4.5.1 查询图像文件 87
4.5.2 读取图像文件 88
4.5.3 写入图像文件 91
4.6 读写HDF 文件 92
4.6.1 读写HDF4 文件 92
4.6.2 读写HDF5 文件 96
4.7 读写NetCDF 文件 102
第5章 图形绘制 107
5.1 曲线图 107
5.1.1 基本曲线图 107
5.1.2 曲线设置 108
5.1.3 符号设置 109
5.1.4 坐标轴设置 111
5.1.5 绘制多幅图形 112
5.1.6 图形对象操作方法 112
5.1.7 文本标注 114
5.1.8 图例 115
5.2 散点图 118
5.3 柱状图 120
5.4 箱线图 124
第6章 图像处理 127
6.1 图像显示 127
6.2 图像统计 128
6.2.1 常规统计 128
6.2.2 直方图统计 129
6.3 图像增强 130
6.3.1 线性增强 130
6.3.2 直方图均衡 132
6.3.3 掩模运算 133
6.3.4 密度分割 134
6.3.5 颜色空间变换 136
6.3.6 图像二值化 138
6.4 图像滤波 138
6.4.1 平滑滤波 138
6.4.2 锐化滤波 140
6.4.3 卷积运算 141
6.5 图像几何变换 142
6.5.1 图像裁切 142
6.5.2 图像重采样 142
6.5.3 图像转置 143
6.5.4 图像旋转与翻转 144
第7章 随机数、统计与插值 147
7.1 随机数 147
7.1.1 生成随机数 147
7.1.2 随机数的应用 148
7.2 数理统计 150
7.2.1 相关分析 150
7.2.2 回归分析 152
7.3 插值 156
7.3.1 普通插值 156
7.3.2 三角网插值 159
7.3.3 反距离权重插值 161
7.3.4 克里金插值 164
第8章 IDL与ENVI 交互 166
8.1 IDL与ENVI 交互模式 166
8.2 IDL与ENVI 的数据交互 167
8.3 ENVI 调用IDL函数 168
8.3.1 波段运算函数 168
8.3.2 波谱运算函数 170
8.4 ENVI Classic 二次开发 171
8.4.1 常用的ENVI 函数 172
8.4.2 envi_doit 193
8.5 ENVI 面向对象二次开发 208
8.5.1 常用的ENVI 对象 208
8.5.2 ENVITask 220
第9章 图形用户界面开发 234
9.1 图形界面开发基本概念 234
9.2 常用组件 234
9.2.1 容器组件与组件管理 234
9.2.2 按钮组件 237
9.2.3 标签组件 239
9.2.4 文本框组件 240
9.2.5 列表组件 241
9.2.6 树组件 244
9.2.7 标签页组件 245
9.2.8 显示组件 246
9.2.9 表格组件 247
9.2.10 对话框组件 249
9.2.11 复合组件 250
9.3 组件控制 251
9.4 事件处理 252
第10章 程序打包与调用 261
10.1 sav 文件 261
10.1.1 打包sav 文件 261
10.1.2 调用sav 文件 265
10.2 exe 文件 267
10.2.1 打包exe 文件 267
10.2.2 调用exe 文件 268
实战篇
第11章 IDL遥感数据处理实例 273
11.1 气温移动观测数据处理 273
11.2 地物光谱数据处理与特征提取 276
11.3 基于波谱响应函数的Landsat 8 OLI 光谱模拟 279
11.4 MODIS 地表温度数据镶嵌、投影转换与合并处理 281
11.5 FY4A AGRI 地表温度圆盘数据几何重定位处理 284
11.6 NPP VIIRS 夜间灯光数据云掩模、镶嵌与空间裁切处理 288
11.7 基于6S 模型的GF2 PMS 数据大气校正 293
11.8 NPP VIIRS 夜间灯光数据的多时相合成处理 297
11.9 土地覆盖数据空间升尺度 299
11.10 批量生成遥感影像快视图 301
第12章 IDL遥感信息提取实例 303
12.1 黑体辐射出射度计算 303
12.2 水体动态变化遥感监测 304
12.3 叶面积指数遥感估算 306
12.4 植被覆盖度遥感计算 309
12.5 植被时空变化遥感监测 311
12.6 Landsat 8 地表温度遥感反演 314
12.7 基于多因子局部回归的地表温度降尺度 318
12.8 近地表气温遥感估算 322
12.9 遥感生态指数RSEI 计算 326
12.10 温度植被干旱指数TVDI 计算 329
12.11 人口加权PM2.5 暴露水平监测 334
12.12 森林火点遥感监测 336
参考文献 344
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录