- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图形可视化之;对象图形法;概述
对象的层次结构
对象的基本操作
基本图形对象
二维图形显示
三维图形显示
对象的交互操作
编写类
地图投影
;传统的方法开发的程序重用性、可修改性及可维护性都比较差
对象法类允许编程者将数据和方法封装成一个包,称之为对象。一个对象类可以重复利用生成多个对象。
从IDL5.0版本开始引入面向对象概念
自带一套对象显示结构对象的完整体系
提供对象图形原子;IDL中类命名规则:IDLxxYYYY
xx表示类的类型
YYYY表示类的名称; 创建对象
Object = OBJ_NEW( [ObjectClassName [,?Arg1......Argn]] )
自IDL 8.0开始,可以使用如下方法创建对象
Object = ObjectClassName([,?Arg1......Argn]] )
调用方法
IDL num = Object.Count()
修改属性
Object.SetProperty, Property = Value
销毁对象
Obj_Destroy, Object;OBJ_CLASS – 返回对象所属类名
IDL obj = IDLgrPlot()
IDL obj_class(obj)
IDLGRPLOT
OBJ_ISA – 判断对象是否为某类
IDL obj_isa(obj, IDLgrPlot)
1
OBJ_VALID – 判断对象是否有效
IDL obj_valid(obj)
1;Graphics Atom为原子对象
Model(IDLgrModel)为显示框架对象
View(IDLgrView 或 IDLgrViewGroup)为视图对象
Scene(IDLgrScene)为场景对象; IDLgrWindow
相当于与Widget_Draw,窗体组件
IDLgrModel
任何原子对象的容器
无大小
非可视
;IDLgrView对象
Dimension、Location和ViewPlane_Rect
Eye-定义为视点的位置
;IDLgrView对象
Projection,与地理投影无关
三维图像转二维显示时所用到的投影,分平行投影和透视投影两种。
;IDLgrView对象
zClip三维剪切面
view范围内的z方向的可视距离。
; 对象图形法-基本图形对象;IDLgrPolyline与IDLgrPolygon:线和面对象
注意polylines关键字,标示的是连接关系
教材示例 P160~165
IDLgrText:文字对象
Baseline
char_dimension
VERTICAL_ALIGNMENT
DRAW_CURSOR
教材示例 P166
;IDLgrAxis:坐标轴类
调试运行\chapter09\test_IDLgrAxis.pro
IDLgrPlot:曲线类
调试运行\chapter09\test_IDLgrPlot.pro
;利用对象图形法显示ENVI遥感图像分类结果
调试运行\chapter09\test_object_class.pro
IDLgrWindow——绘图窗口
IDLgrView——视图对象,用来加载图像和颜色条
IDLgrModel——容器
IDLgrImage——图像对象,显示分类结果
IDLgrColorbar——颜???条对象
IDLgrPalette——颜色表对象
IDLgrFont——字体对象,修改颜色表标注字体
;IDL下的三维是右手笛卡尔坐标系
调试运行\chapter09\test_3d.pro
; 对象的选择、旋转操作
三维下的鼠标取值; 类的编写
创建于类名一致的结构体,IDL中规定创建的格式如下:
PRO ClassName__DEFINE
struct = { ClassName, data1:value1, … ,
dataN:valueN }
END
注意:类的名称ClassName和过程的名称ClassName__DEFINE的关系,必须严格按照上述格式。即:过程的名称是由类的名称、两个下划线“__”和“DEFINE”组合而成。
用户在设计方法的时候,IDL提供了一个方便控制对象本身的隐含对象,即:对象SELF。
; 继承类的编写
;对象图形法系统的编写方式;
坐标系统的统一;
图像、矢量叠加显示;
图像及矢量的平移及缩放操作;
继承类的使用;
投影参数选择与投影创建;
图像及矢量的投影转换;
;对象图形法-IDL Viewer;IDLViewer
单纯IDL开发,未调用ENVI库函数;
以HASH结构存储已打开文件列表,对其进行管理;
支持TIFF格式数据读取与浏览,识别部分投影信息
IDLViewer_UseENVI
调用
文档评论(0)