魏域君
(1.中鐵第一勘察設計院集團有限公司,陜西 西安 710043;2.軌道交通工程信息化國家重點實驗室,陜西 西安 710043)
GIS 數據主要指ArcGIS 軟件處理和產生的地理信息數據,主要格式有shapefile、Raster、Geodatabase等。GIS 數據為外業測繪和內業處理最常用的數據形式[1],主要用于測繪成果如影像地圖、數字線劃圖、高程模型的展示,空間分析,成果采集等。在工程勘察設計工作中,CAD 數據是最常用的數據格式,CAD 數據主要由AutoCAD 產生和處理,側重于幾何圖形的表達與可視化展示[2],可以極大的提高工程設計的效率[3]。因此,GIS 數據到CAD 數據的轉換方法具有一定的研究價值。
在工程設計工作中,GIS 數據到CAD 數據的轉換主要是指將shapefile 數據格式的數字線劃圖轉換為CAD 文件格式,常規的轉換方式是利用ArcGIS 軟件進行轉換,這種轉換結果存在若干缺點,比如不同圖層的點、線、面沒有獨立的顏色和形狀,注記元素存在缺失,導致轉換后的CAD 文件看起來比較雜亂,不利于設計工作的開展[4]。本研究基于FME 軟件進行GIS數據到CAD 數據的轉換,發現轉換效果相比基于ArcGIS 軟件的轉換效果更加高效、可靠、轉換方式更容易定制。
GIS 數據到CAD 數據的轉換主要涉及圖形轉換與注記添加。本研究分別利用ArcGIS Pro 軟件和FME Workbench 軟件進行轉換,并對兩種轉換方法生成的結果進行對比。
ArcGIS Pro 軟件轉換方法如下:在ArcGIS Pro軟件中加載需要轉換的GIS 數據,右鍵點擊GIS 數據圖層,點擊【label】以顯示各個地理元素的注記,在【Geoprocessing】工具欄中選擇【Conversion Tools】,然后選擇【To CAD】->【Export To CAD】, 選擇輸入的shapefile 數據,選擇轉換的CAD 數據存儲路徑,設置好CAD 數據格式即可完成轉換。
本研究將轉換后的CAD 數據放置到AutoCAD 軟件中進行分析發現,雖然ArcGIS Pro 能夠將GIS 數據轉換為CAD 數據,但是對于地理元素的可視化不靈活,無法為不同地理元素指定專門的圖形符號進行可視化,只能對不同幾何類型(點、線、面)指定不同的圖形符號。另外,ArcGIS Pro 只能將轉換后的注記單獨放在一個圖層,無法將地理要素與對應注記放在同一圖層,割裂了圖形元素與注記之間的聯系。
要進行shapefile 文件到CAD文件的轉換,首先需要建立shapefile 文件的讀模塊和CAD 文件的寫模塊,在CAD 數據中為了直觀顯示,通常每個地理元素都有特定的表示符號,因此在轉換過程中需要在AutoCAD 中制作轉換需要的符號庫模板。
符號庫模板制作后,便可在讀寫模塊之間添加轉換器,轉換器也叫變換器,是連接讀模塊和寫模塊的橋梁[5],可以根據轉換的需要設置對應的轉換器,本研究使用的轉換器包括風格轉換器、坐標提取器、節點添加器和文本添加器。其中GIS 數據的圖形轉換由風格轉換器實現,CAD 數據中各個圖形元素的注記添加由文本添加器實現,坐標提取器和節點添加器主要是為文本添加器設置添加注記的位置。基于FME 的轉換流程見圖1。

圖1 基于FME 的轉換流程
1.2.1 shape 文件讀取
FME 創建轉換空間后,首先需要讀取需要轉換的shapefile 文件,數據讀取操作通過配置“讀模塊”實現。FME 支持超過270 多種GIS 和CAD 數據格式的讀取,本研究在“讀模塊”中選擇Esri Shapefile 數據格式,坐標系選擇讀取的shapefile 文件的坐標系即可。
1.2.2 建立符號映射
將GIS 數據轉換為CAD 數據時,需要顧及符號化的語義級無損轉換問題[5],通過建立AutoCAD 符號庫,建立GIS 符號與CAD 符號的映射關系,實現符號的轉換。因此,在利用FME 進行轉換之前,需要準備地理元素的符號庫,只有在創建完成符號庫后,才能借助風格轉換器將各個地理元素(也稱為圖層)用規定的圖形符號進行表示。符號庫模板由AutoCAD 軟件制作,由于映射是通過屬性映射表實現,因此在符號庫制作過程中還需要指定地理要素的編碼。
為了方便符號映射,本研究在GIS 數據和CAD數據中都以《GB/T 13923-2006 基礎地理信息要素分類與代碼》為標準對地理元素進行編碼,在轉換過程中,FME 將會根據編碼值進行符號的一對一轉換。
在為地理元素設置圖形符號時,需要遵守一定規范。不同類型的要素,表示方式也不同。點狀要素由單個符號表示;線狀要素由線型和線顏色表示;面狀要素由線型、顏色和填充顏色表示。本研究制作的模板庫中部分地理元素的符號見表1。

