科学出版社旗舰店店铺主页二维码
科学出版社旗舰店 微信认证
科学出版社秉承多年来形成的“高层次、高水平、高质量”和“严肃、严密、严格”的优良传统与作风,始终坚持为科技创新服务、为传播与普及科学知识服务、为科学家和广大读者服务的宗旨。
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

遥感二次开发语言IDL

53.70
运费: ¥ 0.00-18.00
遥感二次开发语言IDL 商品图0
遥感二次开发语言IDL 商品图1
遥感二次开发语言IDL 商品图2
遥感二次开发语言IDL 商品图3
遥感二次开发语言IDL 商品缩略图0 遥感二次开发语言IDL 商品缩略图1 遥感二次开发语言IDL 商品缩略图2 遥感二次开发语言IDL 商品缩略图3

商品详情

书名:遥感二次开发语言IDL
定价:68.0
ISBN:9787030411853
作者:徐永明
版次:3115
出版时间:2016-02

内容提要:
本书的主旨是让读者掌握IDL语言编程方法,并灵活应用到具体的遥感问题中去。书中以IDL8.2为基础,系统介绍IDL编程语言及其在遥感相关领域的实际应用。全书共9章,涵盖IDL语言概述、IDL语法基础、IDL编程基础、数据的读写操作、图形绘制、图像处理、随机数、统计与插值、IDL与ENVI结合等方面的内容,并提供大量的IDL遥感应用实例。

媒体评论:

编辑推荐


暂无相关内容



