原文地址:
ENVI Services Engine5.1 应用开发入门教程_ENVI-IDL中国_新浪博客
http://blog.sina.com.cn/s/blog_764b1e9d0102uyet.html
入门教程及示例程序下载:http://pan.baidu.com/s/1kT0vAT5
目录
一、安装
1.1软硬件要求
1.1.1 硬件要求
l 硬盘空间:1.0G以上
l 交换空间:700M以上
l 内存:256M及以上(建议512M以上)
l CPU:Intel/AMD 64-bit
l 显示设备: 推荐在标准尺寸(96dpi) 下使用 1024 x 768 或更高
l 24 位颜色深度
注意:为了优化性能,用户显卡至少1GB RAM并支持OpenGL2.0或者更高版本。而且还需要安装显卡的最新驱动。
1.1.2 软件要求
ENVI Services Engine 需要运行在64位的Windows或者Linux上,安装ENVI Services Engine产品后,可以通过管理员控制台管理发布的服务、监测节点运行情况以及查看每个job的运行状态等,管理员控制台支持的浏览器:
l IE10
l Chrome
l Firefox
ENVI Services Engine支持的平台:
平台
操作系统
硬件
支持的 版本
Windows
Intel/AMD 64bit
XP, Vista, 7, 8, Server 2008,12…
UNIX
Linux
Intel/AMD 64bit
Kernel 2.6.32, glibc 2.12, GTK+ 2.4.13
1.2安装须知
1) ENVI Services Engine可以安装在单节点计算机(任务开发)、企业级服务器、集群服务器及云平台(例如亚马逊公有云)中。
2) 运行ENVI Services Engine产品的服务器必须安装有ENVI/IDL,如果服务器没有安装ENVI/IDL,则在安装ENVI Services Engine的过程中会自动安装。
3) 选择安装ENVI Services Engine服务,自动或手动启动服务需要一个特定用户,因此在安装前可以建立一个计算机用户并设置密码。
4) ENVI Services Engine管理员控制台在有许可的情况下才能启动。
1.3产品安装
1.3.1 ENVI Services Engine安装
本次安装过程是在Windows7旗舰版操作系统下完成的。
将ENVI Services Engine安装光盘放入光驱后,即可自动识别,点击autorun.exe即弹出图1界面,点击Install,开始安装。
该机器没有安装ENVI/IDL,因此ENVI Services Engine5.1在安装过程中会自动安装ENVI/IDL,该过程会持续几分钟。
点击Next继续安装ENVI Services Engine5.1
图3 安装ENVI Services Engine5.1
这里可以选择安装的产品,如果选择ENVI Services Engine,只会安装ENVI Services Engine产品;如果选择ENVI for ArcGIS Services Edition,除了安装ENVI Services Engine之外,还会安装ENVI for ArcGIS Services Edition产品(专为ArcGIS Server定制的,详细可查看安装后的ENVI Services Engine帮助)。这里我们只选择ENVI Services Engine,点击Next。
选择ENVI Services Engine是否以服务方式安装,这里有三个选项:以自动启动的服务安装、以手动启动的服务安装、不以服务方式安装。这里我们选择以自动启动的服务方式安装,点击Next。
以自动启动的服务安装方式会要求输入启动该服务的用户账户,这里我们选择管理员Administrator,点击Next。
选择ENVI Services Engine的安装路径,默认是:C:Exelis,这里我们选择默认安装,点击Next。
正在安装ENVI Services Engine5.1。
1.3.2 安装许可
选择“是”,直接导入许可,若选择“否”,可以通过“开始→IDL8.3→Tools→License Wizard”配置许可。
这里我们选择“是”,进入许可加载界面,在弹出程序界面中选择第三项,Install a license you have received,导入从Esri中国信息技术有限公司收到的许可文件。
导入许可后点击Finish完成安装。
图12 许可导入完成
1.3.3 验证
ENVI Services Engine安装完成后,可以通过开始->所有程序->ENVI 5.1->Tools->Services Engine Admin Console启动ENVI Services Engine管理员控制台(http://hostname:8181/admin),管理员控制台如果可以启动(注意浏览器版本)说明ENVI Services Engine安装成功!
图14 ENVI Services Engine管理员控制台
二、服务器端开发
ENVI Services Engine自5.1版本开始,可以直接在IDL8.3下完成以下内容:
l 任务创建
l ENVI/IDL程序开发
l JSON配置文件编辑
l 任务发布及管理
l ENVI Services Engine服务测试
2.1任务创建
创建任务: 启动IDL8.3,点击菜单文件->New Task…后启动新建任务对话框,这里可以填入:任务名称、文件夹名称、IDL程序名称(三者最好保持一致)以及该任务保存的路径。
2.2ENVI/IDL程序开发
ENVI Services Engine任务包含两个文件:IDL源程序(.pro)文件和JSON配置文件(.json)。
双击ESE_Canny.pro即可编写ENVI/IDL功能,通过新建任务生成的pro文件,程序框架已经完成,只需要添加ENVI/IDL功能即可。计算Canny边缘算子的IDL程序如图16。
这里有两点需要注意:
l IDL程序启动ENVI,必须是e=envi(/headless)而不能是ENVI,这里没有调用ENVI函数,因此不需要启动ENVI。
l 在IDL中调试时需要加上verifyServer,否则!SERVER环境变量无法初始化,verifyserver程序存放在C:Exelisse51lib路径下,因此需要在IDL路径中加入了C:Exelisse51lib路径IDL才可以找到该程序,否则无法直接调用。添加路径可以启动菜单窗口->首选项。
2.3JSON配置文件编辑
ENVI/IDL程序开发完成后,需要编写JSON配置文件,双击config.json,打开json配置文件,ESE_Canny的配置文件编写如图18。关于JSON文件参数格式如图19,各参数说明详见ENVI Services Engine帮助。
图18 Canny边缘算子计算JSON文件
图19 JSON文件格式
2.4任务发布及管理
IDL文件和JSON配置文件编辑完成之后,即可在IDL下直接发布ENVI Services Engine服务。打开JSON文件,点击下方的发布后,即可进入发布界面,在该界面下,可以点击 添加ENVI Services Engine服务器,这里使用的是本地机器,因此服务器地址为:http://localhost:8181/ESE。
添加ENVI Services Engine服务器后,即可选择服务端点(SyncServices(同步服务)和AsyncServices(异步服务))后右击发布该任务。也可以通过右侧工具栏进行任务发布、编辑、删除等操作。
2.5ENVI Services Engine服务验证
在IDL中直接发布任务后,可以登陆ENVI Services Engine管理员控制台查看服务的URL即HTTP REST服务地址。
可以看到,该服务已经发布成功,接下来我们验证服务能否正常运行,点击右侧的Task Request Builder…,打开Task Request Builder面板后,点击Submit即可运行服务。
服务运行成功后可以得到json返回结果,在json返回结果中可以查看服务是否运行成功及返回的结果。
图24 Canny计算结果
点击Task Request Builder面板上的Show Request,可以得到该服务的HTTP REST地址,有了该地址之后,就可以进行客户端开发,在客户端调用该服务。
三、客户端开发
这里的客户端可以是基于HTML和Javascript、Flex、Silverlight等开发的web客户端,也可以是移动客户端(IOS、Android),在客户端中可以调用通过ENVI Services Engine平台发布的标准的HTTP REST服务。
这里的演示客户端比较简单,利用的是HTML与JavaScript来调用HTTP REST服务,只是一个HTML文件,里面嵌入了JavaScript来调用ENVI Services Engine的HTTP REST服务,JavaScript调用HTTP REST服务方法如图26所示。注意,这里是调用的同步服务,异步服务的调用与之类似。
运行HTML文件后,在线计算出边缘算子,如图27所示。