周玉國
(廣州市城市更新規劃設計研究院有限公司,廣東 廣州 510030)
從2008年至今,國家先后組織開展第二次全國地籍調查、農村土地經營權調查、農村和城鎮房屋地籍調查、宅基地確權、房地一體調查等地籍調查類項目,這些項目均需要調查宗地權屬。此外,宗地應按照一定的宗地空間位置順序編號,宗地內的界址點也應按照一定的順序原則進行編號,但在實際工作中因為現場工作鋪排、權屬人配合、內業人員難以把握宗地或界址點順序編號起始位置等原因,造成初步形成的宗地調查數據中的宗地順序編號、宗地內界址點順序雜亂無序。若照此開展后續的成果整理與輸出,(1)難以滿足地籍調查等相關規范要求;(2)有關部門難以對地籍調查成果進行高效的分析與管理。本文以某地區房地一體項目為例,探討了利用FME實現宗地與界址點按照地籍測繪有關規范進行自動編號,經測試大大提高了項目數據處理的工作效率,對本行業以及相關行業有一定的借鑒作用。
目前的測繪數據處理工作中,涉及數據庫、表格、文本等各類形式的數據,以及不同存儲格式、不同坐標系統的空間數據,單純依靠CAD或ArcGis、Excel等軟件共同使用處理數據,涉及跨軟件平臺、跨不同數據格式的轉換處理,勢必遇到數據格式轉換、空間分析、數據整合、質量檢查、數值計算等多種多樣的數據處理操作。常規的數據處理方式一般存在工作效率低下、數據處理準確性不高、數據處理自動化程度不夠高效等問題,導致人工成本的增加。以地籍調查工作中的宗地和界址點處理為例,按照地籍調查規范要求,同一街道(街坊)內宗地按照自西向東、自上往下的順序對宗地排序,宗地內的界址點按照界址點位置從西北角開始順時針編號。宗地繪制順序在街道(街坊)內自西向東呈“Z”形或者“弓”形排列,界址點號在宗地內從西北角開始按順時針順序排列,然而測量繪圖人員大多純手工利用南方CASS軟件繪制宗地圖斑以及界址點,并不能夠嚴格按照標準順序繪制宗地,宗地的起點可能并不在西北角、宗地號并不是嚴格呈“Z”形或者“弓”形。目前測繪人員一般使用以下兩種方法:(1)人工使用CASS軟件逐宗對宗地進行編號,逐宗對宗地內界址點進行順序編號,雖準確性較高,但工作效率相對較低;(2)人工利用一些專業的GIS軟件(如MapGis、ArcGis、SuperMap等)進行數據預處理,再結合上述GIS軟件二次開發數據處理工具,相比第一種方法,工作效率雖有提高,但軟件和處理工具僅針對一種數據格式或軟件平臺,數據格式或項目需求稍有變化,數據處理的軟件平臺以及程序均需更換,且非常考驗測繪人員的內業處理水平及程序編寫能力。因此找到一種可快速有效地處理多格式數據的方法,減輕內業人員的工作負擔。
FME(Feature Manipulate Engineering,簡稱FME)是Safe Software公司推出的一款空間數據分析、抽取、轉換處理軟件,該軟件具有幾百個轉換器,通過轉換器的任意組合,可實現多達幾百種數據格式(模型)的相互轉換,其結合了GIS的空間分析等數據處理功能。因此可以利用FME功能模塊的組合,實現空間數據、非空間數據等多種類型的處理、整合、分析[1,2]。
FME可以實現的功能:瀏覽CAD、GIS等多種格式的空間數據,同時瀏覽二維、三維空間數據的圖形、屬性和坐標等數據,瀏覽TXT、PDF等多種格式的非空間數據;以一種可視化方式分析數據的圖形與屬性,以可視化方式自定義分步驟搭建數據處理模板,實現從原始數據到目標數據屬性關系的可視化,方便隨時調試數據處理程序;實現了GIS軟件常用的數據分析、數據處理、數據轉換等功能,包括不同坐標系之間的轉換、空間疊加分析、空間相交運算、圖形與屬性關聯等功能;提供了多種API接口,用戶可以自定義擴展新的數據格式,且通過API接口將FME嵌入到應用系統中;支持如點云數據、遙感數據、網絡大數據等海量數據處理,且可通過編寫腳本及批處理模式自動化實現海量數據的處理與轉換[1]。即使一個非測繪地理信息專業人士,只需要一鍵調用在FME中定制好的數據處理流程的模板文件,即可完成數據處理或數據轉換工作。
本次對地籍宗地與界址點編號處理的工作思路,如圖1所示。

