韋前
(黔南州自然資源調(diào)查規(guī)劃院 貴州黔南 558000)
FME 軟件是加拿大Safe Software 公司開發(fā)的空間數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng)。支持超過270多種不同空間數(shù)據(jù)格式(模型)之間的轉(zhuǎn)換,為進行快速、高質(zhì)量、多需求的數(shù)據(jù)轉(zhuǎn)換應(yīng)用提供了高效、可靠的手段[1]。FME 致力于將GIS要素同構(gòu)化并向用戶提供組件以使用戶能夠?qū)?shù)據(jù)處理為所需的表達方式,整個過程無須寫任何代碼,直接調(diào)用相應(yīng)的轉(zhuǎn)換器即可。
目前,建設(shè)用地審查報批地類認定需追溯至2009年,“二調(diào)”圖斑地類凈面積計算較為復(fù)雜,目前主流做法主要是使用ArcGIS空間分析功能,人工一步步地分析統(tǒng)計[2];或基于ArcGIS 的模型構(gòu)造器搭配Python 腳本,即“建模+人工統(tǒng)計”等半自動方式來實現(xiàn)圖斑凈面積的測算[3],但由于“二調(diào)”數(shù)據(jù)的DLTB、LXDW、XZDW內(nèi)部以及各圖層之間存在拓撲錯誤,導(dǎo)致該方法計算得到的圖斑凈面積精度不高,加上計算過程較復(fù)雜、不夠嚴謹,導(dǎo)致適應(yīng)性不佳。
本文針對“二調(diào)”圖斑地類凈面積計算的特點,通過基于FME 軟件開發(fā)了一套實現(xiàn)高效讀取基礎(chǔ)數(shù)據(jù)庫、精準處理、自動生成地類結(jié)構(gòu)面積表的模板,有效解決了自然資源管理領(lǐng)域需要計算圖斑地類凈面積的耗費的大量人力物力。
首先研究“二調(diào)”數(shù)據(jù)庫標準[4],確定圖斑面積、零星地物面積、線狀地物面積和田坎面積的計算方法、計算路徑,以及各項參數(shù)的數(shù)據(jù)來源。數(shù)據(jù)庫在建立之初,以上各類面積已經(jīng)計算好并存在DLTB、LXDW、XZDW這3個要素類中。但是在實際使用時會有圖斑發(fā)生分割的情況,此時就需要以上幾類面積進行重新計算。
圖斑地類凈面積在數(shù)據(jù)庫中對應(yīng)的字段名稱為TBDLMJ,其計算過程如式(1)所示:
式(1)中:TBDLMJi為圖斑i的地類凈面積;TBMJi為圖斑面積;XZDWMJj該圖斑內(nèi)線狀地物j的面積;LXDWMJj為該圖斑內(nèi)零星地物j的面積;TKMJi為田坎面積。
線狀地物面積在數(shù)據(jù)庫中對應(yīng)的字段名稱為XZDWMJ,其計算過程如式(2)所示:
式(2)中:CDi為線狀地物寬度;KDi為線狀地物寬度;KCBLi為線狀地物扣除比例,取值為0.5或者1。
田坎面積在該圖斑內(nèi)的所有線狀地物和零星地物面積計算完畢之后,根據(jù)田坎系數(shù)來計算得到,其計算過程如式(3)所示:
式(3)中,TKXSi為該圖斑的田坎系數(shù)。
文章基于FME 實現(xiàn)國土二調(diào)圖斑地類凈面積的技術(shù)路線如圖1所示。
圖1 技術(shù)路線圖
根據(jù)“二調(diào)”數(shù)據(jù)庫標準分析得知,線狀地物扣除比例是由線狀地物與圖斑的關(guān)系決定的。當線狀地物位于兩個圖斑的邊界上,則該線狀地物分別被兩個圖斑各扣除50%,KCBL 取值為0.5,KCTBBH1 和KCTBBH2記錄相應(yīng)兩個地類圖斑的圖斑編號;當線狀地物位于單個圖斑內(nèi),則該線狀地物全部被這個圖斑扣除,KCBL取值為1,KCTBBH1 記這個地類圖斑的圖斑編號,KCTBBH2為空。這里如果采用ArcGIS軟件相交分析,受拓撲不嚴謹和軟件容差的影響,可能使本來與某個地類圖斑存在繼承扣除關(guān)系的線狀地物沒有與對應(yīng)地類圖斑相交上,導(dǎo)致后面的計算全錯。FME 可以根據(jù)TBBH 和KCTBBH 來實現(xiàn)線狀地物和地類圖斑之間的繼承關(guān)系來掛接,完美避開了這種問題。
零星地物只會位于某個地類圖斑的內(nèi)部,LXDW的ZLTBBH 記錄所屬地類圖斑的圖斑編號,ZLDWDM 記錄該零星地物所屬的村級坐落代碼,TBBH的值只會在一個村范圍內(nèi)是唯一的。同樣,如果這里采用ArcGIS相交分析,受拓撲不嚴謹和軟件容差的影響,本來屬于某個地類圖斑的零星地物可能會落在邊界上或邊界外的情況。而FME可以根據(jù)TBBH和ZLDWDM來實現(xiàn)零星地物和地類圖斑圖層之間的繼承關(guān)系來掛接,就不存在這種錯誤。
由式(1)可知,計算圖斑凈面積時需要DLTB、XZDW、LXDW這3個圖層。在ArcGIS中需把3個圖層所有要素全部讀取參與計算,讀取慢、程序運行也慢。FME可以實現(xiàn)按范圍讀取數(shù)據(jù),只需在Feature Reader 轉(zhuǎn)換器的Spatial Filter(空間過濾)選中Bounding Boxes OGCIntersect(外接矩形相交)即可實現(xiàn)只讀取與項目范圍線的外接矩形相交或包含的所有要素。
(1)通過項目范圍線使用Clipper轉(zhuǎn)換器得到項目范圍內(nèi)的DLTB、XZDW、LXDW這3個圖層。
(2)DLTB、LXDW 和XZDW 的整理。DLTB 使用Aggregator 轉(zhuǎn)換器添加BSM 字段來分組融合DLTB 要素,使往下的步驟都還原到原始的圖斑上去。重新計算面積,并過濾掉小于0.1 m2因容差產(chǎn)生的細小碎斑。LXDW只需換算單位。XZDW需重新計算長度并根據(jù)寬度計算面積,因為一個線要素有KCTBBH1和KCTBBH2,需要分離成兩個要素,分別去參加下一步的掛接。
(3)LXDW、XZDW掛接到DLTB。LXDW使用FeatureMerger轉(zhuǎn)換器,通過TBBH和ZLDWDM的一致性匹配來掛接。因一個DLTB要素可能會涉及多個LXDW,所以此處需勾選FME軟件強大的Generate List(生成列表)功能,使多個LXDW以List(列表)的形式掛接到同一個DLTB要素上去,實現(xiàn)一對多的連接,這是ArcGIS軟件無法實現(xiàn)的[5]。XZDW采用KCTBBH和ZLDWDM來掛接,同時勾選列表。
(4)匯總各類扣除面積。使用ListSummer 轉(zhuǎn)換器分別匯總每個地類圖斑要素的線狀地物和零星地物面積,分別存放在XZDWMJ和LXDWMJ字段中。
(5)計算田坎面積。根據(jù)前面步驟計算并存放在字段中的圖斑面積、線狀地物面積和零星地物面積,使用式(3)計算田坎面積。
根據(jù)以上步驟計算匯總之后,此時用式(1)計算圖斑地類凈面積,可能會出現(xiàn)扣除面積大于圖斑面積而地類凈面積位為負值的異常情況。根據(jù)圖斑面積與扣除面積之間大小關(guān)系分3種情形分別處理(見圖2)。
圖2 分不同情況分別計算地類凈面積
(1)當“圖斑面積-線狀地物面積-零星地物面積-田坎面積>0”時,直接按式(1)計算圖斑地類凈面積和田坎面積,而線狀地物和零星地物直接使用List Exploder 轉(zhuǎn)換器把每個地類圖斑要素掛接的所有的線狀地物和零星地物分離開來,然后使用Statistics Calculator轉(zhuǎn)換器按地類名稱分組分別統(tǒng)計各地類面積[6]。
(2)當零星地物大于圖斑面積時,按圖斑地類凈面積直接取值為圖斑面積,地類按全是零星地物的地類,其余同上。
(3)當線狀地物大于圖斑面積時,按圖斑地類凈面積直接取值為圖斑面積,地類按全是線狀地物的地類,其余同上。
(1)首先使用讀入一個地類結(jié)構(gòu)面積表,然后通過使用Feature Merger轉(zhuǎn)換器,以DLMC作為匹配字段,使上一步按3種情形計算得到的各類面積掛接到面積表中去,因為一個地類名稱會有多個匹配項,只有一個圖斑地類,但是零星地物和線狀地物,需要在Feature Merger轉(zhuǎn)換器中開啟列表功能[7]。
(2)使用List Summer 對上一步的列表記錄分別每種地類圖斑匯總零星地物面積和線狀地物面積。
(3)將每種地類的圖斑地類面積、線狀地物面積和零星地物面積合計,存入地類面積字段。
經(jīng)過排序、刪除數(shù)據(jù)處理過程產(chǎn)生的多余字段等整理工作后,在FME軟件寫模塊的Parameter(參數(shù))里的Templatefile(模板文件)選擇二調(diào)地類結(jié)構(gòu)面積表作為模板輸出表格[8],最后直接在項目范圍線所在文件夾生成結(jié)果表格。
本文介紹的圖斑地類凈面積計算程序應(yīng)用于某公路項目地類面積統(tǒng)計,該項目占地面積為56.59 hm2,全長為52.63 km,涉及214個“二調(diào)”地類圖斑、7個零星地物和247條線狀地物,整個FME模板運行僅用了6.1 s。應(yīng)用于某水庫項目地類面積統(tǒng)計,該項目占地面積114.18 hm2,涉及71個“二調(diào)”地類圖斑、5個零星地物和89條線狀地物,整個FME模板運行僅用了4.0 s??梢愿怕怨浪惚疚慕榻B的圖斑地類凈面積比傳統(tǒng)方法快上百倍。
本文在研究國土二調(diào)數(shù)據(jù)標準和分析圖斑地類凈面積計算公式的基礎(chǔ)上,利用FME軟件只需選定需要查詢的“二調(diào)”年度和需要查詢的范圍線,通過多個功能轉(zhuǎn)換器數(shù)據(jù)處理,在沒有使用專門建庫軟件和敲寫代碼編程的情況下,實現(xiàn)了零代碼計算圖斑地類凈面積,門檻低、便于操作,方便進一步修改,運行效率高,程序均在幾秒之內(nèi)運行結(jié)束。整個計算過程流程化,可讀性強和方便推廣;同時能根據(jù)實際情況和各地要求,對程序進行針對性調(diào)整,具有很好的適應(yīng)性,能勝任快速地計算圖斑地類凈面積,為國土空間用途管制、耕地保護等領(lǐng)域提供高效的解決方案。