李正云,劉艷偉, 王海星
(1. 陜西寶岳測繪有限公司,陜西 西安 710054)
在數字測圖中,最常見的產品就是數字線劃圖(DLG)[1,2]。但是由于歷史原因,先期建設主要采用Microstation/J和Geographics為基礎平臺[3],數據庫平臺采用Oracle9i。在GIS建庫時,由于軟件平臺不一樣,需要進行數據格式轉換才能入庫。由DLG數據到GIS數據庫的轉換過程中[4],涉及很多關鍵環節,如數據提取、格式轉換、數據分類、數據編碼、數據建庫、符號匹配等,容易造成數據信息的丟失[5]。本文探討了由Microstation 地形圖數據到SuperMap GIS數據庫過程中數據轉換的關鍵環節、流程、遇到的問題及其解決辦法,提出一條程序化、自動化、智能化的利用DLG數據進行GIS數據建庫的途徑。
本文所討論的數據源由兩部分組成:已入庫的DLG數據源和基于Microsattion文件格式的DLG數據源,如圖1。輸入接口中要充分分析用戶需求,分析已有數據源的特征、需要做的預處理工作以及可能遇到的問題及相應解決辦案,如數據分類是否符合要求、數據屬性是否完整、數據分類編碼等。
GIS地理信息數據建模是建立該系統的關鍵一環,主要涉及有什么數據、向客戶提供什么數據、如何組織這些數據等基礎問題。輸出接口分析如圖2。

圖2 輸出接口

圖3 數據處理流程
從DLG數據到SuperMap數據庫,主要有DLG數據專題要素提取、數據格式轉換、GIS數據編輯處理、屬性匹配和基礎GIS數據編碼、地圖符號化和專題地圖配置等環節[6,7]。考慮到傳統數據生產中數據不標準以及SuperMap轉換Microstation V8中數據不完善,中間環節會遇到許多問題。為此,提出圖3所示處理流程和基于C/S架構的數據處理程序。

圖3 數據處理流程
考慮到數據的安全性,將Microstation數據源放在服務器端,編寫基于C/S架構的數據處理程序,其功能主要包括數據提取、數據分類、數據檢查、屬性轉換、專題地圖配置文件生成、文本/符號數據轉換等[8]。

圖4 C/S架構的處理程序設計
數據庫中的GIS數據無論概念還是要求,完全不同于傳統的DLG數據。傳統的DLG數據主要采用多比例尺“分幅”的點線面數據混合形式,而GIS數據要求相同圖形要素分類,并以點數據集、線數據集、面數據集的方式呈現,如交通數據、水系、居民地及其附屬、工礦設施及其附屬、管線數據、農業設施及其附屬、公共設施及其附屬、植被數據、地貌數據、行政區劃數據、垣柵數據等。本文編寫相應程序,進行數據的分類提取、綜合等。
SuperMap轉換到Microstation V8時,對存在的一些問題的處理方法如下:
1)數據類型復雜的線、面數據在轉換時容易丟失內容。Microstation V8 DGN文件中可能包含大量的復雜鏈、復雜面甚至更加復雜的類型,這種類型的轉換效果不是很理想。可以采取2種方式進行處理:
第一種,先將Microstation V8 DGN數據通過ArcGIS或者FME轉換為shp格式,然后通過SuperMap將shp文件轉換為相應的點線面數據集。這種轉換方式中,內容基本上不丟失,但容易產生數據冗余。轉換為ArcGIS shp格式后,相應的面要素產生了冗余的邊界線要素,而且對漢字圖層名不支持,導致圖層字段屬性亂碼。對這種情況的處理方式是:在ArcGIS屬性表中,通過SQL語句查詢,然后刪除。語句如下:
"Entity" LIKE 'Complex Shape' OR "Entity" LIKE'Closed Shape'
第二種,編寫相應程序,在Microstation V8 DGN數據文件中把各種復雜數據處理成為簡單數據類型。這種處理過程銜接更加流暢,但是需要進行相應的編碼。
2)類型復雜的文字轉換中,容易丟失內容或者無法轉換。由于生產的數據不是很規范,Microstation V8 DGN數據中包含的文本存在單文本、多文本、單元文本等形式。SuperMap不支持漢字+數字(英文字母)+漢字的文本形式,因此基于Microstation V8平臺和SuperMap Object+C#,分別開發了相銜接的文本轉換程序,實現文本的自動轉換。首先定義需要的文本要素的名稱、字體、大小、顏色、角度等,通過Microstation V8轉換到Access數據庫,然后通過SuperMapObject+C#程序轉換為SuperMap文本數據集。這種轉換很徹底,效率很高,并可保持文本的原圖顏色配置。
3)單元符號轉換。SuperMap對V7的點符號轉換很好,但是對V8的轉換存在問題。作業中,采取和文本處理相同的方式,生成相應的點數據集,通過定義符號庫比對文件,利用編寫的專題圖配置程序自動生成點數據集,見表1。

