肖德勛,王戈飛,岳亞亞
FME在空間數(shù)據(jù)批處理中的應(yīng)用分析——以第三次全國(guó)國(guó)土調(diào)查為例
肖德勛1,王戈飛2,岳亞亞1
(1.北京吉威數(shù)源信息技術(shù)有限公司,北京 100000;2.黃河勘測(cè)規(guī)劃設(shè)計(jì)研究院有限公司,河南 鄭州 450003)
第三次全國(guó)國(guó)土調(diào)查是一項(xiàng)在全國(guó)范圍內(nèi)查清自然資源情況和土地利用現(xiàn)狀的國(guó)家項(xiàng)目。在第三次全國(guó)國(guó)土調(diào)查工作中,海量的空間數(shù)據(jù)需要被處理、整合和分析。結(jié)合FME在數(shù)據(jù)轉(zhuǎn)換、處理和分析方面的特點(diǎn)和優(yōu)勢(shì),對(duì)FME不同形式的批處理方式進(jìn)行了分析,經(jīng)驗(yàn)證,F(xiàn)ME的批處理方式簡(jiǎn)便、高效、快捷,以期對(duì)其他空間數(shù)據(jù)處理項(xiàng)目提供借鑒。
FME;空間數(shù)據(jù);第三次全國(guó)國(guó)土調(diào)查;批處理
第三次全國(guó)國(guó)土調(diào)查(下簡(jiǎn)稱(chēng)“三調(diào)”)是在第二次全國(guó)國(guó)土調(diào)查調(diào)查(下簡(jiǎn)稱(chēng)“二調(diào)”)成果的基礎(chǔ)上,在國(guó)家統(tǒng)一制定標(biāo)準(zhǔn)的前提下,在全國(guó)范圍內(nèi)利用遙感技術(shù)、測(cè)繪技術(shù)、互聯(lián)網(wǎng)等多種技術(shù)手段,全面查清并掌握翔實(shí)的全國(guó)國(guó)土利用現(xiàn)狀和自然資源變化情況,進(jìn)而實(shí)現(xiàn)成果信息化管理與共享,從而滿足生態(tài)文明建設(shè)、空間規(guī)劃編制、供給側(cè)結(jié)構(gòu)性改革、自然資源管理體制改革、自然資源確權(quán)、國(guó)土空間生態(tài)修復(fù)以及空間治理能力現(xiàn)代化等各項(xiàng)重大項(xiàng)目的需要[1-2],因此“三調(diào)”工作的重要性不言而喻。
正因?yàn)椤叭{(diào)”工作的重要意義以及牽扯到的部門(mén)繁雜、專(zhuān)業(yè)繁多,因而導(dǎo)致各種不同類(lèi)型、不同地理基礎(chǔ)、不同范圍的空間數(shù)據(jù)晦澀復(fù)雜,難以處理,將這海量的空間數(shù)據(jù)進(jìn)行批量轉(zhuǎn)換和處理,是“三調(diào)”工作必須要解決的首要問(wèn)題。而FME在空間數(shù)據(jù)處理方面具有天然的優(yōu)勢(shì)和特色,本文結(jié)合FME的特點(diǎn),詳細(xì)闡述FME在第三次全國(guó)國(guó)土調(diào)查中空間數(shù)據(jù)批處理中的應(yīng)用。
FME軟件(Feature Manipulate Engine,簡(jiǎn)稱(chēng)“FME”)是加拿大safe software公司開(kāi)發(fā)的空間數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),它不僅能夠?qū)崿F(xiàn)各類(lèi)數(shù)據(jù)讀寫(xiě)、轉(zhuǎn)換、存儲(chǔ)和分析等功能,并提供了完整的空間ETL(Extract-Transform-Load)解決方案,該方案以O(shè)penGIS組織提出的“語(yǔ)義轉(zhuǎn)換”處理概念為基礎(chǔ),提供了400多種轉(zhuǎn)換器,支持200多種空間、非空間數(shù)據(jù)的轉(zhuǎn)換和處理,其數(shù)據(jù)類(lèi)型包括shp、dwg、tiff等,為快速、高效的數(shù)據(jù)處理提供穩(wěn)定可靠且便捷的方案[3-4]。
FME產(chǎn)品體系具有6個(gè)功能模塊:①FME Workbench是最主要也是最常用的模塊,在用戶實(shí)施數(shù)據(jù)轉(zhuǎn)換時(shí),只需要在面板中設(shè)置數(shù)據(jù)轉(zhuǎn)換所必備的參數(shù),即可通過(guò)對(duì)過(guò)程的控制來(lái)轉(zhuǎn)換和處理復(fù)雜數(shù)據(jù)任務(wù),并且能夠可視化地實(shí)現(xiàn)屬性信息和空間信息的對(duì)應(yīng)關(guān)系,也可以通過(guò)該模塊來(lái)實(shí)現(xiàn)刪除和合并文件等功能;②FME Quick Translator是FME的重要組成部分,采用拉拽方式即可實(shí)現(xiàn)上百種空間數(shù)據(jù)的處理和分析工作;③FME Data Inspector模塊主要用于預(yù)覽不同格式數(shù)據(jù),在使用FME Workbench的過(guò)程中科院隨時(shí)對(duì)轉(zhuǎn)換流程進(jìn)行可視化檢查,從而保證轉(zhuǎn)換過(guò)程的正確性;④FME Plug-in(SDK)是FME開(kāi)發(fā)組件,開(kāi)發(fā)人員能夠利用該組件訪問(wèn)FME強(qiáng)大的語(yǔ)義核心,根據(jù)用戶需求定制特定數(shù)據(jù)格式,并能被所有的FME用戶所采用;⑤FME Object API為開(kāi)發(fā)接口,支持C++、Java等多種開(kāi)發(fā)語(yǔ)言,使用該模塊能夠?qū)ME的數(shù)據(jù)訪問(wèn)功能定制在應(yīng)用模塊中,從而增加數(shù)據(jù)的讀寫(xiě)及處理功能;⑥FME Application Extenders模塊為用戶提供了一個(gè)可直接訪問(wèn)多平臺(tái)地理信息系統(tǒng)及數(shù)據(jù)庫(kù)格式的應(yīng)用。
與此同時(shí),F(xiàn)ME具有強(qiáng)大可靠的數(shù)據(jù)轉(zhuǎn)換功能、性能超強(qiáng)的數(shù)據(jù)兼容功能、清晰直觀的可視化界面、豐富多樣的空間數(shù)據(jù)處理功能、開(kāi)放性的接口類(lèi)型,同時(shí)支持海量數(shù)據(jù)處理,通過(guò)FME來(lái)設(shè)置批處理的模式能夠完成對(duì)成千乃至上萬(wàn)個(gè)數(shù)據(jù)文件的高效處理[5-6]。
空間數(shù)據(jù)處理既有單文件的轉(zhuǎn)換,例如刪除字段、轉(zhuǎn)換投影、按比例縮放等,也涉及到多文件的轉(zhuǎn)換,例如空間數(shù)據(jù)關(guān)聯(lián)、空間數(shù)據(jù)裁剪等功能。
基于FME靈活的操作方式,批處理單文件空間數(shù)據(jù)的方式常用的大致為兩類(lèi),以空間投影轉(zhuǎn)換為例。
3.1.1 利用Batch Deploy功能
在主界面打開(kāi)Generate Workspace功能,在Reader中選擇位于批量處理數(shù)據(jù)中的單條數(shù)據(jù),在Writer中制定輸出文件目錄,并將工作流選項(xiàng)設(shè)置為動(dòng)態(tài)模式。以進(jìn)行空間投影轉(zhuǎn)換為例,在主面板中輸入EsriReprojector,按要求設(shè)置好源數(shù)據(jù)坐標(biāo)系和目標(biāo)數(shù)據(jù)坐標(biāo)系,設(shè)置完成后保存該工作空間.fmw,點(diǎn)擊位于菜單欄Run下面的Batch Deploy選項(xiàng),根據(jù)操作指引,在源數(shù)據(jù)位置選擇文件夾及子目錄,并制定目標(biāo)路徑,其中,選擇是否勾選保留文件夾名稱(chēng)還可以在目標(biāo)文件夾中生成和源數(shù)據(jù)文件夾中一模一樣的子文件夾,方便管理和輸出。但需要注意的是,如果文件夾名字過(guò)長(zhǎng),雖然不影響正常結(jié)果的輸出,但可能會(huì)生成警告和錯(cuò)誤信息。
3.1.2 直接利用動(dòng)態(tài)模式
除去使用Batch Deploy功能以外,可直接在工作面板添加Reader讀模塊的時(shí)候選擇multiple folders/files,選取源文件中的所有文件夾,同時(shí)在工作流選項(xiàng)中選擇單一融合數(shù)據(jù)模式Single Merged Feature Type,輸入轉(zhuǎn)換器之后,在Writer寫(xiě)模塊的時(shí)候選擇動(dòng)態(tài)模式定義,運(yùn)行工作空間即可得到結(jié)果。但是會(huì)直接放在母文件夾中而不會(huì)像源文件一樣創(chuàng)建子文件夾,如果想實(shí)現(xiàn)同樣的效果,需要在導(dǎo)航窗口中的目標(biāo)文件夾的Fanout表達(dá)式中選擇fme_feature_type,這樣就可以生成與Batch Deploy一樣的子文件夾格式。
兩種方式對(duì)比,第二種明顯更為簡(jiǎn)單,但如果想要生成與源數(shù)據(jù)文件夾一樣的格式,需要單獨(dú)設(shè)置Fanout選項(xiàng)。此外,值得注意的是,兩種方法都必須設(shè)置為動(dòng)態(tài)模式,如果不采用動(dòng)態(tài)模式,F(xiàn)ME將只進(jìn)行所設(shè)置的單個(gè)文件的轉(zhuǎn)換,無(wú)法進(jìn)行批量處理,更無(wú)法達(dá)到預(yù)期效果。
涉及多數(shù)據(jù)文件的批處理流程時(shí),采用Batch Deploy同樣可以,但采用WorkspaceRunner更為方便,考慮到上文已介紹過(guò)Batch Deploy,此處將詳細(xì)介紹WorkspaceRunner轉(zhuǎn)換器,WorkspaceRunner是從一個(gè)工作空間調(diào)用另一個(gè)工作空間的轉(zhuǎn)換器。多數(shù)據(jù)文件的批處理,以空間數(shù)據(jù)裁剪為例。
空間裁剪轉(zhuǎn)換器Clipper同時(shí)需要兩個(gè)輸入端口Clipper和Clippee,此處將Clipper指定為固定的矢量裁剪范圍,而Clippee為多個(gè)矢量要素,在Reader讀模塊中,選擇多文件夾選項(xiàng),并在工作流選項(xiàng)中選擇單一融合要素類(lèi)型,在Writer寫(xiě)模塊中務(wù)必選擇dynamic動(dòng)態(tài)模式,設(shè)置好轉(zhuǎn)換器參數(shù)并保存(本文中為BatchClip.fmw)。
WorkspaceRunner轉(zhuǎn)換器通常與Directory and File Pathnames讀模塊連用,開(kāi)啟一個(gè)新的工程,選用Directory and File Pathnames讀模塊,在參數(shù)中選擇*shp,并選擇遍歷至子文件夾選項(xiàng),通過(guò)該模塊可以遍歷符合格式的矢量文件。設(shè)置好后輸入WorkspaceRunner轉(zhuǎn)換器,選擇BatchClip. fmw,其中Clipper選擇矢量范圍,而Clippee選擇path_ windows,即固定范圍選擇某個(gè)指定的矢量文件,而需要遍歷的文件選擇path_window,path_windows,即被遍歷文件的全路徑,通過(guò)調(diào)用path_windows,不斷執(zhí)行WorkspaceRunner中選擇的轉(zhuǎn)換器,這樣就可以實(shí)現(xiàn)多文件進(jìn)行批處理的預(yù)想效果。
另外,在WorkspaceRunner轉(zhuǎn)換器參數(shù)中,如果將Wait for Job to Complete設(shè)置為Yew,則FME將會(huì)等待每個(gè)進(jìn)程完成后再開(kāi)啟下一個(gè)進(jìn)程,每次只有一個(gè)進(jìn)程。如果設(shè)置為No,則可設(shè)置最大并發(fā)進(jìn)程數(shù)(Maximum Number of Concurrent Processes),設(shè)置的數(shù)值將是任務(wù)管理器中fme.exe進(jìn)程的數(shù)量,并能根據(jù)需求對(duì)每個(gè)進(jìn)程中啟動(dòng)工作空間的數(shù)量進(jìn)行指定。
同時(shí),在執(zhí)行WorkspaceRunner轉(zhuǎn)換器時(shí),可連接logger轉(zhuǎn)換器,更方便直觀地看到轉(zhuǎn)換日志效果。
空間數(shù)據(jù)批處理是“三調(diào)”工作中必須面對(duì)的問(wèn)題,本文以“三調(diào)”中常見(jiàn)的數(shù)據(jù)處理過(guò)程批量投影轉(zhuǎn)換和批量空間裁剪分別代表單文件和多文件的批處理模式進(jìn)行分析,并給出實(shí)現(xiàn)過(guò)程。單文件的批處理較為簡(jiǎn)單,直接在工作空間選取多文件夾并設(shè)置為動(dòng)態(tài)模式即可,而B(niǎo)atch Deploy和WorkspaceRunner方法均可用于單文件與多文件批處理,但WorkspaceRunner采用轉(zhuǎn)換器的形式,更為靈活,通過(guò)對(duì)路徑進(jìn)行更多的操作能夠?qū)崿F(xiàn)更多的效果,同時(shí)采用命令行也可在FME中實(shí)現(xiàn)批處理,但沒(méi)有上述方式直觀便捷。利用FME的空間數(shù)據(jù)批處理功能能夠極大地提高工作效率,且靈活、簡(jiǎn)便、高效,希望對(duì)其他的空間數(shù)據(jù)轉(zhuǎn)換過(guò)程提供借鑒。
[1]許風(fēng)亮,蘇強(qiáng)強(qiáng).淺談FME在第三次國(guó)土調(diào)查前期數(shù)據(jù)準(zhǔn)備中的應(yīng)用與研究[J].經(jīng)緯天地,2019(2):40-44,48.
[2]張瑜偉,王丹,朱文.FME軟件在第三次土地調(diào)查中的應(yīng)用[J].現(xiàn)代測(cè)繪,2018,42(6):61-63.
[3]曾傳俊, 李蓮芳, 褚睿濤. 基于FME的DWG圖形轉(zhuǎn)換[J].測(cè)繪通報(bào),2019(Suppl 2):275-277.
[4]郝璨,石麗紅.基于FME的OpenstreetMap數(shù)據(jù)分析提?。跩].測(cè)繪與空間地理信息,2020,43(1):63-67.
[5]任俊儒.基于FME的GIS數(shù)據(jù)處理研究[D].北京:中國(guó)地質(zhì)大學(xué),2015.
[6]蔡婧.基于FME的分幅地形圖轉(zhuǎn)換研究[D].武漢:武漢大學(xué),2019.
P208
A
10.15913/j.cnki.kjycx.2021.08.074
2095-6835(2021)08-0178-02
肖德勛(1988—),男,遼寧朝陽(yáng)人,本科,助理工程師,項(xiàng)目經(jīng)理,研究方向?yàn)樽匀毁Y源。
〔編輯:嚴(yán)麗琴〕