魏域君
(1.中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,陜西 西安 710043;2.軌道交通工程信息化國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710043)
GIS 數(shù)據(jù)主要指ArcGIS 軟件處理和產(chǎn)生的地理信息數(shù)據(jù),主要格式有shapefile、Raster、Geodatabase等。GIS 數(shù)據(jù)為外業(yè)測(cè)繪和內(nèi)業(yè)處理最常用的數(shù)據(jù)形式[1],主要用于測(cè)繪成果如影像地圖、數(shù)字線(xiàn)劃圖、高程模型的展示,空間分析,成果采集等。在工程勘察設(shè)計(jì)工作中,CAD 數(shù)據(jù)是最常用的數(shù)據(jù)格式,CAD 數(shù)據(jù)主要由AutoCAD 產(chǎn)生和處理,側(cè)重于幾何圖形的表達(dá)與可視化展示[2],可以極大的提高工程設(shè)計(jì)的效率[3]。因此,GIS 數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換方法具有一定的研究?jī)r(jià)值。
在工程設(shè)計(jì)工作中,GIS 數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換主要是指將shapefile 數(shù)據(jù)格式的數(shù)字線(xiàn)劃圖轉(zhuǎn)換為CAD 文件格式,常規(guī)的轉(zhuǎn)換方式是利用ArcGIS 軟件進(jìn)行轉(zhuǎn)換,這種轉(zhuǎn)換結(jié)果存在若干缺點(diǎn),比如不同圖層的點(diǎn)、線(xiàn)、面沒(méi)有獨(dú)立的顏色和形狀,注記元素存在缺失,導(dǎo)致轉(zhuǎn)換后的CAD 文件看起來(lái)比較雜亂,不利于設(shè)計(jì)工作的開(kāi)展[4]。本研究基于FME 軟件進(jìn)行GIS數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換,發(fā)現(xiàn)轉(zhuǎn)換效果相比基于A(yíng)rcGIS 軟件的轉(zhuǎn)換效果更加高效、可靠、轉(zhuǎn)換方式更容易定制。
GIS 數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換主要涉及圖形轉(zhuǎn)換與注記添加。本研究分別利用ArcGIS Pro 軟件和FME Workbench 軟件進(jìn)行轉(zhuǎn)換,并對(duì)兩種轉(zhuǎn)換方法生成的結(jié)果進(jìn)行對(duì)比。
ArcGIS Pro 軟件轉(zhuǎn)換方法如下:在A(yíng)rcGIS Pro軟件中加載需要轉(zhuǎn)換的GIS 數(shù)據(jù),右鍵點(diǎn)擊GIS 數(shù)據(jù)圖層,點(diǎn)擊【label】以顯示各個(gè)地理元素的注記,在【Geoprocessing】工具欄中選擇【Conversion Tools】,然后選擇【To CAD】->【Export To CAD】, 選擇輸入的shapefile 數(shù)據(jù),選擇轉(zhuǎn)換的CAD 數(shù)據(jù)存儲(chǔ)路徑,設(shè)置好CAD 數(shù)據(jù)格式即可完成轉(zhuǎn)換。
本研究將轉(zhuǎn)換后的CAD 數(shù)據(jù)放置到AutoCAD 軟件中進(jìn)行分析發(fā)現(xiàn),雖然ArcGIS Pro 能夠?qū)IS 數(shù)據(jù)轉(zhuǎn)換為CAD 數(shù)據(jù),但是對(duì)于地理元素的可視化不靈活,無(wú)法為不同地理元素指定專(zhuān)門(mén)的圖形符號(hào)進(jìn)行可視化,只能對(duì)不同幾何類(lèi)型(點(diǎn)、線(xiàn)、面)指定不同的圖形符號(hào)。另外,ArcGIS Pro 只能將轉(zhuǎn)換后的注記單獨(dú)放在一個(gè)圖層,無(wú)法將地理要素與對(duì)應(yīng)注記放在同一圖層,割裂了圖形元素與注記之間的聯(lián)系。
要進(jìn)行shapefile 文件到CAD文件的轉(zhuǎn)換,首先需要建立shapefile 文件的讀模塊和CAD 文件的寫(xiě)模塊,在CAD 數(shù)據(jù)中為了直觀(guān)顯示,通常每個(gè)地理元素都有特定的表示符號(hào),因此在轉(zhuǎn)換過(guò)程中需要在A(yíng)utoCAD 中制作轉(zhuǎn)換需要的符號(hào)庫(kù)模板。
符號(hào)庫(kù)模板制作后,便可在讀寫(xiě)模塊之間添加轉(zhuǎn)換器,轉(zhuǎn)換器也叫變換器,是連接讀模塊和寫(xiě)模塊的橋梁[5],可以根據(jù)轉(zhuǎn)換的需要設(shè)置對(duì)應(yīng)的轉(zhuǎn)換器,本研究使用的轉(zhuǎn)換器包括風(fēng)格轉(zhuǎn)換器、坐標(biāo)提取器、節(jié)點(diǎn)添加器和文本添加器。其中GIS 數(shù)據(jù)的圖形轉(zhuǎn)換由風(fēng)格轉(zhuǎn)換器實(shí)現(xiàn),CAD 數(shù)據(jù)中各個(gè)圖形元素的注記添加由文本添加器實(shí)現(xiàn),坐標(biāo)提取器和節(jié)點(diǎn)添加器主要是為文本添加器設(shè)置添加注記的位置?;贔ME 的轉(zhuǎn)換流程見(jiàn)圖1。
圖1 基于FME 的轉(zhuǎn)換流程
1.2.1 shape 文件讀取
FME 創(chuàng)建轉(zhuǎn)換空間后,首先需要讀取需要轉(zhuǎn)換的shapefile 文件,數(shù)據(jù)讀取操作通過(guò)配置“讀模塊”實(shí)現(xiàn)。FME 支持超過(guò)270 多種GIS 和CAD 數(shù)據(jù)格式的讀取,本研究在“讀模塊”中選擇Esri Shapefile 數(shù)據(jù)格式,坐標(biāo)系選擇讀取的shapefile 文件的坐標(biāo)系即可。
1.2.2 建立符號(hào)映射
將GIS 數(shù)據(jù)轉(zhuǎn)換為CAD 數(shù)據(jù)時(shí),需要顧及符號(hào)化的語(yǔ)義級(jí)無(wú)損轉(zhuǎn)換問(wèn)題[5],通過(guò)建立AutoCAD 符號(hào)庫(kù),建立GIS 符號(hào)與CAD 符號(hào)的映射關(guān)系,實(shí)現(xiàn)符號(hào)的轉(zhuǎn)換。因此,在利用FME 進(jìn)行轉(zhuǎn)換之前,需要準(zhǔn)備地理元素的符號(hào)庫(kù),只有在創(chuàng)建完成符號(hào)庫(kù)后,才能借助風(fēng)格轉(zhuǎn)換器將各個(gè)地理元素(也稱(chēng)為圖層)用規(guī)定的圖形符號(hào)進(jìn)行表示。符號(hào)庫(kù)模板由AutoCAD 軟件制作,由于映射是通過(guò)屬性映射表實(shí)現(xiàn),因此在符號(hào)庫(kù)制作過(guò)程中還需要指定地理要素的編碼。
為了方便符號(hào)映射,本研究在GIS 數(shù)據(jù)和CAD數(shù)據(jù)中都以《GB/T 13923-2006 基礎(chǔ)地理信息要素分類(lèi)與代碼》為標(biāo)準(zhǔn)對(duì)地理元素進(jìn)行編碼,在轉(zhuǎn)換過(guò)程中,F(xiàn)ME 將會(huì)根據(jù)編碼值進(jìn)行符號(hào)的一對(duì)一轉(zhuǎn)換。
在為地理元素設(shè)置圖形符號(hào)時(shí),需要遵守一定規(guī)范。不同類(lèi)型的要素,表示方式也不同。點(diǎn)狀要素由單個(gè)符號(hào)表示;線(xiàn)狀要素由線(xiàn)型和線(xiàn)顏色表示;面狀要素由線(xiàn)型、顏色和填充顏色表示。本研究制作的模板庫(kù)中部分地理元素的符號(hào)見(jiàn)表1。
表1 地理信息要素符號(hào)
本研究使用的符號(hào)庫(kù)模板見(jiàn)圖2。
圖2 本研究制作的符號(hào)庫(kù)模板
1.2.3 風(fēng)格轉(zhuǎn)換器
在建立符號(hào)映射關(guān)系后,可通過(guò)風(fēng)格轉(zhuǎn)換器(DWGStyler),完成GIS 數(shù)據(jù)和CAD 數(shù)據(jù)在符號(hào)系統(tǒng)上的無(wú)縫轉(zhuǎn)換,實(shí)現(xiàn)可視化效果上的無(wú)損轉(zhuǎn)換[5]。本研究將風(fēng)格轉(zhuǎn)換器的【DWG/DXF Template File】選項(xiàng)設(shè)置為轉(zhuǎn)換使用的模板文件,即1.2 中制作的符號(hào)庫(kù)模板,【Block Name】選項(xiàng)中的LAYER 即為地理元素編碼屬性值。
1.2.4 坐標(biāo)提取器
正如前文所述,坐標(biāo)提取器(CoordinateExtractor) 和節(jié)點(diǎn)添加器(VertexCreator)是設(shè)置注記添加的位置,坐標(biāo)提取器為每個(gè)圖形元素設(shè)置了唯一的空間坐標(biāo),以便后續(xù)節(jié)點(diǎn)添加器在此位置添加節(jié)點(diǎn),并將注記放置在此節(jié)點(diǎn)上。
在坐標(biāo)提取器的界面中通過(guò)設(shè)置Coordinate index 來(lái)指定提取的坐標(biāo),Coordinate index 指要提取坐標(biāo)元素的圖形節(jié)點(diǎn)索引。當(dāng)指定index 之后,提取坐標(biāo)的x、y、z 值會(huì)作為屬性添加到屬性表中。
1.2.5 節(jié)點(diǎn)提取器
節(jié)點(diǎn)添加器(VertexCreator)的作用為設(shè)置節(jié)點(diǎn),本研究在坐標(biāo)提取器提取出的坐標(biāo)處添加節(jié)點(diǎn),節(jié)點(diǎn)坐標(biāo)值設(shè)置為1.2.4 節(jié)坐標(biāo)提取器提取的x、y、z 值。
1.2.6 文本添加器
添加節(jié)點(diǎn)添加器之后,利用文本添加器在節(jié)點(diǎn)位置上添加注記,此步驟比較簡(jiǎn)單,只需要設(shè)置注記的名稱(chēng)、大小、旋轉(zhuǎn)方向即可。
1.2.7 CAD 文件寫(xiě)出
添加轉(zhuǎn)換器之后,需要將最終轉(zhuǎn)換的CAD 數(shù)據(jù)導(dǎo)出,數(shù)據(jù)寫(xiě)出操作通過(guò)配置“寫(xiě)模塊”實(shí)現(xiàn)。本研究在“寫(xiě)模塊”中選擇“Autodesk AutoCAD DWG/DXF”數(shù)據(jù)格式,對(duì)“寫(xiě)模塊”進(jìn)行參數(shù)配置,配置的參數(shù)包括坐標(biāo)系設(shè)置、AutoCAD 軟件版本、導(dǎo)出數(shù)據(jù)存儲(chǔ)路徑等。
本研究以陜西寶雞市眉縣的部分調(diào)繪成果(見(jiàn)圖3)作為試驗(yàn)數(shù)據(jù)。轉(zhuǎn)換模型根據(jù)第一節(jié)介紹的轉(zhuǎn)換方法進(jìn)行制作,制作的模型見(jiàn)圖4。本研究利用FME 將shapefile 格式的調(diào)繪成果轉(zhuǎn)為CAD 格式,并與ArcGIS 轉(zhuǎn)換的結(jié)果進(jìn)行對(duì)比分析。
圖3 轉(zhuǎn)換前的調(diào)繪成果
圖4 轉(zhuǎn)換模型
基于FME 的轉(zhuǎn)換結(jié)果見(jiàn)圖5,本研究同時(shí)利用ArcGIS 對(duì)調(diào)繪成果進(jìn)行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果見(jiàn)圖6。
雖然FME 和ArcGIS 都能實(shí)現(xiàn)GIS 數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換,但是兩種方式轉(zhuǎn)換的效果有所差別,接下來(lái)本研究將從圖形和屬性?xún)蓚€(gè)方面來(lái)對(duì)比兩種轉(zhuǎn)換方式的差別。
如1.2.3 所述,F(xiàn)ME 可以通過(guò)風(fēng)格轉(zhuǎn)換器(DWGStyler)將轉(zhuǎn)換后的地理元素用CAD 符號(hào)庫(kù)中預(yù)先定義的符號(hào)進(jìn)行表示,因此轉(zhuǎn)換結(jié)果可直接用于CAD 制圖項(xiàng)目中。而ArcGIS 只能按照要素的幾何類(lèi)型進(jìn)行符號(hào)設(shè)置,將所有的點(diǎn)要素、線(xiàn)要素和面要素分別用同一種符號(hào)來(lái)表示。如圖5 和圖6所示,內(nèi)部道路和機(jī)耕路雖然同為線(xiàn)要素,基于FME 的轉(zhuǎn)換結(jié)果中可分別用短劃線(xiàn)和長(zhǎng)劃線(xiàn)來(lái)表示,而基于A(yíng)rcGIS 的轉(zhuǎn)換結(jié)果只能都用實(shí)線(xiàn)來(lái)表示。因此,基于FME 的轉(zhuǎn)換方式在圖形轉(zhuǎn)換結(jié)果上優(yōu)于基于A(yíng)rcGIS 的轉(zhuǎn)換方式。
圖5 基于FME 的轉(zhuǎn)換成果
圖6 基于A(yíng)rcGIS 的轉(zhuǎn)換成果
FME 和ArcGIS 都可以完成GIS數(shù)據(jù)和CAD 數(shù)據(jù)的屬性轉(zhuǎn)換,并可以將特定屬性指定為CAD 數(shù)據(jù)的圖層名。然而,F(xiàn)ME 在注記轉(zhuǎn)換方面更加靈活,可以將不同要素的注記與對(duì)應(yīng)圖形要素放置在同一圖層,方便管理。而ArcGIS 只能將點(diǎn)注記(point Anno)、線(xiàn)注記(polylineAnno)和面注記(polygonAnno)分別放在同一圖層,使得轉(zhuǎn)換結(jié)果中割裂了注記與對(duì)應(yīng)圖形要素。因此,基于FME 的轉(zhuǎn)換方式在屬性轉(zhuǎn)換結(jié)果上同樣優(yōu)于基于A(yíng)rcGIS 的轉(zhuǎn)換方式。
綜上,基于FME 的轉(zhuǎn)換方式無(wú)論是在圖形轉(zhuǎn)換還是屬性轉(zhuǎn)換方面都優(yōu)于基于A(yíng)rcGIS 的轉(zhuǎn)換方式。
本研究探討了基于FME 的GIS 數(shù)據(jù)到CAD 數(shù)據(jù)轉(zhuǎn)換方法,介紹了轉(zhuǎn)換模型的構(gòu)建,轉(zhuǎn)換模型由讀模塊、風(fēng)格轉(zhuǎn)換器、坐標(biāo)提取器、文本添加器、寫(xiě)模塊等模塊組成。并與基于A(yíng)rcGIS 的轉(zhuǎn)換方法進(jìn)行對(duì)比,基于FME 的轉(zhuǎn)換方法在圖形轉(zhuǎn)換和屬性轉(zhuǎn)換方面都優(yōu)于A(yíng)rcGIS,為實(shí)現(xiàn)GIS 數(shù)據(jù)到CAD 數(shù)據(jù)的轉(zhuǎn)換提供了思路和技術(shù)支持。
致謝:論文在實(shí)驗(yàn)階段得到了相關(guān)機(jī)構(gòu)的支持和幫助,作者在此感謝加拿大Safe Software 公司提供FME 免費(fèi)試用版(30 天內(nèi)免費(fèi)),感謝美國(guó)ESRI 公司提供ArcGIS Pro 免費(fèi)試用版(21 天免費(fèi))。
注釋
1 https://www.safe.com/fme/trial/,本研究所用的FME軟件是試用版,論文實(shí)驗(yàn)在30 免費(fèi)試用期內(nèi)完成。