柴新宇 王偉




摘? 要:利用FME中的語義轉換技術,DWG數據可以與GIS SHP數據共享。實驗以DWG水系設施數據為例,構建數字化DWG格式數據與GIS格式數據的映射關系表,并在此關系表的基礎上,在FME workbench模型平臺上構建水系DWG數據到GIS數據的轉換模型。該模型實現了從DWG水系數據到GIS數據屬性的無損轉換,并對轉換后的數據進行拓撲檢查和屬性數據整理。通過腳本程序對數據進行批處理,在很大程度上提高了數據入庫的數據正確性、共享和轉換效率。
關鍵詞:FME Workbench;水系;ArcGIS
中圖分類號:TP39;P283.5? ? 文獻標識碼:A 文章編號:2096-4706(2021)18-0028-04
Abstract: Using the semantic transformation technology in FME, DWG data can be shared with GIS SHP data. Taking the DWG river system facility data as an example, the mapping relationship table between digitization DWG format data and GIS format data is constructed. Based on this relationship table, the conversion model from river system DWG data to GIS data is constructed on the FME workbench model platform. The model realizes the lossless transformation from DWG river system data to GIS data attributes, and carries out topology inspection and attribute data sorting on the transformed data. Batch processing of data through script program greatly improves the data correctness, sharing and conversion efficiency of data warehousing.
Keywords: FME Workbench; river system; ArcGIS
0? 引? 言
FME專注于解決數據交互的瓶頸,致力于讓不同的數據自由流動,讓數據使用更自由,讓信息不被禁錮在某個系統或者軟件里,讓寶貴的時間和精力用在做決策上,而不是處理數據[1]。對于FME軟件按照功能描述屬于數據轉換與處理的軟件,按照操作模式描述屬于面向數據的可視化編程的一種語言,是一種可以無縫連接多平臺的空間數據互操作工具。支持超過400種的數據格式和數據轉換,包括CAD數據、GIS數據、Raster數據、BIM數據、GML數據、點云數據等多行業的不同應用源數據。
近些年的學者在進行研究數據轉換時,通常將FME Workbench作為制作數據處理流程的應用程序。根據其提供的圖形化操作界面,通過拖拽的方式完成模塊的組合,零代碼的定義數據處理的流程。把FME Workbench定義的數據處理流程叫做“FME模板”或“FME工作空間”。FME的不同模塊可以完成數據的讀取、目標數據集的寫出,要素類的描述和記錄、要素的轉換等。黃志偉闡述了GIS和CAD數據之間無損轉換的方法以及注意事項。周浩等探討了針對CAD數據和GIS數據的轉換問題,CAD數據的圖層對應關系、塊轉換、注記轉換、擴展屬性轉換以及面轉換5個關鍵技術,為實現CAD和GIS數據的轉換提供了技術思路和指導。通過CAD和GIS兩種圖形文件的空間數據模型進行分析,范占永等提出了一種具體的基于.net框架和C#面向對象技術編寫轉換程序的轉換模型,實行了兩種數據的無損轉換,為其他類型的數據轉換提供了有益參考。
FME廣泛應用于數據格式轉換、圖屬掛接空間拓撲分析、數據質量檢查、數據入庫與更新、多源數據融合、坐標轉換等方面。FME Desktop有不同的版本,對于本次實驗中主要用到了FME Esri Edition中增加的對ArcGIS SDE寫出的能力[2]。
實驗主要應用FME作為多轉換器,即數據處理和轉換的工具,在轉換的過程中對于DWG格式水系設施源數據不僅僅是格式到格式的轉換,還進行了屬性數據的重新計算、空間數據的一些拓撲分析處理,通過對原始數據的計算和變換后得到GIS水系設施數據庫目標數據。使用FME進行數據變換實現了可視化、零代碼編程,數據的轉換過程可以選用FME中自帶的模塊和函數完成,簡單的連線即可,不需要進行代碼編寫即可完成水系設施DWG數據到GIS數據的無損轉換。數據轉換任務的模型編寫好后,將建立好的模型可以進行封裝處理,之后進行同樣數據處理任務時可以實現任務處理自動化、批量化,不需要再重復之前的模型建立過程,只需要把編寫好的流程直接使用即可,可以自動化處理,還可以按照計劃任務自動運行程序模型。
1? DWG水系數據轉換模型構建
1.1? CASS中水系設施正確性檢查
對水系設施(對應CASS中SXSS圖層)進行正確性檢查時,首先進行DWG數據的圖層檢查,SXSS圖層數據是一個數據集,一個數據可以包含很多層,每個圖層可存儲多個幾何類型的數據,數據的幾何類型復雜。檢查入庫時除了刪除偽結點和重復實體外還需進行圖形實體檢查,包括編碼正確性、屬性完整性、圖層正確性、符號線型線寬、面狀地物封閉性、復合線重復點等檢查。檢查后對于有錯誤的實體可先進行批量修改和逐個修改。修改完成繼續進行入庫檢查后修改,反復進行直至無誤。
1.2? FME Workbench數據轉換
對于CASS入庫前檢查的數據,在轉換到數據庫前,需要使用FME Workbench進行數據的轉換前檢查。FME Workbench是FME主要的工作流程設計平臺圖形界面,利用這個界面設計可重復使用水系設施的數據處理流程。也可以利用400多個FME轉換器,在多個數據格式間自由轉換和組合,最終完成數據處理的流程和實現。將CASS處理后的DWG水系設施數據用FME Datalnspector進行數據預覽、檢查、分析,對水系設施數據進行設計處理數據流程,并對處理前后以及過程中的數據進行分析、檢查和驗證[3]。FME Datalnspector與FME Workbench緊密聯系,在Workbench中可以直接發送水系設施數據到Inspector檢查任意節點的數據,在解析數據過程中可以賦予解析過程的數據信息格式屬性,將源DWG格式轉換為GIS數據庫格式。進行數據變換時,包括水系設施結構變換和內容變換,結構變換是對數據的數據的結構進行改變,內容變換是對數據的幾何形狀和屬性內容進行改變,包括屬性添加,如圖1所示。
在使用FME進行水系設施DWG數據到GIS數據轉換時,首先讀取數據格式屬性,需要過濾水系圖層,將水系中的中線和邊線區分開,然后分離水系中線和邊線,接著進行屬性整理,將需要的屬性信息進行整理計算,最后輸出水系設施GIS數據。由于DWG水系統設施數據的復雜組成,數據在DWG數據中主要顯示為點和線。在實際應用的數據轉換過程中,需要通過構建的FME模型將這些數據轉換成GIS數據庫。因此,需要數據檢查合格后構建水系模型[4]。
數據檢查模型主要檢查圖層正確性、空間關系、屬性信息等,根據已構建的轉換對應表“DWG_GDB數據結構轉換對應表”規則來檢查SXSS圖層、編碼、幾何類型、字體大小、GIS分類等是否錯誤;根據數據檢查模型到出的“FAILED”圖層文件(不同地物地物編碼、水系閉合性、地物的幾何類型、GIS分類、字體大小,水流方向等),圖層對比原圖檢查錯誤原因,并在原圖上進行修正,最終得到正確的水系設施圖層如圖2所示。
1.3? DWG水系設施數據模型轉換
水系設施地物名稱主要包括一般雙線溝渠、無坎池塘、有坎池塘、有欄桿的直立式防洪直立式防洪墻橫線、直立式防洪墻、直立式防洪墻邊線、垅、常年河水涯線、依比例水井、一般單線溝渠、高水界等。點:水井、流向、落潮。轉換之前河流需要構面,并且根據河流邊線需根據河流名稱分別構面,河流名稱注記整體化(河流名稱注記放入河流多邊形內)。
轉換模型能夠實現在GIS圖層中的自動添加名稱、類型、結構;水系(點、線、面)自動添加符號代碼、要素代碼等(可根據代碼進行符號化處理)。模型自動構環多邊形(但內部多邊形仍保留,需要在GIS下編輯刪除);根據河流面自動構中心線(適合長條形,需要在GIS下再編輯),但池塘等也提取了中心線,需要GIS下刪除(可通過代碼篩選出河流單獨提取中心線);模型轉換時可以自動賦予河流要素代碼、名稱等。對于不同圖幅邊界的河流邊線自動連接線(模糊距離為0)如圖3所示。
將定義好的ACCESS數據庫屬性數據結構賦給FME中輸出的GDB數據屬性結構,按屬性過濾地物(如:按溝渠要素代碼屬性,將溝渠從水系設施中過濾出來單獨處理)。方法:源數據水系設施添加要素代碼屬性—添加函數AttributeFilter—Import溝渠要素代碼—輸出。使用GeometryFilter函數按幾何類型過濾地物(如:按點、線、面,將水井、流向、落潮等地物從水系圖層中過濾出來單獨處理);水系等附屬物(無實體屬性不重要的地物)單獨劃分圖層,單獨轉換(塊打散,原封不動進行轉換),GIS中不需要重新符號化。二維展點、點構線函數:2DPointReplacer PointConnector。湖泊等多邊形自動附屬性(湖泊面自動賦予湖泊名稱屬性,同時計算湖泊面積等屬性信息);還需過濾出水系中的名稱注記,做點-面疊置分析,輸出AREA(新建autocad_text_string)為多邊形類型。
使用轉換工具操作數據,創建面要素并且給面要素一個對應的MS Access數據庫中添加相應的水系屬性。轉換工具是用于操作數據的圖形和屬性的工具,被有序地連接起來,數據從源數據流向目標數據,每一步都要用到轉換工具,一系列的轉換工具連接起來就如同一條管道[5]。水系轉換模型如圖4所示,本模型同時還完成了一個重要功能:讀取不同水系的數據屬性寫入數據庫,為以后建立三維模型打下基礎。輔助線(要刷代碼)、不轉連接線);界址線、面和注記自動賦予。水系需要構面轉換,并提取中心線轉換;池塘等要構面并自動標注屬性“塘”。內圖廓內圖幅號和名稱需要自動賦予,單獨轉換層。
2? 結? 論
水系設施模型很好地完成了DWG數據到GIS數據的轉換,通過轉換對應表將Cass屬性與ArcGIS屬性代碼完美對應,各種地物屬性沒有丟失,在ArcGIS中處理空間數據更加方便。該模型要解決的問題是,可以提取多邊形的質心并賦予名稱屬性,有些注釋對圖形有偏見。該模型解決了地物名稱與編碼的自動關聯問題,解決了GIS中矢量數據的線連接、線結構和曲面合并問題。FME的優勢在于它可以支持不同類型的數據交換和集成,同時在不同的應用平臺上加載和實時傳輸、更新和反饋。
參考文獻:
[1] 秦其明,曹五豐,陳杉,等.ArcView地理信息系統實用教程 [M].北京:北京大學出版社,2001.
[2] 陳影,程耀東,閆浩文.利用FME進行GIS數據的無損轉換 [J].測繪科學,2007(2):75-77+179.
[3] 陳曉輝,馬麗霞.基于FME的DWG居民地數據轉換方法研究 [J].價值工程,2013,32(25):177-178.
[4] 李瑞霞,楊敏,鄧喀中.基于FME的GIS到CAD數據“無損”轉換 [J].測繪通報,2009(5):55-59.
[5] 陳曉輝,馬麗霞,李丹丹.基于ArcGIS for Desktop的DWG數據三維可視化應用 [J].常州工學院學報,2014,27(2):24-26.
作者簡介:柴新宇(1984—)男,漢族,黑龍江哈爾濱人,注冊測繪師,二級建造師,本科,主要研究方向:工程測量、GIS;王偉(1987—)男,漢族,甘肅平涼人,工程師,本科,主要研究方向:工程測量、地理信息技術。