第十二章 RS-GIS混合编程 本章讨论三个问题:

Slides:



Advertisements
Similar presentations
第2章第2章 第 1 节 生物与非生物. [ 猜谜语 ] 名字叫做牛, 不会拉犁头; 说我力气小, 背着房子走。 ( 打一动 物)
Advertisements

第四讲 开题报告.
职业指导服务系统 欢迎了解职业指导服务系统!
股指期货的风险及防范.
地球與環境 科學學群 東莞台商子弟學校中學部大學學群講座 主講者: 地球科學科 ─施峰熙老師 日期:
硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
产学研项目财务管理若干问题 鲁春艳
可爱的蜗牛 一、蜗牛冬眠 二、蜗牛进食 三、蜗牛排泄 四、蜗牛呼吸.
项目课程与项目教学 行动导向下的 ——江苏省江阴职教中心 沈 彬 2009年12月
第二章 工程建设中的测量工作与信息管理.
第一章 認識 Visual Basic 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
葉詠兒老師.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
普通话模拟测试 与学习平台 使用指南.
淡江大學 航空太空工程學系 工程科技教育 國際認證 期中審查報告簡報
網路小說劇情建構與伏線營造 Windows98.
关注品德与生活课的 探究性学习和微课程的发展
工程地质学 教师简介: 杨志双 副教授 1990年毕业于长春地质学院 获硕士学位 年到日本京都大学访问学习
工程测量与监理专业 教学改革试点建设中期汇报 工程测量与监理专业教学团队.
課程名稱:程式設計 授課老師:________
主讲:江西财经职业学院傅文清 联系电话: 教学模式与课程教学设计 主讲:江西财经职业学院傅文清 联系电话:
22 第 课 增强自我保护的意识和能力.
在课题探索中成长 东风东路小学 王洁华 全国红领巾示范学校 广东省一级学校
关注女职工劳动保护,维护女职工合法权益 ——《女职工劳动保护特别规定》解读
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
面向对象程序设计 (Visual C# .NET)
大学生如何进行职业生涯发展规划及有效应聘 厚积薄发
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
第八章 遥感、地理信息系统 在景观生态学中的应用
九十八學年度水土保持學系 碩士在職專班 專題討論(四) 9375
3S技术及其在深圳经济发展中的应用前景分析
岷江 公元前3世纪,李冰父子修建的都江堰水利工程 防洪、抗旱,保证农业的稳产和高产.
本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
第一章 地理环境与区域发展 1.区域的含义。 2.不同区域自然环境、人类活动的差异。 3.不同发展阶段地理环境对人类生产和生活方式的影响。
服務聯網地政雲.
Earthinsight发现·地球 万方数据特色资源产品中心 Earth.wanfangdata.com.cn.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
第一章 認識Visual C 環境架構 1-1 認識Visual C Visual Studio 概觀
.NET Framework 3.0 Windows WorkFlow Foundation 工作流设计
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
CH11.
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
第9章 GIS新技术与”数字地球”简介 北京建筑工程学院 王文宇.
第15章 数据报表与数据图表.
.NET 簡介.
.NET 簡介.
第16章 VB.NET物件導向與.NET Framework
第一章 Visual Studio、SQL Server介紹與開發環境
第2章 ADO.NET 2.0概述.
Visual Studio IDE基本操作 建國科技大學 資管系 饒瑞佶.
王志成 航天星图科技(北京)有限公司 使用IDL进行科学数据可视化 王志成 航天星图科技(北京)有限公司.
第16章 多媒体编程 随着计算机技术的飞速发展和计算机的普及,多媒体和人们的休闲生活已经融为了一体,在Visual Basic中,通过使用一些编程技巧或多媒体控件可以开发出具有鲜明特点的多媒体程序。
Ch01網際網路、HTML 、 Script 、 ASP.NET簡介
視窗程式設計簡介-VB、Visual Studio
電子簽核教育訓練.
Visual Basic 6.0 ——程序设计.
疾病预防控制绩效考核管理软件 开发思路 & 使用说明
IDL系统开发及ENVI功能扩展 代课人:张锦水
Visual Basic.NET 程序设计语言课程内容
第1章 Visual Basic 简介 郭清溥.
電腦軟體設計丙級 Visual Basic簡介 建國科技大學 資管系 饒瑞佶 2010年.
水利绿色发展问题与建议 姜文来 中国农业科学院农业资源与农业区划研究所.
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
認識 Visual Studio 李明山
IT DNA- 微軟MVP、資深IT人胡百敬 資訊產業全攻略!IT知識工作者聯手推薦! 資訊新鮮人》 專業資訊人》 知識工作者》
第三章 軟體資源管理 授課老師:褚麗絹.
本文档介绍 1. 如何使用同一台电脑录课; 2. 如何在其他电脑录课;
96 教育部專案補助計畫案明細 單位 系所 教育部補助款 學校配合款 工作໨目 計畫主 持人 備註 設備費 業務費 579,000
Presentation transcript:

第十二章 RS-GIS混合编程 本章讨论三个问题: 第一个是IDL编程环境下,调用ENVI,借助IDL的图像处理函数和ENVI的图像处理函数实现遥感图像处理; 第二个是以外部开发语言,如C#、VB.net等为开发平台,调用IDL和ENVI的图像处理函数实现图像处理(包括使用IDLDrawWidget控件的有界面编程和使用COM_IDL_CONNECT控件的无界面编程); 第三个是以外部开发语言,如C#、VB.net等为开发平台,调用IDL和ArcgisEngine实现RS-GIS混合编程。

第十二章 RS-GIS混合编程 12.1 IDL调用ENVI编程 IDL调用ENVI编程,需解决图像读写、图像处理、事件传递、图像显示的问题。其中,IDL调用ENVI函数后,可很好的解决图像读写和图像处理问题。由于编程过程中做事件传递,需要使用Widget控件,而图像输出可采IDL的直接图形法(用tv、tvscl命令)或对象图形法(IDLgrImage对象)。因此,需要解决Widget控件与直接图形法、Widget控件与对象图形法间的值传递问题。

第十二章 RS-GIS混合编程 12.1.1 基于ENVI-IDL的直接图形法编程 基于ENVI-IDL的直接图形法编程中,使用widget_base、widget_button、widget_text、widget_label、widget_droplist、widget_table、widget_draw等控件创建界面;IDL调用ENVI函数后,实现图像读写和图像处理。图像输出时,把widget_draw组件看成直接图形法下的window窗口,使用wset命令确定图像输出目标为widget_draw组件,使用tv或tvscl命令输出图像。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.1.2基于ENVI-IDL的对象图形法编程 基于ENVI-IDL的对象图形法编程中,使用widget_base、widget_button、widget_text、widget_label、widget_droplist、widget_table、widget_draw等控件创建界面;IDL调用ENVI函数后,实现图像读写和图像处理。图像输出时,创建IDLgrImage、IDLgrModel、IDLgrView对象(不创建IDLgrWindow对象)。把widget_draw组件看成对象图形法下的IDLgrWindow对象;将IDLgrView对象添加到widget_draw组件,最后绘图到widget_draw控件。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 程序编写中,假设创建的widget_draw名为wdraw,图像数组名字为data。使用对象图形法,将图像输出到widget_draw的关键语句为(前后语句略): ENVI>image=obj_new('idlgrimage',data) ENVI>model=obj_new('idlgrmodel') ENVI>view=obj_new('idlgrview') ENVI>wdraw=widget_draw() ENVI>model->add,image ENVI>view->add,model ENVI>widget_control,wdraw,get_value=draw1 ENVI>draw1.draw,view

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.2其它语言通过IDLDrawWidget访问ENVI-IDL

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.2.1 VB6访问IDL VB6在64位操作系统下安装时,忽略提示的错误信息就可成功安装。VB通过调用idldraw3.ocx控件访问IDL。启动VB6进入主界面后,在工具栏空白处点击右键,选择【添加部件】项,打开部件对话框。下拉选择【IDLDrawX3 ActiveX Control Module】项,就调用了\idl8x\bin\bin.x86\idldrawx3.ocx。图12.6是VB6企业版调用IDLDrawWidget控件界面。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 VB6调用IDL示例 【例12.4】以VB6.0企业版为开发平台,调用idldraw3.ocx控件,读入tiff格式DEM数据,使用IDL的surface命令实现三维地形表面绘制。 分析:VB6.0调用idldraw3.ocx控件实现和IDL的连接,读入tiff格式数据需使用ENVI函数;三维地形表面绘制使用IDL的surface命令。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.2.2 VB.net访问IDL 打开VS2010,顺序选择【新建项目】-【VisualBasic】-【Windows窗体应用程序】,创建WindowsApplication应用程序(默认名字WindowsApplication1)。在工具栏上选择【组件】,右键选择【添加项】,在【选择工具箱】界面点击【COM组件】,添加对IDLDrawWidget控件的引用。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 【例12.5】在Form1上添加IDLDrawWidget控件,在Form1的Load事件里编写代码,使用DEM绘制等高线。要求在图像上显示地图坐标。 示例程序是本章的vb.net\WindowsApplication1\WindowsApplication1.sln,程序运行结果如图12.9所示。IDLDrawWidget控件名为AxIDLDrawWidget1。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.2.3 C#访问IDL 打开VS2010,选择【新建项目】-【Visual C#】-【Windows窗体应用程序】,创建WindowsApplication应用程序。在工具栏上选择【组件】,右键选择【添加项】,在【选择工具箱】界面点击【COM组件】,添加对IDLDrawWidget控件的引用。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 1、C#执行IDL语句 C#调用IDLDrawWidget控件执行IDL语句时,常用的是IDLDrawWidget控件的ExecuteStr方法(其它外部语言也一样)。使用时,在ExecuteStr(“”)的“”里书写IDL语句,但这种书写方法效率不高。 2、C#调用IDL直接图形法的pro文件 先在IDL下使用直接图形法书写pro文件。IDL语句输出图像时,不使用“Window”语句创建输出界面,而是直接输出。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 3、C#调用IDL对象图形法的pro文件 先在IDL下使用对象图形法书写pro过程文件。输入参数为C#中IDLDrawWidget控件DrawID,不创建IDLgrWindow对象(使用IDLDrawWidget控件代替IDLgrWindow对象)。图12.12是C#调用IDL对象图形法的pro文件流程图。调用pro文件时,先添加IDLDrawWidget控件;然后编译pro文件;最后使用调用IDL过程名的形式调用pro文件,输入参数为IDLDrawWidget控件DrawID。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 【例12.6】使用C#实现对IDL直接图形法和对象图形法pro文件的调用。 IDL文件:chapter12\direct_graphic.pro, chapter12\object_graphic.pro。 C#文件:chapter12\C#\WindowsFormsApplication1\WindowsFormsApplication1.sln。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.3其它语言通过COM_IDL_CONNECT访问ENVI-IDL IDL的com_idl_connect组件能够提供其它语言对ENVI-IDL的无界面访问。表12.6是com_idl_connect组件的方法

第十二章 RS-GIS混合编程 12.3.1 C#通过COM_IDL_CONNECT访问ENVI-IDL 启动VS2010,选择项目类型为【Visual C#】,选择模板为Windows窗体应用程序”。进入主界面后,指定项目名称为“Windows Application”,存储路径用默认值。进入主界面后,在【解决方案资源管理器】界面的“Windows Application”项上点击右键,选择【添加引用】项。进入【COM】选项卡(图12.15),选择“Com_IDL_ConnectLib 1.0 Type Library”

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

12.3.2 VB.net通过COM_IDL_CONNECT访问ENVI-IDL VB.net连接com_idl_connect访问ENVI-IDL时,构建界面,添加引用的操作和C#下操作一样,但是对象创建时的代码有差别。语句为: Imports COM_IDL_connectLib Dim COMIDL1 As COM_IDL_connectLib.COM_IDL_connect = _ New COM_IDL_connectLib.COM_IDL_connect COMIDL1.CreateObject(0, 0, 0) COMIDL1.ExecuteString("envi,/restore_base_save_files") COMIDL1.ExecuteString("envi_batch_init") COMIDL1.ExecuteString("device,decomposed=1") COMIDL1.ExecuteString("WINDOW,0,TITLE='VB.NET使用COM调用ENVI-IDL'")

第十二章 RS-GIS混合编程 12.4 ENVI-IDL与Arcgis Engine混编 Arcgis Engine是ESRI为开发嵌入式GIS和独立运行的GIS桌面端应用程序而推出的二次开发组件库。安装Visual Studio 2010和Arcgis10 Desktop后,继续安装Arcobjects SDK For .Net Framework10和Arcgis Engine 10 Runtime,最后配置License。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程 12.4.2 VB.net调用ArcgisEngine与ENVI-IDL 为方便用户使用,VS2010为用户创建了调用ArcgisEngine的默认界面。在VB.net调用ArcgisEngine构建基本界面的基础上,还需添加对ENVI-IDL的引用。根据程序设计的需要,可添加有界面的widget_draw组件或无界面的com_idl_connect组件实现对ENVI-IDL的调用。

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程

第十二章 RS-GIS混合编程