圖1 處理流程
整個數據數據處理流程共用到17個轉換器以及1個自定義循環轉換器,包括Orienter、Counter、BoundsExtractor、Sorter、stringPadder、CoordinateExtractor、AttributeCreator、Statis ticsCalculator、FeatureMerger、Tester、AttributeKeeper、Expressio nEvaluator、Sorter、GeometryCoercer、VertexCreator等。本例中基礎實驗數據為shp格式數據,共涉及2500宗宗地數據。
3.1.1 工作原理
根據地籍調查工作有關規范,宗地順序應按“Z”或“弓”型排序,本項目宗地按“Z”型排序。按照此規則,工作原理如下:
(1)對每塊宗地進行唯一編號;
(2)求取每塊宗地的最小外接矩形框;
(3)提取每個外接矩形框的左上角點的X、Y坐標;
(4)根據第(1)步宗地編號作為關聯關系,將第(3)步求得的X、Y坐標關聯至宗地的相關屬性;
(5)根據第(4)步求得的X、Y坐標對每塊宗地進行排序,其中Y坐標采用降序、X坐標采用升序;
(6)根據宗地編碼規則,按照第(5)步求得的宗地順序對每塊宗地進行編碼;
(7)成果輸出。
3.1.2 工作模板
宗地排序的模塊主要用到Counter、BoundsExtractor、Sorter、StringPadder函數。利用BoundsExtractor求出每塊宗地外接矩形的左上角點的X與Y坐標,利用Sorter函數對每塊宗地的左上角Y坐標與X坐標排序,在Sorter函數中設置Y坐標降序、X坐標升序,然后利用Counter函數對宗地號計數,最后利用StringPadder將上一步Counter得出的宗地號替換成符合用戶要求的宗地序號,宗地排序流程如圖2所示。

圖2 宗地排序%%
3.2.1 工作原理
按照界址點編號原則,界址點應以地籍子區或項目為單位,統一自西向東、自北向南,由“1”開始順序編號。可采用地籍子區范圍內或單個項目范圍內按統一規則編制的界址點號;也可以逐宗地從宗地的左上角或西北角按順時針順序編號。本次實驗以宗地為單位,宗地左上角按順時針方向順序編號,原理如下:
(1)提取宗地界址點順序編號的方向(順時針或逆時針);
(2)求取每塊宗地的外接矩形框的西北角坐標X、Y;
(3)提取每塊宗地的各個界址點坐標Xi、Yi、界址點編號i與宗地內界址點的數量N;
(5)求出每塊宗地中與外接矩形框西北角坐標最近的界址點,并提取該界址點點號imax;
(6)如宗地內原始界址點順序編號方向為順時針,則對于界址點編號i=imax的,設置界址點起始點編號為1,對于界址點編號i>imax的,設置界址點編號為i-imax+1,對于界址點編號i<imax的,設置界址點編號為N-i+imax;如原始界址點順序編號方向為逆時針,則對于界址點編號i=imax的,設置界址點起始點編號為1,對于界址點編號i>imax的,設置界址點編號為i-imax+1,對于界址點編號i<imax的,設置界址點編號為N+imax-i+1;
(7)成果輸出。
3.2.2 工作模板
地籍測量宗地圖的繪制順序一般都是以宗地的左上角作為起點繪制宗地圖,然而對于不規則宗地,內業繪圖人員在繪圖的時候很難判斷宗地的左上角界址點,利用FME對宗地界址點排序的難點在于如何讀取宗地內所有界址點以及如何判斷宗地的左上角界址點。對于讀取宗地界址點,可以利用FME自定義一個循環讀取宗地所有界址點的循環器coordExtractor,循環器,如圖3所示。