表1 地理信息要素符號
本研究使用的符號庫模板見圖2。

圖2 本研究制作的符號庫模板
1.2.3 風格轉換器
在建立符號映射關系后,可通過風格轉換器(DWGStyler),完成GIS 數據和CAD 數據在符號系統上的無縫轉換,實現可視化效果上的無損轉換[5]。本研究將風格轉換器的【DWG/DXF Template File】選項設置為轉換使用的模板文件,即1.2 中制作的符號庫模板,【Block Name】選項中的LAYER 即為地理元素編碼屬性值。
1.2.4 坐標提取器
正如前文所述,坐標提取器(CoordinateExtractor) 和節點添加器(VertexCreator)是設置注記添加的位置,坐標提取器為每個圖形元素設置了唯一的空間坐標,以便后續節點添加器在此位置添加節點,并將注記放置在此節點上。
在坐標提取器的界面中通過設置Coordinate index 來指定提取的坐標,Coordinate index 指要提取坐標元素的圖形節點索引。當指定index 之后,提取坐標的x、y、z 值會作為屬性添加到屬性表中。
1.2.5 節點提取器
節點添加器(VertexCreator)的作用為設置節點,本研究在坐標提取器提取出的坐標處添加節點,節點坐標值設置為1.2.4 節坐標提取器提取的x、y、z 值。
1.2.6 文本添加器
添加節點添加器之后,利用文本添加器在節點位置上添加注記,此步驟比較簡單,只需要設置注記的名稱、大小、旋轉方向即可。
1.2.7 CAD 文件寫出
添加轉換器之后,需要將最終轉換的CAD 數據導出,數據寫出操作通過配置“寫模塊”實現。本研究在“寫模塊”中選擇“Autodesk AutoCAD DWG/DXF”數據格式,對“寫模塊”進行參數配置,配置的參數包括坐標系設置、AutoCAD 軟件版本、導出數據存儲路徑等。
本研究以陜西寶雞市眉縣的部分調繪成果(見圖3)作為試驗數據。轉換模型根據第一節介紹的轉換方法進行制作,制作的模型見圖4。本研究利用FME 將shapefile 格式的調繪成果轉為CAD 格式,并與ArcGIS 轉換的結果進行對比分析。

圖3 轉換前的調繪成果

圖4 轉換模型
基于FME 的轉換結果見圖5,本研究同時利用ArcGIS 對調繪成果進行數據轉換,轉換結果見圖6。
雖然FME 和ArcGIS 都能實現GIS 數據到CAD 數據的轉換,但是兩種方式轉換的效果有所差別,接下來本研究將從圖形和屬性兩個方面來對比兩種轉換方式的差別。
如1.2.3 所述,FME 可以通過風格轉換器(DWGStyler)將轉換后的地理元素用CAD 符號庫中預先定義的符號進行表示,因此轉換結果可直接用于CAD 制圖項目中。而ArcGIS 只能按照要素的幾何類型進行符號設置,將所有的點要素、線要素和面要素分別用同一種符號來表示。如圖5 和圖6所示,內部道路和機耕路雖然同為線要素,基于FME 的轉換結果中可分別用短劃線和長劃線來表示,而基于ArcGIS 的轉換結果只能都用實線來表示。因此,基于FME 的轉換方式在圖形轉換結果上優于基于ArcGIS 的轉換方式。

圖5 基于FME 的轉換成果

圖6 基于ArcGIS 的轉換成果
FME 和ArcGIS 都可以完成GIS數據和CAD 數據的屬性轉換,并可以將特定屬性指定為CAD 數據的圖層名。然而,FME 在注記轉換方面更加靈活,可以將不同要素的注記與對應圖形要素放置在同一圖層,方便管理。而ArcGIS 只能將點注記(point Anno)、線注記(polylineAnno)和面注記(polygonAnno)分別放在同一圖層,使得轉換結果中割裂了注記與對應圖形要素。因此,基于FME 的轉換方式在屬性轉換結果上同樣優于基于ArcGIS 的轉換方式。
綜上,基于FME 的轉換方式無論是在圖形轉換還是屬性轉換方面都優于基于ArcGIS 的轉換方式。
本研究探討了基于FME 的GIS 數據到CAD 數據轉換方法,介紹了轉換模型的構建,轉換模型由讀模塊、風格轉換器、坐標提取器、文本添加器、寫模塊等模塊組成。并與基于ArcGIS 的轉換方法進行對比,基于FME 的轉換方法在圖形轉換和屬性轉換方面都優于ArcGIS,為實現GIS 數據到CAD 數據的轉換提供了思路和技術支持。
致謝:論文在實驗階段得到了相關機構的支持和幫助,作者在此感謝加拿大Safe Software 公司提供FME 免費試用版(30 天內免費),感謝美國ESRI 公司提供ArcGIS Pro 免費試用版(21 天免費)。
注釋
1 https://www.safe.com/fme/trial/,本研究所用的FME軟件是試用版,論文實驗在30 免費試用期內完成。