APP下载

基于地理处理的GIS与遥感的工作流集成

2014-10-21刘闻欣卢陈涛

建筑工程技术与设计 2014年35期
关键词:调用脚本图像处理

刘闻欣 卢陈涛

摘要:GIS与遥感的集成是一种发展趋势,两者的结合可以实现空间分析与影像处理的集成,本文以ArcGIS平台与ENVI/IDL平台为例,以地理处理建模为基础,使用ArcGIS的脚本语言,进行影像处理工具的构建,完成二者工作流的集成。

关键词:遥感与GIS集成;一体化;地理处理

作为GIS的核心组成部分,遥感影像是提供及时信息的理想方式。遥感与GIS不仅从数据上,还会从整个软件架构体系上真正实现融合,从而可以达到优势互补,进一步提升GIS软件的可操作性,提升空间和影像分析的工作效率,并有效节约系统成本。ENVI与ArcGIS一体化集成不仅可以从最开始的进行数据互操作,而达到工作流的无缝连接,全面提升遥感影像价值,进一步提升了空间和影像分析的工作效率,并有效节约系统成本。

1.GIS与遥感集成的数据基础

遥感与GIS集成基础,在于GIS数据与遥感数据的互操作和共享。两者之间的直接访问。具体功能表现在:

1) 对GeoDatabase的访问。GeoDatabase是天然的一体化数据管理模型。GeoDatabase采用标准的RDBMS技术,支持栅格与矢量数据的集中存储。ENVI软件完全支持对GeoDatabase的访问。

2) 对文件的操作。ENVI支持E00和Shapefile文件的格式。可以将shapefile文件作为矢量数据在ENVI中进行显示与操作。

3) 对服务的访问。ArcGIS企业级服务在ENVI中可以通过RemoteConnectionManager进行远程服务器的连接,这是ENVI将作为一个客户端,支持OGCWebCoverageService(WCS服务)和OGCWebMapService(WMS)服务。进行服务连接成功之后,就可以在ENVI软件中进行影像的访问处理与显示等操作,与处理本地数据相似。

2.基于地理处理集成遥感影像处理的技术基础

(1) ENVI平台语言IDL

IDL语言IDL是完全面向矩阵的,因此它具有快速分析超大规模数据的能力。IDL可以通过灵活方便的I/O分析任何数据。可以读取和输出任意的有格式或者无格式的数据类型,支持通用文本及图形数据,并且支持在NASA、TPT、NOAA等机构中大量使用的HDF、CDF等科学数据格式。IDL还支持字符、字节、16位整型、长整型、浮点、双精度、复数等多种数据类型。

直接调用ENVI库程序,通过IDL可以调用ENVI中丰富的函数库,完成影像的处理功能,在ENVI中可以实现的功能均可由IDL调用实现。

(2) Python语言对ArcGIS平台的支持

Python提供了很多可能:与GIS系统集成、跨平台、容易与其他语言混合使用(C,C++,FORTRAN,Java)。许多处理分析GIS数据的包和工具已经被开发出来。基本功能包括,操作shapefile,grid图像,以及更复杂的格式,如ArcSDE、web服务、数据库等。

(3) ArcGIS与ENVI/IDL中都提供了对Python语言的支持

ENVIToolbox的提供,ENVI的图像处理和分析功能作为独立的工具嵌在ArcGISToolbox,这些工具可以直接运行完成图像处理任务,也可以进行ModelBuilder建模,在安装ENVI的时候,这些工具同时安装在ArcGIS中。

Python作为ArcGIS的脚本语言,可以直接调用ArcGIS中的地理处理功能,完成地理处理的任务,ArcGIS10引入了ArcPy,它涵盖并进一步加强了ArcGIS9.2中所采用的arcgisscripting模块的功能。ArcPy提供了一种用于开发Python脚本的功能丰富的动态环境,同时提供每个函数、模块和类的代码实现和集成文档。包括制图模块(arcpy.mapping)、SpatialAnalyst模块(arcpy.sa)和GeostatisticalAnalyst模块(arcpy.ga)。