圖3 界址點坐標循環讀取轉換器
在自定義循環器coordExtractor之前,我們首先要利用CoordinateCounter讀取每個宗地的界址點數并且用AttributeCreator將每塊宗地賦值CoordIndex為1,在自定義循環器里面主要用到Tester判斷CoordIndex是否小于等于_coordcount,如果符合條件就利用CoordinateExtractor讀取該索引值下的X與Y坐標,并且利用ExpressionEvaluator將索引值CoordIndex加1,最后添加循環Loop指向輸入端,在這個循環器里面同時也添加了ExpressionEvaluator2,其作用主要是計算每個界址點坐標與宗地外接矩形框左上角的距離。
本文利用到的函數轉換器有自定義循環器coordExtractor、StatisticsCalculator、FeatureMerger、AttributeCre ator、AttributeKeeper、Tester、ExpressionEvaluator、Sorter等。首先利用Tester1判斷上一步的循環器計算出的每個坐標點與宗地外接矩形框左上角的距離_pointLength以及StatisticsCalculator計算出的_pointLength._min相等關系的比較,如果相等則利用AttributeCreator創建屬性值ID,ID值等于CoordIndex,然后利用FeatureMerger對上一步Tester轉換器所有通過以及未通過判斷條件的宗地進行合并,合并后再次利用Tester2轉換器判斷。通過以及未通過Tester2轉換器判斷條件的添加ExpressionEvaluator、AttributeKeeper保留必要的屬性值,輸出個人要求的格式數據,界址點排序模塊,如圖4所示。

圖4 界址點排序模板
點擊F5運行上述數據處理模板,數據即得到自動化處理,利用該模板程序處理某地區項目2 500宗宗地圖斑,只花費了3秒鐘時間,與傳統的人工操作GIS軟件相比,工作的質量與效率均得到了極大地提高。為進一步提高數據處理模板的共享以及數據處理的效率,可以在FME Server中使用FME WorkBench定制的模板文件,從而極大地提高GIS用戶之間的數據共享效率,實現了從只能使用FME WorkBench完成特定平臺的轉換模式,進化為通過FME Server調用可共享的FME WorkBench數據處理程序模板,從而實現任意平臺之間的轉換模式,而且數據處理程序模板可復用性高,對于大批量數據尤其海量數據處理非常適合。即使數據內容有所變化,但客戶僅部分調整數據轉換程序模板,即可滿足客戶端應用程序的需要。
滿足以FME的語義轉換為基礎,再搭配靈活編寫的自定義函數,FME可以輕松、快速地處理數據量大、數據結構復雜、數據格式多樣化等問題,既可以分階段、分批、分時間段完成數據的預處理、抽取、轉換、編輯、集成、拓撲檢查,并通過FME Server發布共享程序模板,也可以作為數據處理方案的定制工具[5]。FME已經廣泛地應用于林業調查、國土“三調”或“房地一體”項目數據處理、“多規合一”數據處理、城市更新等項目數據處理中,尤其在海量、多源、多類型數據處理上的優勢十分明顯。
數據處理時,一般使用GIS軟件將數據處理為符合用戶需求的數據格式,數據處理效率很低且容易出錯,不可能完全滿足用戶或不同類型項目的需要,此時往往要在GIS軟件平臺上進行二次開發,一旦數據格式或項目要求稍有變動,就需要改動程序,且數據處理效率不高。本文利用某“房地一體”確權登記項目的數據進行實驗,證明了通過FME搭建數據處理模板,優化了工作流程,大大提高了數據處理的質量和效率。