表1 SuperMap數據字段說明
GIS數據編輯處理中,包含很多檢查和編輯,如屬性要素完整性檢查、拓撲檢查、接邊檢查、圖層分級、圖形要素編輯等。
Microstation/J和Geographics平臺的DLG 數據主要采取圖形要素+屬性數據庫的管理方式,因此轉換中需要考慮屬性數據的鏈接轉換,并生成與原數據要素編碼相對應的基礎地理信息要素編碼,見表2。本文編寫了程序進行批處理。

表2 屬性數據字段說明
由于數據不標準等因素,屬性數據的分類編碼單靠過去的mslink(用A表示)不能夠很好地區分,必須根據圖層名稱(用B表示)進行分類編碼,數據分類編碼=A OR B。根據這種邏輯設計,編寫數據編碼處理程序,自動分類編碼。
Microstation數據的圖形數據和屬性是分開存儲的,而我們給用戶提供的GIS數據庫要求圖屬一體化管理。因此,設計了專門程序來進行圖形要素的屬性更新。
SuperMap地圖是由數據集對應的圖層數據組成的,只有配置相應的地圖風格,才能形成美觀、科學、滿足用戶要求的地圖。GIS數據圖層中可能包含若干同類但不同性的多種要素,如管線的點數據集中包含了上水、下水、燃氣、工業、通信、電力等各種數據。經過先期數據處理,使每個點要素、線要素中都包含符號名稱或線型名稱。然后根據這些屬性,編寫自動批處理程序,生成GIS圖層的專題圖,自動配置地圖符號。
數據生產是測繪工作中最基礎、也是問題最多的一環。本文探討了從Microstation數據到SuperMap GIS數據庫的數據生產、數據建庫的流程和遇到的實際問題,總結了一套基于C/S架構的數據處理程序,實現了此類數據的自動化、智能化處理,提高了數據的生產效率。
[1]鄭建功,許有田.城市工程測量工作流系統設計[J].城市勘測,2008(6):36-38
[2]吳信才.地理信息系統原理與方法[M].北京:電子工業出版社,2002
[3]鄭建功,高紅心.基于SuperMap IS.NET的城市投資項目管理系統設計與實現[J].城市勘測,2009(4):19-22
[4]戴相喜,周衛,高磊.DLG數據任意范圍接邊算法及實現[J].測繪通報,2008(7):32-35
[5]劉鋒,曹凱濱.城市基礎測繪DLG數據入庫的實現[J].測繪與空間地理信息,2010,4(2):165-168
[6]劉玉春,高德荃,彭良勇,等.基于ArcGIS Engine的城市DLG要素符號化[J].城市勘測,2008(2):14-16
[7]趙泉華,宋偉東,孫國華. 基于梯形評語云及虛擬云理論的DLG 質量評價方法研究[J].測繪科學,2011,5(3):47-49
[8]范玉茹,隋立芬,馬莉.基于模糊集重心的DLG 產品質量的模糊綜合評判[J].測繪科學,2011,9(5):155-156