昝建春,冷鴻天,吳顏奎
(云南省林業(yè)調(diào)查規(guī)劃院,云南 昆明 650051)
GIS作為現(xiàn)代主流的地理信息空間決策、分析及模擬系統(tǒng),應(yīng)用模型的發(fā)展已成為其重要的發(fā)展前提和現(xiàn)代地理信息系統(tǒng)水平的重要標(biāo)志[1]。隨著計算機(jī)、地理信息技術(shù)的不斷發(fā)展、進(jìn)步,利用GIS批量、流程化處理任務(wù)已成為當(dāng)今GIS技術(shù)的重要特征和高效的執(zhí)行方式。傳統(tǒng)的GIS空間分析及數(shù)據(jù)處理方式是利用計算機(jī)編程語言來實現(xiàn)海量數(shù)據(jù)的批量處理或流程化處理,基于計算機(jī)編程語言的實現(xiàn)方法需要較多的編程實踐和行業(yè)經(jīng)驗,對于頻次較高、時間較緊以及需求較為多樣化的工作任務(wù)就顯得捉襟見肘,迫切需要一種能容易入手、高效且易于擴(kuò)展?jié)M足多元化需求的工作方法。
目前,很多影像處理軟件均能提供基于坐標(biāo)系統(tǒng)的影像裁剪功能,但大部分軟件在影像批量裁剪方面具有較大的局限性和難度系數(shù),例如:(1)計算機(jī)語言編程開發(fā)難度大、周期長以及行業(yè)應(yīng)用特性差異大;(2)軟件功能單一,不方便擴(kuò)展應(yīng)用;(3)不能實現(xiàn)非標(biāo)準(zhǔn)圖幅的裁剪以及自定義裁剪等[2]。導(dǎo)致很多工作任務(wù)在方法上仍采用手工、半手工的方式裁剪影像,不僅耗費大量的人力、時間成本,也增加了質(zhì)量管理成本,降低了任務(wù)執(zhí)行的時效性。
為了解決常規(guī)影像裁剪方法的低效、計算機(jī)編程難度大以及不方便共享、擴(kuò)展使用等問題,實現(xiàn)批量、流程化裁剪影像的目標(biāo),達(dá)到易入手、高效且方便擴(kuò)展、滿足多元化需求的工作效果。以昆明市官渡區(qū)2020年森林資源管理一張圖年度更新工作影像為例,研究利用ArcGIS軟件的模型生成器(Model Builder)制作裁剪工具,實現(xiàn)批量、流程化裁剪影像。
ArcGIS是由美國ESRI公司開發(fā)的地理信息系統(tǒng)軟件,是全球范圍內(nèi)地理信息系統(tǒng)領(lǐng)域應(yīng)用范圍最廣泛的軟件之一。是一個統(tǒng)一且完整的地理信息系統(tǒng)平臺軟件,其主要由5個基礎(chǔ)的框架組成:(1)計算機(jī)桌面端軟件Desktop;(2)服務(wù)器端軟件GIS;(3)嵌入式的GIS軟件;(4)移動端GIS軟件;(5)數(shù)據(jù)庫服務(wù)端軟件ArcSDE[3]。研究中主要用到了ArcGIS的計算機(jī)桌面端軟件(Desktop),包括Arc Catalog,Arc Map以及Arc Toolbox這3個桌面端應(yīng)用程序,Arc Catalog用來管理空間數(shù)據(jù)庫內(nèi)容、設(shè)計數(shù)據(jù)庫及記錄與瀏覽元數(shù)據(jù);Arc Map用來編制、編輯和分析地圖;Arc Toolbox用來轉(zhuǎn)換和處理地理信息數(shù)據(jù)[4]。通過協(xié)調(diào)使用這3個應(yīng)用程序,可以完成制圖、數(shù)據(jù)管理、空間分析、數(shù)據(jù)編輯以及地理處理(geoprocessing)等各種GIS任務(wù)。
模型構(gòu)建器(Model Builder)是ArcGIS軟件提供的一個專門用于構(gòu)建地理處理工作流和腳本的圖形、可視化建模工具,可以集合、加速復(fù)雜的地理處理過程模型的設(shè)計和實施,也可以集成3D Analyst、Spatial Analyst、Geostatistical Analyst等多種空間處理、分析工具[5],然后將一系列空間處理、分析工具組織串聯(lián)在一起的工作流,將其中一個工具的輸出作為另一個工具的輸入[6],最后得到模型處理結(jié)果。一個完整的GIS模型應(yīng)包括模型的輸入、空間分析處理工具以及輸出3個部分的內(nèi)容,復(fù)雜的地理空間分析過程其實也是由一系列簡單的模型組合而成的。使用模型構(gòu)建器的優(yōu)點是:進(jìn)一步簡化復(fù)雜的地理空間處理模型的設(shè)計和實施,運用直觀、簡明的可視化圖形語言將具體、復(fù)雜的建模過程表達(dá)出來[7]。使用GIS模型構(gòu)建器構(gòu)建的模型可自動執(zhí)行所規(guī)定的工作流程。當(dāng)建立的模型經(jīng)過驗證和執(zhí)行無錯誤后便可以保存為.tbx格式(即:Arc Toolbox格式),或者保存為Python腳本,今后需要時就可以直接調(diào)用,也能夠?qū)崿F(xiàn)多用戶間的共享[8]。模型在執(zhí)行任務(wù)時具有較強(qiáng)的執(zhí)行效率和數(shù)據(jù)規(guī)范性,在后續(xù)應(yīng)用時還具有很大的擴(kuò)展空間,能夠根據(jù)任務(wù)的不同目的加以修改或者擴(kuò)展,以達(dá)到滿足工作任務(wù)多元化需求的效果。
ArcGIS 10.0版本之后的模型構(gòu)建器在功能及應(yīng)用上有了顯著的提升和改進(jìn),相比于舊版新增設(shè)計了一系列的工具,其中主要有兩類比較重大的類別:迭代器;僅模型工具[9]。迭代在GIS中通常是指在一定程度、范圍的自動化過程中可基于一個或一組輸入多次重復(fù)執(zhí)行一個或一系列地理信息處理過程,通常又稱之為循環(huán)[10]。迭代在現(xiàn)代化的地理信息空間決策、分析以及模擬中顯得非常重要,因為自動重復(fù)的執(zhí)行任務(wù)會大量地節(jié)約完成工作所需要的時間和精力,并能保證數(shù)據(jù)的規(guī)范性和一致性[11]。在“模型構(gòu)建器”中使用迭代時,可在每次迭代中使用不同的設(shè)置參數(shù)和任務(wù)數(shù)據(jù)來反復(fù)執(zhí)行同一個地理信息處理過程,但一個模型中只能選擇一種迭代器。每種迭代器均具有一組區(qū)別于其他迭代器的參數(shù)及功能描述,但是所有ArcGIS迭代器的整體結(jié)構(gòu)都非常相近[12]。在使用中會發(fā)現(xiàn)“模型構(gòu)建器”中的迭代工具有很大的靈活性,不僅可以迭代整個模型,還可以對具體的某個處理工具或過程進(jìn)行重復(fù)執(zhí)行。迭代器在影像批量裁剪過程中可以起到兩方面重要作用:(1)對被裁剪要素(影像文件)進(jìn)行迭代,就無需對每個影像文件分別進(jìn)行裁剪;(2)對裁剪要素(矢量框文件)進(jìn)行迭代,就無需再按照每個矢量框文件分別對影像文件進(jìn)行裁剪。
利用ArcGIS軟件的模型構(gòu)建器(Model Builder)制作裁剪模型,通過對裁剪要素(鄉(xiāng)鎮(zhèn)行政界線矢量框)進(jìn)行迭代,按照鄉(xiāng)鎮(zhèn)行政界線矢量框范圍對影像文件進(jìn)行裁剪,并在指定位置創(chuàng)建文件夾,通過獲取變量的方式實現(xiàn)對裁剪后影像文件的動態(tài)存儲及命名,最終實現(xiàn)基于GIS模型構(gòu)建器的影像批量裁剪,其流程如圖1所示。
圖1 基于GIS模型構(gòu)建器的影像批量裁剪流程Fig.1 Flow chart of batch processing of clipping images based on GIS model builder
在ArcGIS軟件的模型構(gòu)建器這一模塊里,按照一定的地理信息工作處理流程,通過圖形化操作工具,用連接線將相關(guān)模型元素(包括:輸入、空間分析處理工具以及輸出)有序連接起來,最后得到模型處理結(jié)果[13]。在模型的各相關(guān)工具中設(shè)置好對應(yīng)的參數(shù)和環(huán)境,經(jīng)過驗證和正確運行后,一個完整、具有特定處理地理空間信息功能且可以重復(fù)使用的模型即建立完成。影像批量裁剪模型的建立過程如下:
1)在ArcGIS軟件中打開模型構(gòu)建器,添加待裁剪影像文件、矢量框文件,作為模型的輸入。
2)插入“要素選擇”迭代器,形成一個迭代模型。
3)在“迭代要素選擇”中選擇輸入要素(矢量框文件)進(jìn)行分組的一個或多個輸入字段進(jìn)行迭代,也可以定義多個輸入的字段并依據(jù)字段唯一的組合進(jìn)行選擇迭代[14]。
4)插入ArcGIS工具箱中柵格處理下的裁剪工具,并將待裁剪影像文件作為輸入柵格。
5)將迭代的所選要素作為裁剪的輸出范圍,同時根據(jù)迭代所選要素獲取相應(yīng)的變量,以實現(xiàn)對裁剪后影像文件的存儲及命名,包括創(chuàng)建文件夾、解析路徑等用于輸出裁剪后影像文件名稱中的行內(nèi)變量。
6)實踐并設(shè)置相應(yīng)的模型工具參數(shù),經(jīng)過驗證及運行正確后,完整的影像批量裁剪模型就建立好了。影像批量裁剪模型的建立過程如圖2所示。
在影像批量裁剪模型建立好后,將模型以工具箱的格式保存,使用時可以直接調(diào)用。影像批量裁剪模型的使用與ArcGIS系統(tǒng)工具箱的使用方法一致。
1)在ArcGIS軟件中打開Arc Toolbox模塊,添加影像批量裁剪模型工具箱。
2)打開并進(jìn)入影像批量裁剪模型工具運行界面,如圖3所示。
3)“輸入要素”選擇矢量框文件。
4)“輸入柵格”選擇待裁剪的影像文件。
5)“輸出文件夾位置”選擇裁剪后影像文件的存儲路徑。
6)“按字段創(chuàng)建文件夾”選擇存儲裁剪后影像文件的文件夾命名。
7)“按字段分組(可選)”選擇輸入要素(矢量框文件)進(jìn)行分組的一個或多個輸入字段進(jìn)行迭代,也可以定義多個輸入的字段并依據(jù)字段唯一的組合進(jìn)行選擇[15],并關(guān)聯(lián)裁剪后影像文件的命名。
8)“使用輸入要素裁剪幾何(可選)”未選中:使用矢量框文件最小的外接矩形進(jìn)行裁剪數(shù)據(jù),選中“使用矢量框文件的幾何形狀進(jìn)行裁剪數(shù)據(jù)”。
圖2 影像批量裁剪模型的建立Fig.2 Model of batch processing of clipping images
圖3 影像批量裁剪模型工具運行界面Fig.3 Operation interface of batch processing model of clipping images
利用ArcGIS軟件的模型構(gòu)建器(Model Builder)制作裁剪模型,并最終實現(xiàn)基于GIS模型構(gòu)建器的影像批量裁剪,解決了常規(guī)按矢量框文件逐個手動裁剪影像方法的低效、計算機(jī)語言編程批量裁剪難入手以及共享、擴(kuò)展使用不方便等問題,實現(xiàn)批量、流程化裁剪影像的目標(biāo),達(dá)到高效、易入手且易于共享、擴(kuò)展使用滿足多元化需求的工作效果。也進(jìn)一步驗證了基于GIS模型構(gòu)建器構(gòu)建的工具模型在復(fù)雜地理空間信息處理上的可靠、高效及適用性,并顯著降低了質(zhì)量管理成本,提高了任務(wù)執(zhí)行的時效性,也為新時期森林資源管理工作提供了技術(shù)保障,為探索新模式新途徑積累了經(jīng)驗。