目录:
目录 前言 第1章 IDL语言概述 1 1.1 IDL语言简介 1 1.2 IDL工作环境 1 1.2.1 IDL工作界面 1 1.2.2 IDL帮助 2 1.3 IDL使用时的一些注意事项 4 1.3.1 本书中IDL代码的表达方式 4 1.3.2 IDL注意事项 4 1.4 本书的说明 5 第2章 IDL语法基础 6 2.1 变量 6 2.1.1 变量概述 6 2.1.2 数据类型 6 2.1.3 变量基本操作 7 2.2 数组 10 2.2.1 创建数组 10 2.2.2 数组的下标 13 2.2.3 数组操作函数 14 2.3 字符串 21 2.3.1 创建字符串 21 2.3.2 字符串连接 21 2.3.3 字符串操作函数 22 2.3.4 字符串与数值的相互转换 26 2.3.5 字符串读取 27 2.4 表达式 28 2.4.1 数值型表达式 28 2.4.2 字符型表达式 29 2.4.3 关系型表达式 29 2.4.4 逻辑型表达式 30 2.4.5 条件表达式 31 2.4.6 位运算 31 2.4.7 数组运算 33 2.4.8 运算符的优先级 34 2.4.9 常用的数学运算函数 35 2.5 时间 35 2.5.1 系统时间 35 2.5.2 时间格式转换 36 2.5.3 其他的时间操作 38 2.6 结构体 40 2.6.1 匿名结构体 40 2.6.2 署名结构体 41 2.6.3 结构体数组 42 2.6.4 结构体操作函数 42 2.7 指针 44 2.7.1 指针的创建 44 2.7.2 指针的提取 44 2.7.3 指针的释放 45 2.7.4 指针的验证 45 2.7.5 指针数组 45 第3章 IDL编程基础 46 3.1 过程和函数 46 3.1.1 过程 46 3.1.2 函数 47 3.1.3 程序的相互调用 48 3.2 控制语句 48 3.2.1 选择结构 49 3.2.2 循环结构 53 3.2.3 continue和break语句 55 3.3 参数和关键字 57 3.3.1 参数 57 3.3.2 关键字 58 3.3.3 值传递和地址传递 59 3.3.4 参数和关键字的检测 59 3.4 变量的作用域 60 3.4.1 局部变量 60 3.4.2 全局变量 61 3.5 其他 61 3.5.1 IDL程序优化 61 3.5.2 调用外部命令 64 第4章 数据的读写操作 65 4.1 标准输入输出 65 4.1.1 标准输出 65 4.1.2 标准输入 68 4.2 文件的相关操作 69 4.2.1 文件的打开与关闭 69 4.2.2 文件的其他操作 70 4.3 读写ASCII码文件 75 4.3.1 读取ASCII码文件 75 4.3.2 写入ASCII码文件 81 4.3.3 读写CSV文件 82 4.4 读写二进制文件 83 4.4.1 读取二进制文件 83 4.4.2 写入二进制文件 85 4.5 读写图像文件 86 4.5.1 图像文件查询 86 4.5.2 读取图像文件 88 4.5.3 写入图像文件 89 4.6 读取HDF文件 90 4.6.1 读取HDF4文件 91 4.6.2 读取HDF5文件 93 4.7 读取netCDF文件 95 第5章 图形绘制 98 5.1 plot过程绘曲线图 98 5.1.1 基本曲线图 98 5.1.2 线型设置 99 5.1.3 坐标轴设置 101 5.1.4 颜色设置 102 5.1.5 添加标注 104 5.1.6 绘制多幅图形 108 5.1.7 图形保存为文件 109 5.2 plot函数绘曲线图 111 5.2.1 基本曲线图 111 5.2.2 线型设置 112 5.2.3 符号设置 114 5.2.4 坐标轴设置 115 5.2.5 绘制多幅图形 116 5.2.6 图形对象操作方法 116 5.2.7 添加标注 118 5.2.8 添加图例 120 5.3 柱状图 123 5.4 直方图 126 第6章 图像处理 128 6.1 图像显示 128 6.2 图像统计 131 6.2.1 常规统计 131 6.2.2 直方图统计 132 6.3 图像增强 134 6.3.1 线性增强 134 6.3.2 直方图均衡 136 6.3.3 掩膜运算 137 6.3.4 密度分割 138 6.3.5 色彩空间变换 142 6.4 图像滤波 143 6.4.1 平滑滤波 143 6.4.2 锐化滤波 145 6.4.3 卷积运算 146 6.5 图像几何变换 146 6.5.1 图像裁切 146 6.5.2 图像重采样 146 6.5.3 图像转置 147 6.5.4 图像旋转与翻转 148 第7章 随机数?统计与插值 150 7.1 随机数 150 7.1.1 生成随机数 150 7.1.2 随机数的应用 151 7.2 相关分析 153 7.3 回归分析 155 7.3.1 线性回归 155 7.3.2 显著水平检验 158 7.3.3 曲线拟合 159 7.4 插值 164 第8章 IDL与ENVI的结合 169 8.1 IDL与ENVI的数据交互 169 8.2 ENVI调用IDL函数 170 8.2.1 波段运算函数 170 8.2.2 波谱运算函数 171 8.3 IDL调用ENVI功能 172 8.3.1 常用的ENVI函数 173 8.3.2 envi_doit处理函数 195 8.3.3 影像分块 209 第9章 IDL遥感应用实例 211 9.1 光谱数据处理 211 9.2 高光谱数据*佳波段组合选择 214 9.3 遥感图像信噪比计算 216 9.4 批量生成遥感影像快视图 219 9.5 辐射定标与大气校正 220 9.6 土地覆盖图空间重采样 224 9.7 MODIS L1B数据的几何重定位处理 226 9.8 批量遥感数据的镶嵌?裁切和掩膜处理 228 9.9 NDVI数据的MVC合成处理 235 9.10 ROI数据的随机分割 236 9.11 根据站点坐标提取高程值 239 9.12 黑体辐射出射度计算 240 9.13 水体动态变化遥感监测 242 9.14 叶面积指数遥感估算 244 9.15 植被覆盖度遥感监测 246 9.16 地表温度遥感反演 249 9.17 温度植被干旱指数计算 254 9.18 气溶胶光学厚度的遥感反演 259 9.19 大气水汽总含量遥感估算 268 9.20 林火遥感监测 270 参考文献 278

