ENVI Services Engine企业级遥感服务软件简介
作者:互联网
ENVI Services Engine是企业级服务器产品,通过ENVI Services Engine可以组织、创建及发布可伸缩、高度可配置的地理空间应用程序,能够将这些能力部署在任何现有的集群环境、企业级服务器或云平台中。用户可以通过各种终端(如桌面端、移动端、网页端等)按需获取并充分利用遥感图像提取的信息。ENVI Services Engine能够极大提高投资回报率,优化决策过程,提高数据应用效率,简化软硬件维护。
简介
遥感数据不仅数据量、种类在不断增加,空间分辨率、光谱分辨率和时间分辨率也在不断地提高。能够大规模及时准确地分析处理数据,为重大决策提供及时有效的解决方案是及其重要的。
ENVI Services Engine是将ENVI/IDL和其他软件(如雷达图像处理软件SARscape)图像处理功能以可伸缩、高度可配的Web Services的方式提供,可以部署到各种企业级环境中,包括集群环境、企业级服务器或者云平台等。客户端(移动端、网页端等)通过发送HTTP REST请求图像处理功能,处理结果通过标准的HTTP机制返回到客户端。
图:部署在服务器上的ENVI Services Engine
ENVI Services Engine采用了开源标准、与中间件无关的体系结构,将资源和互操作考虑进去。可以在一个资源上部署图像分析功能并传递给多个平台。ENVI Services Engine提供在线的遥感服务,用户只需要网页浏览器、移动设备等客户端就可以对影像进行复杂的、耗费资源的运算,可以随时随地的获取影像空间数据和信息,从而快速有效地进行战略决策。
ENVI Services Engine包括模块化、运行在Node.js环境中的企业级地理空间服务框架Geospatial Services Framework(GSF)。它具备更加灵活的可扩展性,可以将ENVI、IDL、SARscape等作为“Engine”发布为Web Services,还支持机器学习、深度学习等人工智能功能。
ENVI Services Engine支持开发人员使用JavaScript 、HTML5等多种前端开发语言,以及Vue、 bootstrap、element-ui、axios Echart等Web APIs来创建自定义的Web应用程序。也可以使用天地图、MapBox、Leaflet等MAP APIs。
运行结构
ENVI Services Engine运行的基本结构一般包括三个部分:服务端、中间件和前端客户端。
图:ENVI Services Engine运行的基本结构
- 服务端
安装有ENVI Services Engine的服务器能够管理数据和分析功能。ENVI Services Engine是将分析功能传递到数据而不是将数据拷贝到桌面进行本地分析,这样就减少了执行某些任务的时间。另外,服务器组成是可伸缩的这就意味着用户能够使用多个服务器解决大型任务或者进行批处理工作。
- 中间件(可选择)
中间件组件控制所有的GIS目录、资源和派生产品的传送。此组件通常使用基于开放地理联盟(OGC)的体系结构来处理地图、要素及来自客户端的传递给它的请求。中间件可以将庞大的数据目录以Web Services形式进行托管和提供服务。
- 客户端
前端客户端包括:基于Web的瘦客户端、桌面程序、移动应用程序。这将是用户用来搜索和发现数据、请求解析和结果显示的交互界面。
使用
ENVI Services Engine的使用可分为三步:Services创建、系统引擎&中间件部署和客户端APP开发。
图:ENVI Services Engine的使用流程
专业服务构建:允许开发人员使用不同的编程语言来自定义应用程序,推荐使用ENVI/IDL。ENVI是一个高级图像分析软件,它支持上百种不同的数据类型,包涵了数百个图像分析功能,还可以通过IDL开发更多的遥感功能。
系统引擎&中间件部署:当一个应用程序开发出来,把它封装为一个服务并部署到ENVI Services Engine引擎上。如果使用了中间件,需要配置中间件相关程序。
客户端APP开发:支持开发人员使用JavaScript 、HTML5等多种前端开发语言,以及Vue、 bootstrap、element-ui、axios Echart等Web APIs来创建自定义的Web应用程序。也可以使用天地图、MapBox、Leaflet等MAP APIs。甚至可以使用IDL开发更复杂的桌面应用端程序。
特性
- 远程访问
将影像分析部署在服务器端的一个好处就是能够在单个客户端和移动客户端运行复杂的、大数据量的分析。为了数据分析和高效率的需要,可以通过网络请求轻量级分析功能来代替本地客户端。
- 资源配置
实现基于服务器的影像分析对于一个企业来说有很多优点。一个包含和部署了企业所需要的所有数据和软件的服务器,是个很容易管理的单一IT资源。这样将所有的许可和许可管理部署在同一个地方,可以避免一些不必要的许可和功能。集中式的管理方式也能够更方便地更新数据,使管理员能更快更方便的更新系统,而不用通过网络更新桌面客户端。这些都为公司节省了开支,减少了硬件和软件成本,减少了支持和维护费用,这都是部署企业级软件的优点。
- 互操作性
ENVI Services Engine能够完全和企业现有的架构互操作。HTTP 和REST接口说明该引擎可以部署在所有的中间件上。这表明只需要很少量的工作就可以将ENVI Services Engine配置在您现有设备上。该引擎的互操作另一个优点是:代码一次编写,多处部署。用代码实现的特定功能通过引擎可以封装和应用于各种环境,如桌面、网络、或移动客户端。
- 用户协同
集中存储数据和分析功能,增强了使用者之间的协同工作能力。在很多时候,同一个组织的不同部门的用户可能在使用不同的软件做着相同的工作。这可能导致不一致的工作流程和不正确的结果,甚至是不能互操作的输出格式。统一部署的一个分析软件包能够在整个公司内提供一致的,可重复利用的处理工具。创建能够在多种环境下分发的自定义工作流,使得非遥感专业的用户可以执行复杂的分析而获得正确的结果。
- 高效性
将复杂的遥感业务流程完整地封装到一个模型中,形成一个无缝的工作流,减少中间人工文件读写等环节,提高整个遥感业务流程的效率;利用服务器高端硬件资源,提高大数据量和复杂遥感业务模型的分析速度;
- 易用性
专业的遥感业务工作流被设计成工艺标准化的模型部署在服务器端,用易懂的标识提示参数输入,最终用户不需要专业的知识就可以执行模型并得到满意的结果。这大大降低了用户对专业领域知识的依赖,让更多的人可以使用这个应用。
- 安全性
ENVI Services Engine为不同用户分别设置文件访问权限,我们可以控制哪些文件可以访问和读/写/执行等。另外,原始数据和业务模型统一放在服务器端,最终用户只是接触最终结果。
部署环境
ENVI Services Engine支持64位的Linux和Windows系统(具体描述如下表)。
表:ENVI Services Engine支持的硬件及操作系统
操作系统 |
硬件 |
支持版本 |
Windows |
Intel/AMD 64-bit |
10, Server 2012, Server 2016 |
Linux |
Intel/AMD 64-bit |
Kernel 2.6.32, glibc 2.12, |
ENVI Services Engine系统可以运行在不同种类的硬件环境中,包括单节点机器、集群环境、企业级计算机、云平台等。
用户
ENVI Services Engine的用户包括:
专业用户——专业用户可以使用ENVI Services Engine作为工作和开发平台,以图像处理、业务流程和应用功能的形式从遥感图像中获取所需的信息。同样他们也可以基于ENVI/IDL自主开发图像处理工具,并发布为服务,从而对系统功能进行扩展。
应用开发人员——专门从事应用开发的人员可以应用专业用户发布的服务来创建或者定制应用而不必深刻理解遥感知识,可以设计美观友好的客户端界面。
领导和非专业用户——领导和非专业用户不需要了解很深的遥感和云技术,可以把云遥感平台作为一个门户来使用,直接借助Web Services技术将ENVI Services Engine提供的遥感图像处理功能结合到他们的日常工作流程中,真正实现即拿即用、按需使用。
IT 管理员——IT管理员可以应用ENVI Services Engine服务并将其集成到更广的IT领域以支持多种多用的业务流程。可以帮助专业用户将系统部署在集群环境、云平台中,使得硬件和软件资源回报率大大提高。
产品结构
ENVI Services Engine作为服务器产品支持不限数量的并发请求,产品依据任务量和性能要求,提供可伸缩并行处理任务数的产品选择。软件系统包含了地理空间服务框架(Geospatial Services Framework),以及企业级面向对象图像分类、深度学习图像分类、快速大气校正、精准农业分析和NITF文件格式读取功能模块,同时包含一套ENVI遥感图像处理桌面软件。可选择SARscape作为扩展引擎。
类型 |
并行任务数(Works) |
描述 |
ENVI Services Engine |
4、8、12、16… |
基于开源标准、与中间件无关的遥感服务器产品类型。将ENVI及IDL自定义功能发布为RESTful Web Services。 |
注:并行任务数(Works)表示支持并行处理任务数。如8个Works产品,表示同时支持8个并行任务(Worker)的处理,如果同时提交16个任务请求,系统会自动并行处理其中8个任务,剩余8个任务队列排队,执行完前8个任务后,Worker进程就会自动并行处理队列中等待的其余任务。
应用场景
基于企业级部署的遥感应用系统,用户可以通过各种终端(如桌面端、移动端、网页端等)对影像进行复杂的、耗资源的运算,可以随时随地按需获取影像空间数据和信息,提高数据应用效率。
- 按需、在线获取影像信息
将复杂、专业的遥感模型部署到服务器,数据、模型、计算资源等统一部署在服务器端,客户端可以构建不同的应用程序,实现按需、在线获取影像信息。
图:基于企业级的Web遥感服务平台应用
如在环境监测中,常用遥感手段监测水质,一般流程是对获取的影像数据进行数据预处理,在预处理基础上生成初步的影像光谱指数,结合野外采集的水质实测数据,构建水质反演模型,制作水质监测专题图及报表并发布结果。由于水质监测时间周期要求较高,传统图像处理模式需要一个较长时间的流程。我们把基于Web的在线影像分析技术应用到这个流程中,将数据和水质反演模型定义为一个工作流,部署在服务器端,最终用户访问Web应用网站,选择水质反演模型、时间、专题图的分级标准和颜色配置等参数提交给服务器,服务器根据客户端提交的参数执行工作流,并把结果传递到客户端展示,用户在短时间内就完成了水质的监测并得到结果。类似的应用还包括旱情监测、农作物监测、大气环境监测、自然灾害监测(森林火灾、洪灾、地震等)等。
如下图所示,在Web端地图上绘制一个区域,设置相应的参数提交,就可以在线、按需的得到这个区域内,某一时间,冠径2-4米的果树株数和相对健康状况。
图:按需、在线获取果树株数和健康信息
- 高效的进行影像处理
ENVI Services Engine提供了一个健壮的、可伸缩的负载均衡机制,支持并行处理和分布式处理。如大批量获取的高分二号影像数据,我们需要进行解压、正射校正、图像融合等预处理,这是一项非常耗时和耗力的工作。
基于ENVI/IDL可以很容易的开发相应的遥感功能,并部署到ENVI Services Engine中。我们将这种技术应用到大批量获取的高分二号影像数据处理中,相比单机处理方式,处理效率得到极大的提高,并且可以通过Web客户端在线进行操作,同时也可以定制“无人值守”自动化处理模式。
如图所示为Web客户端,服务器为普通的PC机(8核2.4G主频CPU、8G内存、机械硬盘),4 个Works 的ENVI Services Engine (4个任务并行),完成4对标准景、3.4G数据量,即4景8米多光谱图像,4景2米全色图像,处理步骤包括自动解压、正射校正、图像融合,总共处理时间为10分钟17秒。
图:遥感影像在线处理与分析系统
我们在集群计算机环境中做过测试,测试环境如下:
- 硬件:1个头节点,4个计算节点,每个节点16个cpu核心, 32G内存。
- 软件环境:8Works ENVI Services Engine、高分农业遥感数据产品生产系统。
- 测试数据:GF-1 WFV数据。
处理过程 |
输入数据量 |
结果数据量 |
时间 |
解压 |
原始GZ文件(217):162G |
解压后(带TAR包):551G 解压后(不带TAR包):275G |
11分42秒 |
正射校正 |
167景影像:196G |
312G |
4小时13分钟 |
植被指数 |
167景影像:312G |
312G |
44分 |
在8works并行的情况下,ENVI Services Engine具备>1.5T数据处理能力
标签:Engine,Web,遥感,企业级,ENVI,Services,客户端 来源: https://www.cnblogs.com/enviidl/p/16261350.html