【2013Esri中国用户大会-遥感讲座分享】遥感开发的一些体会
本讲座主要包含三部分内容。分别为基础知识的重要性、IDL编程技巧与经验分享、ENVI二次开发新模式。主要介绍分享了IDL编程、混合编程、ENVI功能扩展与二次开发中的一些经验分享,以及常见问题解决方法,另外对IDL和ENVI的未来发展趋势进行了小幅度展望。
1. 基础知识的重要性
本节主要强调三个内容,分别为:概念要清晰、帮助要常看、工作台要熟悉。
概念的清晰对于理解和学习IDL都会有很大的帮助,比如位置参数和关键字参数,在初学阶段会比较容易混淆和难以理解;
帮助的重要性不言而喻,而且帮助的获取途径和语法同样需要学习和掌握,下面是帮助的获取途径和语法说明。
- 帮助 – 帮助内容
- 悬停帮助
- 选中项目帮助(F1)
- IDL控制台 —— ?、?routineName
- PDF帮助文档位于\Exelis\IDL82\help\pdf\
-
- 高级数学统计与分析(IMSL)
advmathstats.pdf -
混合编程 bridges.pdf - 数据库连接工具(DataMiner)
dataminer.pdf - 外部开发指南
edg.pdf - 图像处理
image.pdf - iTools开发指南
itooldevguide.pdf - iTools用户手册
itooluserguide.pdf - IDL用户手册
using.pdf
- 高级数学统计与分析(IMSL)
表:IDL帮助中的Syntax说明
元素 |
说明 |
示例 |
[ ] |
方括号的内容是可选的。 |
Plot pro |
[ ] |
表示是声明的一部分。 |
|
Arguments |
斜体显示的参数,必须按顺序指定。 |
|
KEYWORD |
关键字全部大写,可以按任意顺序指定。 |
|
/KEYWORD |
表明为布尔型关键字。 |
|
{ } |
表明必须选择其中的一个值。包含了可能的值,用 | 分隔。 描述性语句。 |
|
| |
分隔多值或多关键字。 |
|
[, Value1, ... , ValueN] |
表明可以指定为任意个数的值。 |
INTARR |
[, Value1, ... , Value8] |
表明可以指定的值的最大个数。 |
2. IDL编程技巧与经验分享
本节主要包含如下内容:
- 乱码问题解决方法
- 优化编程中需要注意的几个方面
- IDL中错误处理的机制
- 数学错误出现原因分析
- 可视化方法总结
- 鼠标事件总结
- 一些经验分享
-
-
相对路径、启动界面、进度条 - 程序发布与部署
- 一体化集成开发
-
表:鼠标事件结构体说明
事件结构体 |
左键操作 |
右键操作 |
鼠标移动 |
||||
按下 |
释放 |
按下 |
释放 |
按下 |
移动 |
释放 |
|
TYPE |
0 |
1 |
0 |
1 |
0 |
2 |
1 |
PRESS |
1 |
0 |
4 |
0 |
1 |
0 |
0 |
RELEASE |
0 |
1 |
0 |
4 |
0 |
0 |
1 |
CLICKS |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
双击操作 |
滚轮操作 |
||||||
双击 |
释放 |
前滚 |
后滚 |
按下 |
移动 |
释放 |
|
TYPE |
0 |
1 |
7 |
7 |
0 |
2 |
1 |
PRESS |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
RELEASE |
0 |
1 |
0 |
0 |
0 |
0 |
2 |
CLICKS |
2 |
1 |
1 |
-1 |
1 |
0 |
1 |
3. ENVI二次开发新模式
ENVI 5.1版本及之后版本,会提供ENVITask对象,可以进行图像处理。在5.1 beta版本中,已经提供了如下三个ENVITask:
- QUAC —— 快速大气校正
- RadiometricCalibration —— 辐射定标
- ReprojectGLT —— NPP VIIRS图像校正
下面是ENVITask与Doit Routines的实例对比,均为快速大气校正的处理。
此外,介绍了SARscape提供的函数库调用方法,并以自动配准为例,演示如何进行SARscape接口调用。
- oBatch = SARscapeBatch(Module=ModuleName)
表:SARscapeBatch所具有的方法及其功能描述
方法 |
功能 |
Execute |
执行任务(不显示进度条) |
ExecuteProgress |
执行任务(显示进度条) |
GetParam |
获取指定参数的值 |
ListParams |
打印Module的所有参数和值 |
Manifest |
获取所有可用的Module及其描述信息(共203个) |
SearchModule |
根据输入字符串搜索相关Module |
SetParam |
设置Module参数 |
SetUpModule |
设置所要执行的Module |
VerifyParams |
核实参数是否设定完全 |
xManifest |
弹出对话框,显示所有可用的Module列表 |
讲座PPT下载:http://vdisk.weibo.com/s/zrSeGYf9hDMCv
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?