程崢 李永勝 王丹丹 聶茜
摘要:本文基于GIS和CAD地籍數據處理的過程中所遇到的問題,引入了FME數據轉換的理念,并通過大量實驗,實現了如何在FME中完成GIS到CAD數據的無損轉換。為以后地籍數據的處理提供了一個新的思路。
關鍵詞:FME;數據轉換;空間數據
地籍調查與建庫是一項非常繁瑣的工作,涉及大量的圖形編輯與屬性錄入。如果直接在ArcGIS中修改會比較復雜并且耗時,而且ArcGIS操作對作業人員要求較高。考慮到CASS具有很強的圖形編輯功能,且屬性與圖形能以面向對象的方式操作,在變更調查中容易維護數據的邏輯一致性。因此,我們一般是將ArcGIS數據轉換成CASS數據進行修改,直接從ArcGIS輸出的CASS數據,不能查看屬性。經分析,從ArcGIS轉換得到的數據,其屬性并沒有丟失,只是存儲的方式和CASS存儲的方式不同Ⅲ。
FME(FeatureManipulateEngine)是由加拿大SafeSoftware公司推出的空間數據轉換處理系統。FME可用于讀、寫、存儲和轉換各種空間數據,支持三百多種格式數據問的相互轉換。FME通過編寫映射文件,建立各種格式數據中同類要素的對應關系,完成源數據到目標數據要素的一一對應,從而達到數據轉換的目的。
本文以FME為橋梁,將ArcGIS數據和具有實體擴展屬性的南方CASS聯系起來,通過多種轉換器,實現ArcGIS數據與CASS數據的相互轉換。
1數據表現方式
CASS軟件是通過ObjectARX對AutoCAD平臺二次開發形成的一套集地形、地籍、空間數據建庫、工程應用、土石方量算等功能為一體的軟件系統。ArcGIS是Esri公司的一套完整的GIS平臺產品,具有強大的地圖制作、空間數據管理、空間分析、空間信息整合、發布與共享的能力。
CASS和ArcGIS兩種軟件都是地籍數據處理過程中常用的軟件,兩個軟件都具有強大的圖形繪制、編輯與屬性顯示功能;同時,兩種也存在許多不同之處,他們的數據表現方式如下:
分層機制:CASS數據在同一類要素在一個圖層,同一圖層內可以包括點、線、面等多種幾何類型。ArcGIS數據其數據分層嚴格按照幾何類型劃分,同一圖層中只包含一種幾何類型。
屬性存儲:CASS除了圖層、顏色、線型、線寬、填充、圖塊等基本屬性,其余屬性以擴展字段的形式存儲在XDATA中。ArcGIS數據屬性存儲于屬性表中,每個圖形都包含與之相對應的屬性。
符號化:CASS數據用“實體編碼,I屬性控制圖形的符號化。ArcGIS數據根據要素屬性通過調用符號庫實現符號化顯示。
2轉換思路
該過程是將ArcGIS數據的圖形要素轉換為CASS的單純圖形要素,同時依據ArcGIS數據的屬性要素對轉出的CASS圖形進行實體編碼、符號化,并將屬性值賦值到CASS數據的擴展屬性中,從而實現ArcGIS數據向CASS制圖數據的轉換與符號化顯示。
ArcGIS數據向CASS數據轉換的實質是將ArcGIS數據中抽象為點、線、面的地理要素轉入CASS中并符號化表示的過程。CASS中通過圖層組織、形狀、顏色、結構(線型)等特性來反映ArcGIS數據中的屬性實現制圖符號化。
3實例分析
本文選用西安市某區縣城鎮土地調查數據為實驗數據,利用FME2015進行模型制作,采用ArcGIS10.1與CASS9.1為數據瀏覽工具。
(1)數據預處理
為了能夠將兩種數據格式無損轉換,需要對GIS數據屬性進行編輯,例如,由于CASS中區縣代碼和街道、街坊、宗地編號是分開存儲的,需要將GIS中地籍號字段分為區縣代碼和地籍編號兩個字段。
(2)構建轉換模型
在FME的Workbench中添加讀模塊(數據輸入端)和寫模塊(數據輸出端),設置讀模塊和寫模塊輸入和輸出路徑和格式。
添加AttfibuteCreator、AttributeSplitter以及2DForcer轉換器,并進行相應的參數設置。
1)CASS中實體編碼、宗地編碼、權利人和土地用途四個屬性存放于隱藏屬性SOUTH中,需要通過AttributeCreator轉換器將屬性暴露出來,并賦值連接在一起;
2)通過AttributeSplitter轉換器將SOUTH中屬性打斷存放于List列表中,方便與CASS屬性對應;
3)利用2Dforcer將三維多段線轉為CASS宗地圖形中的二維多段線,便于圖形符號化顯示;
4)給輸出CASS數據添加屬性值,并通過連接線將屬性傳遞到圖形中;
5)設置輸出模板,將已有CASS宗地圖作為輸出模板。
通過運行FME模型轉換器,可以方便快捷的將ArcGIS格式的數據轉換為CASS數據,并保證屬性以及圖形符號與CASS中繪制的保持一致。
(3)與傳統轉換方法的對比
傳統上,ArcGIS數據轉為CASS數據需要進行圖形轉換和屬性錄入兩個過程。即首先將Shapefile數據格式輸出為DWG數據格式,然后將地籍屬性按照宗地錄入,并為宗地添加實體代碼。
采用這種方式進行數據轉換,耗時較長,且屬性錄入過程容易出現錯誤,不利于批量化作業。通過選取西安市某區縣100宗宗地數據進行對比試驗,得到以下結果:
在不考慮數據預處理的情況下,FME數據轉換只需要3.7秒即可完成整個操作;而手工錄入100宗地信息,大約需要50分鐘。由此可見,利用FME進行數據轉換的效率相當高,且轉換正確率高,不需要花費大量時間進行復查工作。
4結論
本文利用FME強大的數據轉換功能,以CAD數據與GIS數據互轉為例,完成了大量地籍數據數據兩種格式的批量轉換,實現了空間數據和屬性數據的無損轉換,省時省力,數據精度高,證明了FME在空間數據轉換中的強大功能,為實現數據共享和地理空間數據互操作提供了一種行之有效的思路和方法。