【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

表: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

讲座录屏下载:http://vdisk.weibo.com/s/zrSeGYf9hDMPB

演示代码下载:http://vdisk.weibo.com/s/zrSeGYf9hDN24

posted @   ENVI-IDL技术殿堂  阅读(129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示