趙振洋
(中國鐵路設計集團有限公司,天津 300251)
CAD具有完善的圖形繪制功能和強大的圖形編輯功能,在鐵路設計中采用CAD技術不但可以大大減輕設計人員工作量,縮短設計周期[1],實現(xiàn)鐵路勘測設計標準化,而且有利于多方案比選,提高自動化設計水平,對加快設計速度與提高設計質(zhì)量有重要意義。在鐵路前期的線路和站場等設計過程中,線路沿線的大中比例CAD地形圖對整個線路和站場的設計和方案評價起著至關重要的作用[2]。
目前,大多數(shù)城市的基礎地理信息數(shù)據(jù)是以GIS地理數(shù)據(jù)庫格式存儲,需對收集到的GIS數(shù)據(jù)庫地形數(shù)據(jù)進行轉(zhuǎn)換處理,將各種GIS數(shù)據(jù)格式轉(zhuǎn)換為CAD格式[3]。主要有以下幾種轉(zhuǎn)換方式。①使用ArcMap中的Conversation Tools[4]:轉(zhuǎn)換過程簡單快捷,無需其他軟件配合,缺點是其幾何要素易丟失,且其轉(zhuǎn)換后的地理實體屬性信息無法有效轉(zhuǎn)換為CAD注記,轉(zhuǎn)換后的數(shù)據(jù)整理和修改工作量較大且無法進行批量轉(zhuǎn)換。②使用FME(Feature Manipulate Engine)[5]:該方法具有強大的功能和靈活性,數(shù)據(jù)轉(zhuǎn)換效率和質(zhì)量相對較高,但是轉(zhuǎn)換操作極為繁雜,且對模版過度依賴,在實際應用中仍存在較大的困難。③利用FME 語義轉(zhuǎn)換:該方法具有圖形要素符號化轉(zhuǎn)換較為精確的特點,但其側(cè)重于地理數(shù)據(jù)幾何圖形之間的轉(zhuǎn)換,對于屬性信息的表達較為乏力,尤其是對多個字段屬性的表達難以實現(xiàn),仍需大量的人工干預。
在深入研究以上數(shù)據(jù)轉(zhuǎn)換流程的基礎上,提出一種基于ArcEngine的轉(zhuǎn)換方法。該方法借助ArcEngine的二次開發(fā)Com接口,使用C#編程語言,可實現(xiàn)由地理數(shù)據(jù)庫復雜屬性數(shù)據(jù)向CAD注記的個性化、多樣化和簡單化的有效批量轉(zhuǎn)換。該方法能與其他方法配合使用,可以實現(xiàn)地理數(shù)據(jù)庫圖形信息與屬性至CAD圖的快速無縫轉(zhuǎn)換。
在我國當前的測繪系統(tǒng)中,地理數(shù)據(jù)庫的存儲和處理多基于ArcGIS平臺(以下如無特殊說明,均為ArcGIS平臺下的地理數(shù)據(jù)庫)。地理數(shù)據(jù)庫中,每個要素隨實際使用的需要,均可包含十分豐富的屬性信息,為了直觀地表現(xiàn)地理實體的一個或多個屬性信息,需要將以上屬性信息以文字的形式直接顯示于地圖中,這就是地圖的注記[7]。在ArcGIS平臺下,注記功能的實現(xiàn)有以下2種方式。
(1)地圖的標注(Label)
地圖標注是指在地圖窗口中通過一系列設置,自動生成和放置地圖要素(描述性文本信息)的操作[8]。它的一個顯著特點是隨著地圖比例縮放,標注的位置可實時動態(tài)變化,標注的大小則不會發(fā)生變化;另一個特點是標注無法獨立存儲,而是依附于地圖文檔(*.mxd)。
(2)地圖的注記(Annotation)
地圖注記是指存儲于地理文檔或地理數(shù)據(jù)庫中包含有自身的位置、文本字符串以及屬性的特殊文本圖層[9]。與標注相比,它具有以下特性:獨立存儲在地理數(shù)據(jù)庫中,擁有地理位置和屬性;隨著地圖比例的縮放,標注的大小會相應變化,位置可以根據(jù)設置而隨比例發(fā)生變化或者固定。在注記生成時,若啟用了“關聯(lián)”功能,則注記會隨著對應圖層的變化而即時變化,例如圖層中要素發(fā)生移動,注記也會相應移動。其它操作同樣具有聯(lián)動性。
在使用CAD進行制圖的過程中,除一般的幾何性注記外,地理實體的屬性標注主要通過圖層實現(xiàn)[10]。制圖人員通過Text命令或者其它類似命令,采用手工輸入的方式,將地理實體的相關屬性標注于地理實體周圍。標注文字的參考比例一經(jīng)選定,文字大小較難改變,位置也隨即固定。受CAD平臺空間分析能力的限制[11],標注無法與空間圖形相關聯(lián),同步操作較為困難。
目前,ArcGIS平臺提供了一整套由地理數(shù)據(jù)庫向CAD轉(zhuǎn)換的流程[12]。其中注記部分的轉(zhuǎn)換流程如下:首先將地理數(shù)據(jù)庫按圖層加入ArcMap中,根據(jù)制圖要求選擇每個圖層所需標注的屬性字段或表達式,設置其字體大小、顏色,放置屬性及比例等,對以上每個圖層使用標注轉(zhuǎn)注記(Label To Annotation)命令,將各圖層注記存儲于指定的地理數(shù)據(jù)庫中,完成以上操作后,將地理數(shù)據(jù)庫中圖形圖層和注記一同導出并轉(zhuǎn)換為CAD格式地形圖,流程如圖1。
圖1 地理數(shù)據(jù)單個圖層轉(zhuǎn)CAD流程
通過以上流程,可以實現(xiàn)單個地理數(shù)據(jù)向CAD地形圖的轉(zhuǎn)換,并在轉(zhuǎn)換過程中實現(xiàn)對地理實體屬性的注記。此流程僅能針對單個的地理圖層進行轉(zhuǎn)換,且每個地理圖層的地理實體標注內(nèi)容、放置特性和比例等不盡相同,難以適用于大批量的數(shù)據(jù)轉(zhuǎn)換。
為解決以上問題,設計開發(fā)了將GIS地理數(shù)據(jù)轉(zhuǎn)至CAD數(shù)據(jù)的轉(zhuǎn)換軟件。主要界面如圖2。軟件主要分為3部分,即參數(shù)設置區(qū)、數(shù)據(jù)操作區(qū)和結果實時預覽區(qū),界面下方有各類操作的進度顯示。
圖2 軟件界面
該軟件支持當前各種常見的地理數(shù)據(jù)庫存儲格式(shp格式、mdb格式、gdb格式等),且整個操作流程十分簡潔。本軟件的中間結果數(shù)據(jù)以mdb的格式存儲,選定數(shù)據(jù)源后需要手動指定中間結果的存儲路徑。在待轉(zhuǎn)換區(qū)域,選擇待轉(zhuǎn)換的圖層列表和各個圖層對應的屬性字段。若對圖層的注記樣式有特殊需求,只需要勾選界面中指定的圖層樣式選項,然后選擇指定的樣式文件即可。樣式文件主要存儲各個圖層注記的顏色、大小、參考比例、放置屬性等信息,與圖層文件分開存儲,可直接使用記事本編輯。選定后依次執(zhí)行標注圖層、注記轉(zhuǎn)出、CAD轉(zhuǎn)換,即可完成地理數(shù)據(jù)庫至CAD的快速轉(zhuǎn)換。
以佳木斯-鶴崗鐵路工程前期勘測中外業(yè)調(diào)繪數(shù)據(jù)制圖為例,轉(zhuǎn)換前調(diào)繪地理數(shù)據(jù)庫數(shù)據(jù)列表如圖3所示。數(shù)據(jù)庫中共有村鎮(zhèn)、道路、地下光纜標、電桿等各類地理要素15種,各類要素均有不同的地理屬性,在轉(zhuǎn)換時,需要根據(jù)工程制圖實際需要,將以上各類地理要素的地理屬性轉(zhuǎn)換為CAD注記。
圖3 轉(zhuǎn)換前地理數(shù)據(jù)數(shù)據(jù)庫列表
在轉(zhuǎn)換過程中,需要對電力線、電桿、房屋等地物進行轉(zhuǎn)換。電力線屬性表中有電力線的材質(zhì)、根數(shù)等屬性需要表現(xiàn),電桿中有高度、材質(zhì)等屬性需要表現(xiàn),房屋有材質(zhì)、高度等屬性需要體現(xiàn)。在幾何要素轉(zhuǎn)換完成后,只需要進行相應的簡單操作,即可完成地理數(shù)據(jù)庫地理實體屬性至CAD注記的轉(zhuǎn)換,轉(zhuǎn)換過程如圖4所示。
通過轉(zhuǎn)換,CAD圖中完整保留了地理數(shù)據(jù)庫中實體所需表現(xiàn)的屬性,并在CAD樣式表中實現(xiàn)了標注樣式的自動設置,較好地完成了地理數(shù)據(jù)庫至CAD地形圖的快速轉(zhuǎn)換,轉(zhuǎn)換前后對比如圖5(a)、圖5(b)所示。
圖5 轉(zhuǎn)換前后數(shù)據(jù)對比
轉(zhuǎn)換所需時間因計算機配置不同而略有差異。相較于傳統(tǒng)的人工注記整理方法,效率提升明顯。以轉(zhuǎn)換中的電桿圖層為例,計算機CPU為I5-6200,內(nèi)存為8 Gb,圖層中共有1927個要素,每個電桿要素需要注記其電桿類型及電線根數(shù)。在傳統(tǒng)的轉(zhuǎn)換過程中,首先需要根據(jù)轉(zhuǎn)換后的要素空間位置在地理數(shù)據(jù)庫中找到同要素,查閱該要素所需標記的屬性[13],在CAD中使用Text命令將該屬性文字加入到圖中,然后手動調(diào)整注記位置,以上過程至少需要5 s,而在本軟件中,只需要在圖層中勾選以上兩個字段,然后開始轉(zhuǎn)換即可,單個要素所需時間基本為毫秒級別,二者所需時間對比如表1所示??梢钥闯?,本軟件的轉(zhuǎn)換效率可達傳統(tǒng)轉(zhuǎn)換方法效率的數(shù)百倍,極大地節(jié)約了人力和時間成本。
表1 軟件轉(zhuǎn)換與傳統(tǒng)轉(zhuǎn)換耗時對比
綜上所述,該軟件操作步驟清晰明了,使用簡單,不僅能完成地理數(shù)據(jù)庫至CAD圖的簡單轉(zhuǎn)換,且能實現(xiàn)所有地理實體屬性數(shù)據(jù)(按照不同的需求)差異化地呈現(xiàn)在CAD地形圖中,并可與其它轉(zhuǎn)換方法配合使用,極大地提高了鐵路前期勘測設計中CAD地形圖的生產(chǎn)效率。