原文地址:

ENVI Services Engine5.1 应用开发入门教程_ENVI-IDL中国_新浪博客
http://blog.sina.com.cn/s/blog_764b1e9d0102uyet.html

 

入门教程及示例程序下载:http://pan.baidu.com/s/1kT0vAT5

目录

一、安装

1.1 软硬件要求

1.2 安装须知

1.3 产品安装

二、服务器端开发

2.1 任务创建

2.2 ENVI/IDL程序开发

2.3 JSON配置文件编辑

2.4 任务发布及管理

2.5 ENVI Services Engine服务验证

三、客户端开发

要求

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或者更高版本。而且还需要安装显卡的最新驱动。

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) 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 ENVI Services Engine安装

本次安装过程是在Windows7旗舰版操作系统下完成的。

将ENVI Services Engine安装光盘放入光驱后,即可自动识别,点击autorun.exe即弹出图1界面,点击Install,开始安装。


图1 安装ENVI Services Engine

该机器没有安装ENVI/IDL,因此ENVI Services Engine5.1在安装过程中会自动安装ENVI/IDL,该过程会持续几分钟。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图2 安装ENVI/IDL

点击Next继续安装ENVI Services Engine5.1

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

图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 Engine5.1 应用开发入门教程-LMLPHP
图4 选择安装产品类型

选择ENVI Services Engine是否以服务方式安装,这里有三个选项:以自动启动的服务安装、以手动启动的服务安装、不以服务方式安装。这里我们选择以自动启动的服务方式安装,点击Next。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图5 选择服务启动方式

以自动启动的服务安装方式会要求输入启动该服务的用户账户,这里我们选择管理员Administrator,点击Next。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图6 设置用户名

选择ENVI Services Engine的安装路径,默认是:C:\Exelis,这里我们选择默认安装,点击Next。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图7 ENVI Services Engine安装路径

正在安装ENVI Services Engine5.1。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图8 正在安装

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图9 许可安装选择

选择“是”,直接导入许可,若选择“否”,可以通过“开始→IDL8.3→Tools→License Wizard”配置许可。

这里我们选择“是”,进入许可加载界面,在弹出程序界面中选择第三项,Install a license you have received,导入从Esri中国信息技术有限公司收到的许可文件。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图10 导入许可文件

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图11 许可导入界面

导入许可后点击Finish完成安装。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

图12 许可导入完成

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图13 安装完成后重启电脑

1.3.3 验证

ENVI Services Engine安装完成后,可以通过开始->所有程序->ENVI 5.1->Tools->Services Engine Admin Console启动ENVI Services Engine管理员控制台(http://hostname:8181/admin),管理员控制台如果可以启动(注意浏览器版本)说明ENVI Services Engine安装成功!

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图14 ENVI Services Engine管理员控制台

ENVI Services Engine自5.1版本开始,可以直接在IDL8.3下完成以下内容:

l 任务创建

l ENVI/IDL程序开发

l JSON配置文件编辑

l 任务发布及管理

l ENVI Services Engine服务测试

创建任务: 启动IDL8.3,点击菜单文件->New Task…后启动新建任务对话框,这里可以填入:任务名称、文件夹名称、IDL程序名称(三者最好保持一致)以及该任务保存的路径。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图15 新建任务

程序开发

ENVI Services Engine任务包含两个文件:IDL源程序(.pro)文件和JSON配置文件(.json)。

双击ESE_Canny.pro即可编写ENVI/IDL功能,通过新建任务生成的pro文件,程序框架已经完成,只需要添加ENVI/IDL功能即可。计算Canny边缘算子的IDL程序如图16。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图16 Canny边缘算子计算IDL程序

这里有两点需要注意:

l IDL程序启动ENVI,必须是e=envi(/headless)而不能是ENVI,这里没有调用ENVI函数,因此不需要启动ENVI。

l 在IDL中调试时需要加上verifyServer,否则!SERVER环境变量无法初始化,verifyserver程序存放在C:\Exelis\se51\lib路径下,因此需要在IDL路径中加入了C:\Exelis\se51\lib路径IDL才可以找到该程序,否则无法直接调用。添加路径可以启动菜单窗口->首选项。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图17 插入IDL路径

配置文件编辑

ENVI/IDL程序开发完成后,需要编写JSON配置文件,双击config.json,打开json配置文件,ESE_Canny的配置文件编写如图18。关于JSON文件参数格式如图19,各参数说明详见ENVI Services Engine帮助。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

图18 Canny边缘算子计算JSON文件

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

图19 JSON文件格式

IDL文件和JSON配置文件编辑完成之后,即可在IDL下直接发布ENVI Services Engine服务。打开JSON文件,点击下方的发布后,即可进入发布界面,在该界面下,可以点击 添加ENVI Services Engine服务器,这里使用的是本地机器,因此服务器地址为:http://localhost:8181/ESE

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图20 添加ENVI Services Engine服务器

添加ENVI Services Engine服务器后,即可选择服务端点(SyncServices(同步服务)和AsyncServices(异步服务))后右击发布该任务。也可以通过右侧工具栏进行任务发布、编辑、删除等操作。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图21 发布任务

服务验证

在IDL中直接发布任务后,可以登陆ENVI Services Engine管理员控制台查看服务的URL即HTTP REST服务地址。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图22 发布后的Canny服务

可以看到,该服务已经发布成功,接下来我们验证服务能否正常运行,点击右侧的…,打开Task Request Builder面板后,点击Submit即可运行服务。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图23 Canny服务测试

服务运行成功后可以得到json返回结果,在json返回结果中可以查看服务是否运行成功及返回的结果。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

图24 Canny计算结果

点击Task Request Builder面板上的Show Request,可以得到该服务的HTTP REST地址,有了该地址之后,就可以进行客户端开发,在客户端调用该服务。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图25 Canny服务地址(HTTP REST)

这里的客户端可以是基于HTML和Javascript、Flex、Silverlight等开发的web客户端,也可以是移动客户端(IOS、Android),在客户端中可以调用通过ENVI Services Engine平台发布的标准的HTTP REST服务。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP

这里的演示客户端比较简单,利用的是HTML与JavaScript来调用HTTP REST服务,只是一个HTML文件,里面嵌入了JavaScript来调用ENVI Services Engine的HTTP REST服务,JavaScript调用HTTP REST服务方法如图26所示。注意,这里是调用的同步服务,异步服务的调用与之类似。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图26 JavaScript调用Canny服务

运行HTML文件后,在线计算出边缘算子,如图27所示。

ENVI Services Engine5.1 应用开发入门教程-LMLPHP
图27 在线计算Canny

04-16 15:34