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