遥感与GIS一体化集成技术遥感影像已经成为GIS的主要信息源,并作为GIS的核心组成部分,GIS是管理和分析空间数据的有效手段,帮助提升影像的利用价值。遥感与GIS的一体化集成逐渐成为一种趋势和发展潮流。在上个世纪很多人提出了遥感与GIS集成的概念,但是只停留在影像栅格格式与矢量数据格式相互支持的层面上。本专题对遥感与GIS平台一体化集成途径及相应技术进行了讨论。本专题介绍以下几个内容:遥感与GIS遥感与GIS一体化集成技术ENVI/IDL与ArcGIS一体化集成方案ENVI/IDL与ArcGIS一体化集成操作演示ENVI/IDL与ArcGIS集成开发案例1遥感与GIS遥感是空间数据采集和分类的有效工具,GIS是管理和分析空间数据的有效工具(彭望琭等,2002)。两者是空间信息的主要组成部分,有着必然的联系。遥感具有动态、多时相采集空间信息的能力,遥感影像已经成为GIS的主要信息源。作为GIS的核心组成部分,遥感影像是提供及时信息的理想方式。在遭遇灾害的情况下,遥感影像是唯一我们能够立刻获取的地理信息;在地图缺乏的地区,遥感影像甚至是我们能够获取的唯一信息;图1遥感与GIS在空间信息的许多行业,离开遥感影像,GIS就是不完整的。另一方面,遥感获取丰富的、海量的空间数据有赖于GIS的有效管理与共享,同时利用GIS强大的空间分析功能提取更深层次的专题信息,全面提升影像的利用价值。图2遥感与GIS一体化集成意义2遥感与GIS一体化集成技术遥感影像类似于GIS中的栅格数据,遥感和GIS很容易在数据层次上实现集成(邬伦等,2001)。GIS软件没有提供完善的图像处理功能,遥感软件中也缺少空间分析及数据管理工具。遥感和GIS一体化集成,可以有以下三个层次及途径实现。(一)数据一体化管理与共享数据互操作遥感影像和图像分析功能可以作为核心组成部分与GIS实现一体化,首先解决的问题就是遥感与GIS平台之间的数据互操作问题。数据互操作实现有两个途径:一是将遥感数据或者GIS数据都以标准格式保存,两个平台都支持;二是遥感和GIS平台直接支持对方数据格式。很明显后者比前者更加方便。栅矢数据集中和分布式管理在遥感中,数据主要储存格式为栅格,GIS中主要由矢量数据格式组成。栅格和矢量一体化管理,需要这样一种数据模型,同时储存栅格和矢量数据,支持分布式管理。基于服务的企业级共享影像天然地具有企业级应用的潜力,因为它可以实现多个用户在同一幅图上同时进行操作。而这对于大型企业级应用更加有利,其中最主要的一项优势就是节省成本。我们可以分享同一影像资源,从而显著地减少成本。而影像由于自身的特点,具有很高的存储要求,尤其是那些高空间分辨率、多光谱影像。传统以纸质影像图或者电子文件分发的形式也能实现数据共享,但是共享效率比较低。如今基于Webservices的共享方式提供了一种合理的解决方式,它集中利用了计算机资源,可以为若干个客户端提供影像共享服务。(二)平台一体化分析在遥感软件中进行的图像处理工作流,与GIS软件下的GIS工作流实现无缝链接和交换。如在遥感软件中处理的数据通过菜单功能直接传送到GIS软件中,无需中间的保存、打开等步骤;GIS软件中分析的数据,直接导入遥感软件中,并且保持同步显示;遥感软件中集成GIS软件的部分组件功能。虽然在两个不同的软件平台下工作,操作感和处理效率类似在一个平台下作业。(三)系统一体化集成开发大多数遥感和GIS软件平台都提供了二次开发功能。如在进行GIS系统开发时,将专业的影像数据处理和分析工具集成到GIS系统环境中,在同一系统中既能完成遥感数据的专业处理与分析,又能完成GIS空间分析和发布共享等工作,形成一个遥感与GIS一体化集成系统。要实现一体化集成开发系统,前提是遥感和GIS软件平台提供的二次开发接口,都能通过程序开发语言调用,并整合在一起。3ENVI/IDL与ArcGIS一体化集成方案遥感与GIS不仅从数据上,还会从整个软件构架体系上真正实现融合,从而可以达到优势互补,进一步提升GIS软件的可操作性,提升空间和影像分析的工作效率,并有效节约系统成本。为了适应这种新的用户需求和未来的技术发展趋势,更好地为用户提供服务,全球最大的GIS技术提供商ESRI公司与全球遥感领域的领导者美国ITTVisualInformationSolutions(简称ITTVIS)公司,建立了全球战略合作伙伴关系,共同开发和建设遥感与GIS一体化平台。ENVI是由遥感领域的科学家采用IDL(交互式数据处理开发语言)开发的一套功能强大的、完整的遥感图像处理软件。ArcGIS是由ESRI公司开发的、全球使用最广的GIS软件。ENVI/IDL与ArcGIS一体化集成解决方案,在真正意义上实现了遥感与GIS一体化集成。(一)数据一体化管理与企业级共享ENVI/IDL与ArcGIS数据互操作从2007年6月开始,ESRI公司和ITTVIS公司宣布两者的商务和技术合作计划。两个平台互相支持对方的格式,同时两者都支持一些通用文件格式,如GeoTiff、JPEG2000等(图3)。图3ENVI/IDL与ArcGIS数据互操作栅矢数据集中和分布式管理Geodatabase是按照一定的模型和规则组合起来的存储空间数据和属性数据的容器,已经成为ArcGIS的核心数据模型,它实现了多源空间数据的集中和分布式管理。它是一种天然的遥感与GIS数据一体化储存模型。根据不同的应用需求,它分为三个级别:FileBasedGeodatabase、PersonalGeodatabase、Enterprise(SDE)Geodatabase。其中Enterprise(SDE)Geodatabase支持分布式管理与储存。图4天然的遥感与GIS数据一体化储存模型ENVI完全支持ArcGISGeodatabase各个级别的读写,在ENVI、ENVIZoom、ENVIEX中,都可以通过菜单RemoteConnectionManager打开相应的面板,也可以通过SavetoArcGISGeodatabase菜单将数据保存到Geodatabase。图5打开Geodatabase以及服务的数据图6数据保存到Geodatabase基于服务的企业级共享ENVI可以当作一个客户端,打开OGC标准的服务(WCS/WMS),这些服务可以是ArcGISServer发布的。其中WCS服务发布的影像数据保留了原始的数据的像元值和波段信息,因此通过WCS服务获得的影像可以做进一步的分析,跟分析本地影像效果是一样。图7远程数据接收与本地处理、成果共享(二)ENVI/IDL与ArcGIS平台一体化分析最新版的ENVI4.7推出专门为GISer使用的ENVIEX模块,这个模块整合了部分ArcGIS®和ENVI功能,将影像处理和分析与GIS工作流无缝链接到一起,在ENVIEX中能完成三个方面的工作:1)无缝链接GIS工作流ENVIEX将影像处理和分析与GIS工作流无缝链接到一起,在ENVIEX中能实现:轻松交换数据和图层文件:ArcGIS中的数据或图层文件(*.lyr)可以通过鼠标拖拽方式放到ENVIEX上进行显示。查看和处理ArcGIS图层:ENVIEX支持ArcGIS的图层符号化显示,即可以完全按照ArcGIS风格和样式显示图层数据。同步查看图像处理结果:在ENVIEX下执行图像处理过程中,动态修改参数,在ENVIEX和ArcGIS可以看到相同的变化结果。2)向导式专业影像处理工具ENVIEX提供GIS用户最需要的图像处理和分析功能,并以流程化、向导操作方式提供。并具有透视窗口随时预览处理结果。3)成果共享ENVIEX提供多种成果共享方式,将影像处理与分析结果无缝集成到GIS工作流中。存储为通用格式或PowerPoint文件直接保存Geodatabase或输出Shapefile在ENVIEX中直接调用ArcGIS制图组件进行出图通过菜单直接将成果导入ArcMap进行制图,无需中间保存与打开过程。同样ENVIZoom视窗具有ENVIEX类似的功能。图8平台一体化分析方式(三)ENVI/IDL与ArcGIS集成开发ENVI是一个非常开放的平台,提供一个健全的函数库(图9),几何涵盖ENVI平台大部分图像处理功能。图9ENVI部分函数库列表同时IDL具有很好的扩展性,能很方便地与其他开发环境(VB、VC、.NET、Java等)进行集成开发。IDL可以通过以下方式与其他语言集成开发:1)Callable技术IDL作为动态链接库被外部程序调用的技术。使用Callable技术,外部程序可以像IDL命令行一样使用IDL命令或调用执行IDL的程序。简单实现方法(在vc6.0):1.将\ITT\IDL71\external\include目录下的idl_export.h头文件,添加到VC工程中2.工程→设置→连接中的对象/库模块中添加idl.lib3.添加Libraryfiles安装路径\ITT\IDL71\BIN\BIN.X864.系统变量path中添加IDL的安装路径\ITT\IDL71\BIN\BIN.X865.进行初始化IDL_Win32Init(0,handle,NULL,0)6.执行IDL命令行IDL_ExecuteStr(“restore,‘satstretch.sav’”)7.IDL_Cleanup(true)2)对象输出助手将IDL编写的功能模块输出为Java类和COM组件(.DLL或者.OCX)。3)IDLDrawWidget(VS2005中)1.首先在建立一windows应用程序。在工具箱上右键→选择项→COM组建选中IDLDrawWidgetControl3.02.拖动控件到窗体上3.axIDLDrawWidget1.IdlPath设定IDL库文件目录4.n=axIDLDrawWidget1.InitIDL((int)this.Handle)5.axIDLDrawWidget1.ExecuteStr(“”);执行IDL命令4)COM_IDL_CONNECT同IDLDrawWidget类似。同时,ArcGIS提供ArcObjects软件组件库,它提供了模块化、可伸缩、跨平台的通用API。ENVI/IDL与ArcGIS集成开发可以通过以下三个途径实现:图10三种集成开发模式1)ENVI/IDL与ArcGIS桌面定制通过ArcGIS桌面SDK及开发语言(如Python、VBA、VB、VC、.net等),将ENVI/IDL图像处理与分析功能集成到ArcMAP中:图11将ENVI/IDL功能嵌入ArcMAPToolbar中图12ENVI/IDL功能嵌入ArcToolBox中图13ENVI/IDL功能嵌入ModelBuilding(GP工具)2)ENVI/IDL与ArcGISEngineArcGISEngine是组件式开发工具包,可以灵活、方便地定制地图及GIS解决方案。ENVI/IDL与ArcEngine的一体化集成开发具有以下三个特点:1.通过ArcGISEngine解决了数据浏览、栅格矢量叠加、矢量编辑、渲染、专题制图以及空间分析等问题;2.将ENVI/IDL作为影像处理引擎,解决专业的影像处理过程;3.基于成熟平台的二次开发,快速实现了系统无缝集成开发,而且大大减少了程序的开发量、开发周期,减少了系统开发的风险,开发者可以将大部分精力放在系统业务流程上。图14ENVI/IDL与ArcEngine一体化集成开发3)ENVI/IDL与ArcGISServer将ENVI/IDL图像处理与分析功能集成在服务器端,以ArcGISServer作为地图服务器,将处理结果传递到客户端,较好地实现了B/S模式下对影像实时计算处理的需求。ENVI/IDL与ArcGIS一体化集成打破了传统单一的遥感图像处理流程,形成影像数据处理与分析、管理、空间分析、发布共享的空间信息工程化与流程一体化(图15)。图15空间信息工程化与流程一体