使用以ArcPy编写的ArcGIS应用程序和脚本的优势在于,可以访问并使用由来自多种不同领域的GIS专业人员和程序员开发的大量Python模块。通过解释和动态输入这种编程语言,用户可以在交互式环境中快速地创建脚本原型并进行测试,同时这种编程语言功能强大,可编写大型应用程序。

“envipy”是ITT专门为ENVI/ArcGIS一体化开发的一个python模块,envipy与IDL代码中调用ENVI库函数时的加载的代码ENVI,/RESTORE_BASE_SAVE_FILES和ENVI_BATCH_INIT的效果是一样的,就是加载ENVI的进程。

由于ArcGIS对python语言的支持,和Arcpy与envipy模块的提供,为使用地理处理完成遥感图像处理提供了技术基础。使用envipy模块和arcpy模块结合,可以编写地理处理脚本,把以上的优点结合起来,完成ENVI/IDL平台与ArcGIS平台工作流的集成,使用地理处理工具箱完成影像的处理任务。

3.地理建模实现遥感功能的步骤

建立遥感工具可以分为以下步骤

1、 指定存储文件夹

指定路径存放IDL文件和Python脚本文件

2、 编写IDL程序,生成“sav”文件

在IDL的利用IDL调用ENVI的图像处理接口实现某一图像处理功能;再编译成sav文件供Python脚本中envipy.RunTool()调用。有两种编译方式:命令行和按钮操作。

3、 編写Python脚本

Pythonscript文件是为了从用户交互式界面中获取参数,执行脚本文件时将这些参数传递给图像处理程序(IDL编写了.sav文件)调用图像处理的功能。

利用Python来编写脚本调用ENVI/IDL工具,包含三个部分:

(1)导入envipy类。

“envipy”是ITT专门为ENVI/ArcGIS一体化开发的一个python模块,envipy与IDL代码中调用ENVI库函数时的加载的代码ENVI,/RESTORE_BASE_SAVE_FILES和ENVI_BATCH_INIT的效果是一样的,就是加载ENVI的进程。

(2)从GP对象中获取参数。

(3)调用envipy类中的‘RunTool方法。

4、 构建用户界面

在Catalog中构建界面需要三步骤:

1、 创建文件和工具箱toolbox;

指定一个路径创建一个文件夹,用于存放ArcToolbox文件。

2、 给toolbox添加script;

运行工具添加运行脚本,设置运行环境,设置输入输出参数等

3、 运行该脚本script。

ESRI提供了三种运行方法,可以直接双击运行,也可以以python语言进行调用,或者共享为ArcGISServer服务,通过ArcGISAPI进行网络端调用。

结论

GIS与遥感的集成,主要体现在数据的互操作,平台的链接与集成方面,并可以通过实现桌面的定制,实现GIS与遥感的功能互补,进一步提高GIS软件的可操作性,提升空间和影像分析的工作效率,有效节约系统成本。GIS与遥感的集成逐渐成为一种趋势和发展潮流,使用地理处理工作流可以应用ENVITools完成基本处理影像处理任务,更可以建立自己的影像处理工具箱,使用ArcGIS与ENVI/IDL为平台,以地理处理为基础进行建模为遥感和GIS流程一体化提供了一个实用的解决方案。

猜你喜欢

调用脚本图像处理
“课程思政”视域下职业学校《图像处理》课程教学改革实践
构建《Photoshop图像处理》课程思政实践教学路径的探索
基于图像处理与卷积神经网络的零件识别
自动推送与网站匹配的脚本
基于新一代信息技术的Photoshop图像处理课程开发与建设
基于Android Broadcast的短信安全监听系统的设计和实现
举一反三新编
捕风捉影新编
利用RFC技术实现SAP系统接口通信
愚公移山