劉聞欣 盧陳濤
摘要:GIS與遙感的集成是一種發(fā)展趨勢(shì),兩者的結(jié)合可以實(shí)現(xiàn)空間分析與影像處理的集成,本文以ArcGIS平臺(tái)與ENVI/IDL平臺(tái)為例,以地理處理建模為基礎(chǔ),使用ArcGIS的腳本語言,進(jìn)行影像處理工具的構(gòu)建,完成二者工作流的集成。
關(guān)鍵詞:遙感與GIS集成;一體化;地理處理
作為GIS的核心組成部分,遙感影像是提供及時(shí)信息的理想方式。遙感與GIS不僅從數(shù)據(jù)上,還會(huì)從整個(gè)軟件架構(gòu)體系上真正實(shí)現(xiàn)融合,從而可以達(dá)到優(yōu)勢(shì)互補(bǔ),進(jìn)一步提升GIS軟件的可操作性,提升空間和影像分析的工作效率,并有效節(jié)約系統(tǒng)成本。ENVI與ArcGIS一體化集成不僅可以從最開始的進(jìn)行數(shù)據(jù)互操作,而達(dá)到工作流的無縫連接,全面提升遙感影像價(jià)值,進(jìn)一步提升了空間和影像分析的工作效率,并有效節(jié)約系統(tǒng)成本。
1.GIS與遙感集成的數(shù)據(jù)基礎(chǔ)
遙感與GIS集成基礎(chǔ),在于GIS數(shù)據(jù)與遙感數(shù)據(jù)的互操作和共享。兩者之間的直接訪問。具體功能表現(xiàn)在:
1) 對(duì)GeoDatabase的訪問。GeoDatabase是天然的一體化數(shù)據(jù)管理模型。GeoDatabase采用標(biāo)準(zhǔn)的RDBMS技術(shù),支持柵格與矢量數(shù)據(jù)的集中存儲(chǔ)。ENVI軟件完全支持對(duì)GeoDatabase的訪問。
2) 對(duì)文件的操作。ENVI支持E00和Shapefile文件的格式??梢詫hapefile文件作為矢量數(shù)據(jù)在ENVI中進(jìn)行顯示與操作。
3) 對(duì)服務(wù)的訪問。ArcGIS企業(yè)級(jí)服務(wù)在ENVI中可以通過RemoteConnectionManager進(jìn)行遠(yuǎn)程服務(wù)器的連接,這是ENVI將作為一個(gè)客戶端,支持OGCWebCoverageService(WCS服務(wù))和OGCWebMapService(WMS)服務(wù)。進(jìn)行服務(wù)連接成功之后,就可以在ENVI軟件中進(jìn)行影像的訪問處理與顯示等操作,與處理本地?cái)?shù)據(jù)相似。
2.基于地理處理集成遙感影像處理的技術(shù)基礎(chǔ)
(1) ENVI平臺(tái)語言IDL
IDL語言IDL是完全面向矩陣的,因此它具有快速分析超大規(guī)模數(shù)據(jù)的能力。IDL可以通過靈活方便的I/O分析任何數(shù)據(jù)??梢宰x取和輸出任意的有格式或者無格式的數(shù)據(jù)類型,支持通用文本及圖形數(shù)據(jù),并且支持在NASA、TPT、NOAA等機(jī)構(gòu)中大量使用的HDF、CDF等科學(xué)數(shù)據(jù)格式。IDL還支持字符、字節(jié)、16位整型、長(zhǎng)整型、浮點(diǎn)、雙精度、復(fù)數(shù)等多種數(shù)據(jù)類型。
直接調(diào)用ENVI庫程序,通過IDL可以調(diào)用ENVI中豐富的函數(shù)庫,完成影像的處理功能,在ENVI中可以實(shí)現(xiàn)的功能均可由IDL調(diào)用實(shí)現(xiàn)。
(2) Python語言對(duì)ArcGIS平臺(tái)的支持
Python提供了很多可能:與GIS系統(tǒng)集成、跨平臺(tái)、容易與其他語言混合使用(C,C++,F(xiàn)ORTRAN,Java)。許多處理分析GIS數(shù)據(jù)的包和工具已經(jīng)被開發(fā)出來?;竟δ馨?,操作shapefile,grid圖像,以及更復(fù)雜的格式,如ArcSDE、web服務(wù)、數(shù)據(jù)庫等。
(3) ArcGIS與ENVI/IDL中都提供了對(duì)Python語言的支持
ENVIToolbox的提供,ENVI的圖像處理和分析功能作為獨(dú)立的工具嵌在ArcGISToolbox,這些工具可以直接運(yùn)行完成圖像處理任務(wù),也可以進(jìn)行ModelBuilder建模,在安裝ENVI的時(shí)候,這些工具同時(shí)安裝在ArcGIS中。
Python作為ArcGIS的腳本語言,可以直接調(diào)用ArcGIS中的地理處理功能,完成地理處理的任務(wù),ArcGIS10引入了ArcPy,它涵蓋并進(jìn)一步加強(qiáng)了ArcGIS9.2中所采用的arcgisscripting模塊的功能。ArcPy提供了一種用于開發(fā)Python腳本的功能豐富的動(dòng)態(tài)環(huán)境,同時(shí)提供每個(gè)函數(shù)、模塊和類的代碼實(shí)現(xiàn)和集成文檔。包括制圖模塊(arcpy.mapping)、SpatialAnalyst模塊(arcpy.sa)和GeostatisticalAnalyst模塊(arcpy.ga)。
使用以ArcPy編寫的ArcGIS應(yīng)用程序和腳本的優(yōu)勢(shì)在于,可以訪問并使用由來自多種不同領(lǐng)域的GIS專業(yè)人員和程序員開發(fā)的大量Python模塊。通過解釋和動(dòng)態(tài)輸入這種編程語言,用戶可以在交互式環(huán)境中快速地創(chuàng)建腳本原型并進(jìn)行測(cè)試,同時(shí)這種編程語言功能強(qiáng)大,可編寫大型應(yīng)用程序。
“envipy”是ITT專門為ENVI/ArcGIS一體化開發(fā)的一個(gè)python模塊,envipy與IDL代碼中調(diào)用ENVI庫函數(shù)時(shí)的加載的代碼ENVI,/RESTORE_BASE_SAVE_FILES和ENVI_BATCH_INIT的效果是一樣的,就是加載ENVI的進(jìn)程。
由于ArcGIS對(duì)python語言的支持,和Arcpy與envipy模塊的提供,為使用地理處理完成遙感圖像處理提供了技術(shù)基礎(chǔ)。使用envipy模塊和arcpy模塊結(jié)合,可以編寫地理處理腳本,把以上的優(yōu)點(diǎn)結(jié)合起來,完成ENVI/IDL平臺(tái)與ArcGIS平臺(tái)工作流的集成,使用地理處理工具箱完成影像的處理任務(wù)。
3.地理建模實(shí)現(xiàn)遙感功能的步驟
建立遙感工具可以分為以下步驟
1、 指定存儲(chǔ)文件夾
指定路徑存放IDL文件和Python腳本文件
2、 編寫IDL程序,生成“sav”文件
在IDL的利用IDL調(diào)用ENVI的圖像處理接口實(shí)現(xiàn)某一圖像處理功能;再編譯成sav文件供Python腳本中envipy.RunTool()調(diào)用。有兩種編譯方式:命令行和按鈕操作。
3、 編寫Python腳本
Pythonscript文件是為了從用戶交互式界面中獲取參數(shù),執(zhí)行腳本文件時(shí)將這些參數(shù)傳遞給圖像處理程序(IDL編寫了.sav文件)調(diào)用圖像處理的功能。
利用Python來編寫腳本調(diào)用ENVI/IDL工具,包含三個(gè)部分:
(1)導(dǎo)入envipy類。
“envipy”是ITT專門為ENVI/ArcGIS一體化開發(fā)的一個(gè)python模塊,envipy與IDL代碼中調(diào)用ENVI庫函數(shù)時(shí)的加載的代碼ENVI,/RESTORE_BASE_SAVE_FILES和ENVI_BATCH_INIT的效果是一樣的,就是加載ENVI的進(jìn)程。
(2)從GP對(duì)象中獲取參數(shù)。
(3)調(diào)用envipy類中的‘RunTool方法。
4、 構(gòu)建用戶界面
在Catalog中構(gòu)建界面需要三步驟:
1、 創(chuàng)建文件和工具箱toolbox;
指定一個(gè)路徑創(chuàng)建一個(gè)文件夾,用于存放ArcToolbox文件。
2、 給toolbox添加script;
運(yùn)行工具添加運(yùn)行腳本,設(shè)置運(yùn)行環(huán)境,設(shè)置輸入輸出參數(shù)等
3、 運(yùn)行該腳本script。
ESRI提供了三種運(yùn)行方法,可以直接雙擊運(yùn)行,也可以以python語言進(jìn)行調(diào)用,或者共享為ArcGISServer服務(wù),通過ArcGISAPI進(jìn)行網(wǎng)絡(luò)端調(diào)用。
結(jié)論
GIS與遙感的集成,主要體現(xiàn)在數(shù)據(jù)的互操作,平臺(tái)的鏈接與集成方面,并可以通過實(shí)現(xiàn)桌面的定制,實(shí)現(xiàn)GIS與遙感的功能互補(bǔ),進(jìn)一步提高GIS軟件的可操作性,提升空間和影像分析的工作效率,有效節(jié)約系統(tǒng)成本。GIS與遙感的集成逐漸成為一種趨勢(shì)和發(fā)展潮流,使用地理處理工作流可以應(yīng)用ENVITools完成基本處理影像處理任務(wù),更可以建立自己的影像處理工具箱,使用ArcGIS與ENVI/IDL為平臺(tái),以地理處理為基礎(chǔ)進(jìn)行建模為遙感和GIS流程一體化提供了一個(gè)實(shí)用的解決方案。