ENVI/IDL与ArcGIS集成开发的三种途径
转载:本文来自ENVI5.0-IDL8.2系列产品白皮书_201303.PDF(Esri中国官网可下载)中P7-P10
ENVI 是一个非常开放的平台,提供一个健全的函数库,几乎涵盖ENVI 平台大部分图像处理功能。同时IDL 具有很好的扩展性,能很方便地与其他开发环境(VB、VC、.NET、Java 等)进行集成开发。
同时,ArcGIS 提供ArcObjects 软件组件库,它提供了模块化、可伸缩、跨平台的通用API。
ENVI/IDL 与ArcGIS 集成开发可以通过以下三个途径实现:
图2.4 三种集成开发方式
1) ENVI / IDL 与ArcGIS 桌面定制
通过ArcGIS 桌面SDK 及开发语言(如Python、VBA、VB、VC、.net 等),将ENVI/IDL 图像处理与分析功能集成到ArcMAP 中:
图2.5 ENVI/IDL功能嵌入ArcToolBox中
图2.6 ENVI/IDL功能嵌入ModelBuding(GP工具)
2) ENVI / IDL 与ArcGIS Engine
ArcGIS Engine 是组件式开发工具包,可以灵活、方便地定制地图及GIS 解决方案。ENVI / IDL 与ArcEngine 的一体化集成开发具有以下三个特点:
1) 通过ArcGIS Engine 解决了数据浏览、栅格矢量叠加、矢量编辑、渲染、专题制图以及空间分析
等问题;
2) 将ENVI/IDL 作为影像处理引擎,解决专业的影像处理过程;
3) 基于成熟平台的二次开发,快速实现了系统无缝集成开发,而且大大减少了程序的开发量、开发周期,减少了系统开发的风险,开发者可以将大部分精力放在系统业务流程上。
图2.7 ENVI/IDL与ArcEngine一体化集成开发
3) ENVI / IDL 与ArcGIS Server
将ENVI 图像分析功能或者IDL 自定义功能部署到ArcGIS Server 环境中,通过它可以跨企业或跨互联网以服务形式共享图像处理和分析工具,允许多种客户端(如Web 端、移动端、桌面端等)使用这些资源创建应用,并可以整合GIS 资源。较好地实现了B/S 模式下对影像实时计算处理的需求。
8
图2.8 Web端使用森林砍伐监测功能
总之,遥感和GIS 之间有着天然的联系,它们可以互为补充,遥感与GIS 的一体化逐渐成为一种趋势和发展潮流。ENVI/IDL 与ArcGIS 为遥感和GIS 的一体化集成提供了一个最佳的解决方案。
图2.9 空间信息工程化与流程一体化的最佳组合
ENVI/IDL与ArcGIS集成开发的三种途径的更多相关文章
- 2014年ENVI/IDL遥感应用与开发培训班-11月重庆站 開始报名了
主办单位: 中国遥感应用协会 Esri中国信息技术有限公司 内容简单介绍: 依据中国遥感应用协会栾恩杰理事长推动国内遥感技术和应用的指示精神,2014年中国遥感应用协会组织培训交流部与Esri中国信息 ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- APP开发的三种模式
Hybrid APP混合开发的一些经验和总结 APP开发的三种模式:Native App .web App.hybrid App 1.原生app 使用原生app (android或iOS)开发APP. ...
- iOS用三种途径实现一方法有多个返回值
以前觉得这种标题有点偏向于理论,实际开发中怎么会有这种诡异的需求,但是真正遇到了这种硬需求时觉得还是有那么点价值的,理论付诸了实践在此也就做了个整理. 以我私下开发中的一处代码为例,本意是希望有这么一 ...
- C#生成XML的三种途径
C#生成XML的三种途径 为了全面,这里都将XML保存到文件中,有三种生成XML的方式: 1.我认为是最原始,最基本的一种:利用XmlDocument向一个XML文件里写节点,然后再利用XmlDocu ...
- 虚拟化x86的三种途径
虚拟化x86的三种途径 作者:缪天翔链接:https://www.zhihu.com/question/20145026/answer/34527331 x86上的全系统虚拟化有三种主要的途径: 二进 ...
- 开发servlet三种方式
第一种:实现Servlet接口 ServletDemo类 实现Servlet接口 public class ServletDemo implements Servlet { //初始化该servlet ...
- Servlet开发的三种方法
第一种 实现 Servlet 接口,需要覆写 Servlet 的5个方法,并将ServletConfig对象保存到类级变量中 package app01a; import java.io.IOExce ...
- Spring 集成Hibernate的三种方式
首先把hibernate的配置文件hibernate.cfg.xml放入spring的src目录下,并且为了便于测试导入了一个实体类Student.java以及它的Student.hbm.xml文件 ...
随机推荐
- AutoCAD.NET二次开发:创建自定义菜单(AcCui)
从CAD2007之后,Autodesk提供了一个新的程序集AcCui.dll,使用这个程序集,我们可以方便地做一些界面方面的操作,比如创建自定义菜单. 下面介绍一下菜单的创建过程: 1.在项目中添加引 ...
- jQuery基础学习4——jQuery容错性
使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁得多,而且还能避免某些错误. <script type="t ...
- MySQL select into outfile用法
select into outfile用法 SELECT ... FROM TABLE_A INTO OUTFILE "/path/to/file" FIELDS TERMINAT ...
- SQL Server中使用convert进行日期转换
使用 CONVERT: CONVERT (data_type[(length)],expression[,style]) 参数 expression 是任何有效的 Microsoft® SQL Ser ...
- CSS基础(01)
1. Css基础 1.1 CSS(层叠样式表 Multiple Styles) CSS 是 Cascading Style Sheets(层叠样式表)的简称. CSS 语言是一种标记语言,它不需要 ...
- C++ C++ 控制台程序 设置图标
. 实现过程 创建1个控制台程序. 新建1个 Resource Script文件 #include "stdio.h" #include <windows.h> #in ...
- angularjs入门学习【应用剖析中篇】
在上一节讲完了关于应用开发中如数据绑定,加入样式一类的基础操作后,接下来,将在应用中,与控制其有关的一些事件... 一.UI和控制器的分离 我们须要明白控制器在应用中的三个作用: [1]在应用模型中设 ...
- 设计模式奠基石——UML关系转化为代码
1.继承关系(泛化关系) [说明]:继承关系是子类(派生类)继承父类(基类),或者子接口继承父接口的关系.即子类对象"is a" 父类对象,比方鸟是动物. [UML图]: 图解:A ...
- [ES6] 16. Object Enhancements
Define object: var color = "blue"; var speed = 120; var car = {color, speed}; console.log( ...
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用(转)
MySQL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid I ...