孫立城
(河北工程大學信息與電氣工程學院,河北 邯鄲 056038)
由于AutoCAD 具有圖形繪制、編輯、處理能力強的特點,礦圖一直采用AutoCAD 軟件繪制。隨著礦測工程逐步采用地理空間技術,ArcGIS軟件在煤礦行業(yè)的應用成熟并廣泛使用, 因此AutoCAD 與ArcGIS 兩個不同平臺的數(shù)據(jù)同步成為需要解決的問題。文獻[1]提出了將WCF 分布式框架運用到礦圖數(shù)據(jù)轉換,通過二次開發(fā)跨平臺實現(xiàn)礦圖數(shù)據(jù)同步更新。文獻[2]利用開源DWGDirect類庫整合ArcEngine 組件實現(xiàn)CAD 數(shù)據(jù)到GIS 數(shù)據(jù)同步,但對于不同平臺數(shù)據(jù)結構轉換并不完整。文獻[3]探討了CAD 圖層與GIS 圖層對應關系、注記轉換、擴展性轉換等問題,基于單一FME 技術實現(xiàn)CAD 數(shù)據(jù)與GIS 平臺的數(shù)據(jù)轉換與同步。
以上方式雖然也實現(xiàn)了數(shù)據(jù)同步轉換,但是都存在不同程度的問題:一是對于分布式框架的二次開發(fā)必須有專業(yè)人員,要對程序開發(fā)掌握并且對礦圖轉換規(guī)則清楚,礦井一般技術員達不到要求;二是通過調用庫來進行數(shù)據(jù)的同步轉換,因為庫的完成度直接影響了數(shù)據(jù)轉換的正確性,依靠單一庫并不能很好地實現(xiàn)數(shù)據(jù)同步。
基于以上問題,本文基于MicroStation 和FME技術結合的方案,彌補了單一FME 技術的缺點,成功實現(xiàn)了礦圖數(shù)據(jù)的準確、快速轉換。
MicroStation 是美國Bentley 公司推出的一種功能非常強大的優(yōu)秀輔助設計工具軟件,在國外廣泛應用于建筑設計、土木工程、交通、地理信息系統(tǒng)等方面,它是一個可互操作的、強大的CAD 平臺,集二維繪圖、三維建模和工程可視化于一體的完整解決方案[4]。運用對MicroStation 平臺的二次開發(fā)將源數(shù)據(jù)(DWG 格式文件)進行預處理,實現(xiàn)預處理后數(shù)據(jù)的“無損轉換”。MicroStation 可以直接讀寫AutoCAD 的DWG 格式文件,與其DGN 格式文件可以互操作。由DWG 格式轉存為DGN 格式僅將源數(shù)據(jù)的塊(block)變成了單元(cell),轉存后的數(shù)據(jù)主要由點、線、單元、共享單元和文本注記組成。DGN 格式文件通過圖層來存儲數(shù)據(jù),同一類地理要素存在同一圖層中。憑借MicroStation可以直接對DWG 格式文件進行操作,可以實現(xiàn)保存為MicroStation 的DGN 格式,最大程度上保證源文件屬性信息的完整性。
因源數(shù)據(jù)(DWG 格式數(shù)據(jù))屬性信息描述少,而且存儲在擴展數(shù)據(jù)(Xdata)中的數(shù)據(jù)也不滿足ArcGIS 對數(shù)據(jù)的要求。MicroStation 擁有獨立外掛數(shù)據(jù)庫,對圖形屬性信息進行處理,處理后的圖形屬性信息可以存在獨立外掛數(shù)據(jù)庫中。MicroStation利用數(shù)據(jù)庫的接口通過OBDC 實現(xiàn)圖形數(shù)據(jù)與屬性信息的連接。
本文就礦圖數(shù)據(jù)同步將CAD 的DWG 文件同步到GIS 所識別的文件,達到數(shù)據(jù)統(tǒng)一、同步。MicroStation 作為數(shù)據(jù)預處理的平臺,實現(xiàn)以下功能:
(1)進行編碼的轉化以及對屬性信息賦值;
(2)對數(shù)據(jù)信息的查詢與修改;
(3)清除文件的非法元素;
(4)多邊形元素轉換;
(5)將文本標記與圖形要素關聯(lián);
(6)提取關鍵的屬性信息;
(7)拓撲檢查。
通過應用MicroStation 數(shù)據(jù)預處理平臺,對點線數(shù)據(jù)進行預處理,包括屬性要素和圖形要素。屬性要素包括檢查礦井要素編碼的正確性、提取圖形要素的關鍵信息;圖形要素處理包括多邊形轉線、注記組合、拓撲檢查等。MicroStation 數(shù)據(jù)預處理平臺結構如圖1。
FME(Feature Manipulate Engine, 簡 稱FME) 是加拿大Safe Software 公司開發(fā)的空間數(shù)據(jù)轉換處理系統(tǒng),它是完整的空間ETL 解決方案。該方案基于OpenGIS 組織提出的新的數(shù)據(jù)轉換理念“語義轉換”[5],對相互轉換的數(shù)據(jù)進行了結構重建,從而建立了多種不同格式之間的數(shù)據(jù)轉換,提供了效率高、語義準、開發(fā)簡單的數(shù)據(jù)轉換工具。FME 通過核心語義文件轉換引擎完成數(shù)據(jù)間的轉換過程,通過語義映射文件注冊表對轉換時語義映射文件進行管理,最終由自動語義轉換生成器完成FME 轉換操作。采用FME 語義映射的方式,對源數(shù)據(jù)進行轉換、變換、分類整合?;谡Z義映射的原理是映射關系的對應,通過重新構造映射關系來轉換數(shù)據(jù)對應結構。FME 語義轉化是將源數(shù)據(jù)不同層面上的屬性和內容通過符合要求的映射關系,實現(xiàn)數(shù)據(jù)的轉換。從CAD 數(shù)據(jù)到GIS 數(shù)據(jù)轉換過程中,F(xiàn)ME 將DGN(MicroStation 轉換后的數(shù)據(jù))和Shape 數(shù)據(jù)(ArcGIS數(shù)據(jù))在映射中形成正確的對應關系,實現(xiàn)要素信息的一一對應。CAD 數(shù)據(jù)與GIS 數(shù)據(jù)轉換模型如圖2。
圖1 Microstration 數(shù)據(jù)預處理平臺
圖2 CAD 與GIS 轉換模型
FME 通過豐富的數(shù)據(jù)轉換模型,通過自定義輸入和輸出數(shù)據(jù)結構,實現(xiàn)了數(shù)據(jù)結構的重新構造。如圖3 所示,語義轉換過程中,數(shù)據(jù)模型m 和n 分別經(jīng)過語義映射“寬通道”,即語義映射文件,實現(xiàn)數(shù)據(jù)自由的轉入、轉出,并且將已有轉換模型嵌入到其他自定義模型中。
圖3 語義數(shù)據(jù)轉換模型
FME 需要通過FME Workbench 建立自身的映射文件模板,源數(shù)據(jù)為DGN 格式,目標文件格式為Shape。FME 可以產(chǎn)生一個對應關系從DGN 格式到Shape 格式,由建立的映射文件模板并不能準確地進行轉換,需要根據(jù)轉換的實際情況,重新定義映射關系。源數(shù)據(jù)經(jīng)過MicroStation 預處理后,需要將存儲在外部數(shù)據(jù)庫的屬性信息通過igds_linkage 格式屬性連接到幾何圖形,選擇Format Attributes 將相關屬性信息顯現(xiàn),下面以點線面為例闡述數(shù)據(jù)轉換細節(jié)[6]。
MicroStation 將旋轉矩陣角度寫入字符串2,通過查找并調用字符串2,并返回字符串2 的索引號,將輸出端口添加索引號到指定元素列表的屬性要素,從而將字符串2 上的角度信息提取出來。角度讀取過程如圖4。
關聯(lián)信息使用了字符串3 以及其后的字符串,因此字符串2、字符串3 之間通過使用ListSearcher轉換器進行字符串3 的查找,采用ListSearcher 轉換器打散成單獨的數(shù)據(jù)元素,使得原始列表屬性與分解后的屬性存入列表中。通過ListSearcher 轉換器從打散的字符串中提取string X、string Y,然后調用Tester 轉換器對打散的內容進行檢查,由此得到關聯(lián)的文本信息和相對坐標信息。關聯(lián)提取過程如圖5。
圖4 角度讀取過程
圖5 關聯(lián)提取過程
在完成對角度的提取和對關聯(lián)信息的提取后,進而與FeatureMerger 轉換器的Requestor 端口連接,Supplier 端口與對照表文件連接,通過線數(shù)據(jù)屬性與對照表中的字段對應實現(xiàn)圖形數(shù)據(jù)與屬性數(shù)據(jù)的匹配。
面數(shù)據(jù)輸出端口與轉換器FeatureMerger_2 的Requestor 端口連接,F(xiàn)eatureMerger_2 轉換器的Supplier 端口與對照表連接,通過面數(shù)據(jù)屬性與對照表中的字段對應實現(xiàn)圖形數(shù)據(jù)與屬性數(shù)據(jù)的匹配[7]。
將轉換器SubstringExtractor 末端字符寫入線屬性中,轉換器GeometryFilter 將要素發(fā)送到輸出端口,在GeometryFilter 的輸出端口通過設置相應的測試條件過濾掉錯誤的點、線、面,轉換器AttributeFilter 依據(jù)要素的屬性值把要素發(fā)送到不同的輸出端口,并輸出到對應的圖層。
FME 語義映射文件用于將預處理后的DGN 數(shù)據(jù)轉換為Shape 數(shù)據(jù),如圖6,經(jīng)過轉換前后的對比分析,從點、線、面幾何要素以及文本注記能夠正確還原初始數(shù)據(jù)。利用MicroStation 與FME 兩種技術相結合的方案,解決了傳統(tǒng)直接進行轉換時映射不對應的問題。通過MicroStation 進行數(shù)據(jù)預處理,將DWG 格式的問題轉變?yōu)镈GN 格式,保證格式之間轉換正確性,進而使用FME 語義映射技術構造完善的映射條件,實現(xiàn)DGN 格式到Shape格式的相對無損同步轉換,比傳統(tǒng)轉換更加準確的基礎上,轉換形式更加穩(wěn)定?;贔ME 語義映射技術的礦圖轉換與同步,解決了傳統(tǒng)礦圖格式轉換信息丟失導致更新同步慢的問題。本文結合實例,詳細闡述了轉換原理和過程,對于礦圖格式轉換和更新具有一定的參考價值。
圖6 轉換前后數(shù)據(jù)對比