在线试读:
第1章 IDL语言概述 1.1 IDL语言简介 交互式数据语言IDL(Interactive Data Language)是美国Exelis VIS公司开发的一种面向矩阵的计算机语言?自1977年问世以来,IDL以其简单灵活的语法?强大的数据分析处理和可视化功能,在遥感?天文?地质?航天?医学和军事等许多领域得到了广泛应用? IDL语言*大的特点是面向矩阵,对于数组元素的操作可以不通过循环而直接对数组进行运算?与C?Basic等语言相比,IDL对数组的操作快捷且方便?与另一种面向矩阵的语言——Matlab相比,IDL更适用于图像处理,尤其是大数据量图像处理方面?因为Matlab的设计初衷是基于较小的二维矩阵,强制进行双精度计算使其在计算时消耗的内存有时达到实际数据精度的8倍,在造成资源浪费的同时,束缚了处理数据量的能力?IDL语言自动支持多线程CPU的计算,并且无需在代码中体现,从而有效提高计算速度,降低编程难度?此外,基于IDL语言开发的遥感图像处理平台ENVI与IDL语言能够方便地进行数据交互和函数调用,大大提高了IDL语言处理遥感图像的能力,可以使用户更专注于算法方面的工作,用*少的时间和资源完成任务?因此,IDL语言是进行遥感图像处理及应用分析的理想工具? 1.2 IDL工作环境 1.2.1 IDL工作界面 IDL8.2的工作界面由菜单栏?工具栏?项目管理/变量跟踪窗口?程序编辑窗口?IDL控制台?状态栏等构成(图1.1)? 菜单栏主要包括文件?编辑?源码?项目?运行?窗口和帮助等7个菜单项,提供了文件管理?编辑?代码格式?项目管理?运行调试?窗口视图管理和帮助等方面的功能? 工具栏提供了常用功能的按钮,包括打开程序文件?新建文件或工程?保存程序文件?剪切?复制?粘贴?撤销?后退?前进?编译?运行?调试和重置等按钮?用户通过单击工具栏按钮,在编写程序时可方便快捷的实现相应操作,其使用频率要远高于菜单栏? 项目管理/变量跟踪窗口以标签页的方式切换项目管理和变量跟踪功能?项目管理能够实现编辑?添加?删除和编译文件以及生成和运行项目文件的功能,方便用户对项目文件进行集中管理;变量跟踪则用于显示内存中各个IDL变量的名称?值?类型等? 程序编辑窗口是一个显示?输入和编辑IDL代码的文本编辑器,在编写IDL过程或者函数时只能通过程序编辑窗口完成? 图1.1 IDL8.2的工作界面 IDL控制台用于输入IDL命令行?显示程序执行结果?在控制台中可以输入各种IDL命令,命令的执行结果也在控制台中显示?IDL能自动记忆用户输入的命令,用户可以通过“↑”?“↓”方向键或者切换到历史命令标签下查看前/后面所输入的命令,以便重复选取并执行某条命令而无需重新输入? 状态栏的主要作用是显示当前光标所在位置,即第几行第几列?此外还提供了快速启动视图?显示当前文件的基本属性等功能? 1.2.2 IDL帮助 IDL的帮助系统比较完善,大致可分为两类:联机帮助系统和Demo演示系统?用户在学习IDL编程的过程中,掌握和运用这些帮助系统非常重要?下面分别介绍这两类帮助系统? 1. 联机帮助系统 IDL8.2的联机帮助系统可以通过“帮助”菜单?点击F1键或者在控制台中输入“?”打开,系统界面如图1.2所示?帮助系统包括内容(Contents)?索引(Index)?搜索(Search)和收藏夹(Favorites)4种帮助方式:“内容”以目录形式分层次列出了所有帮助内容;“索引”按照字母顺序列出IDL所有的过程?函数?运算符?系统变量等;“搜索”可以根据用户输入的内容查询出所有符合条件的帮助信息;“收藏夹”与IE等网络浏览器的收藏夹功能类似,可以将用户感兴趣的帮助页面加入收藏夹,方便用户查找? 图1.2 IDL8.2的联机帮助系统界面 2. Demo演示系统 Demo演示系统可以通过在控制台中输入“demo”打开,系统界面见图1.3?Demo演示系统提供了官方的一些数据分析以及可视化方面的例子,包括数学统计?信号处理?插值计算?图像处理?矢量绘图?三维显示?三维体数据显示等?用户在Demo系统界面左侧的目录树中选择具体分类,右侧会显示该分类下具体的Demo例子,双击可打开该Demo?此外,Demo对应IDL代码的路径和文件名会出现在下面的状态栏中,用户可按照该路径和文件名去查看该Demo的IDL源代码? 图1.3 IDL8.2的Demo演示系统界面 1.3 IDL使用时的一些注意事项 1.3.1 本书中IDL代码的表达方式 本书中,IDL代码以下面两种方式表达: 1. 命令行 IDL> print, "Hello world" Hello world “IDL>”开头表示在IDL控制台中以命令行方式输入(如果是“ENVI>”开头则表示在ENVI+IDL工作模式下的命令行方式输入),命令行下面没有用“IDL>”开头则为IDL语句的输出结果? 2. 过程/函数 pro temp print, 'Hello world' end 以pro或者function开头?以end结尾的语句表示IDL过程或者函数,一般在IDL界面的程序编辑窗口输入? 1.3.2 IDL注意事项 在编程IDL程序过程中,以下事项需要注意: 1)大小写 IDL语言不区分大小写,用户可根据自己喜好来采用大小写方式?相对而言,小写字母比较方便输入,因而在编写代码过程中会使用得比较多?为了便于阅读程序,也可以根据自己的习惯或喜好,部分使用大写字母,如函数名?过程名及关键字等用大写或者首字母大写?重要变量的首字母大写等? 2)注释 IDL语言中分号“;”表示注释内容的开始,分号右边的任何文本都被视为是注释,在程序执行时将被忽略?在写IDL代码过程中适量使用注释,可以提高程序的可读性? 3)续行符 IDL语言中符号“$”用作续行符,表示IDL语句延续到下一语句行?如果某条语句过长,超出程序编辑窗口宽度,不利于程序阅读和修改,可以将这条语句分成若干段,并用续行符连接起来? 4)续命令符 一行可以写多条IDL语句,但是语句之间必须用续命令符“&”分隔,表示这是多条语句,IDL将分别执行这些语句? 1.4 本书的说明 本书通过IDL基本语法及大量的实例介绍了IDL语言在遥感中的应用?目的在于帮助读者在遥感工作过程中遇到现有遥感软件无法解决或者不便解决的任务时,能够通过IDL语言编程解决问题?侧重点是以尽可能简单的编程语句实现目标,而不是开发具有完善图形界面的遥感处理平台?简而言之,本书意欲帮助读者编写出“自己用的”IDL程序,而不是写出给“别人用的”程序?因此,本书主要讲述的是IDL的基本语法以及与遥感密切相关的一些内容(包括矢量绘图?图像处理?统计分析?ENVI二次开发?遥感编程实例等),并未涉及对象图形?界面及事件处理?数据库等内容? 本书的所有代码均在IDL8.2下测试通过,除了特别指出在新版本中才增加的功能外,其余代码也可以在IDL6.3下运行?
科学出版社旗舰店店铺主页二维码
科学出版社旗舰店 微信公众号认证
科学出版社秉承多年来形成的“高层次、高水平、高质量”和“严肃、严密、严格”的优良传统与作风,始终坚持为科技创新服务、为传播与普及科学知识服务、为科学家和广大读者服务的宗旨。
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

遥感二次开发语言IDL

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:sciencepress-cspm
科学出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