● 何春秀,何永寧
(1.廣西地圖院,廣西 南寧 530023;2.廣西自然資源信息中心,廣西 南寧 530023)
CAD 數據主要由AutoCAD 軟件產生,格式主要為*.dwg、*.dxf 等,CAD 數據作為各類工程設計、外業測繪等最常用的數據類型,側重于幾何圖形的表達和可視化展示,有制圖效率高、圖形效果美觀等優點,但是其數據文件DWG(或DXF)對幾何圖形的組織方式較為松散,不具備空間拓撲關系[1],不能直接導入ArcMap 中進行數據分析處理。因此,將CAD數據轉化成GIS 數據具有一定的實際應用價值。
傳統的數據轉換方法主要是利用GIS 平臺自帶的轉換工具進行轉換,例如ArcMap、SuperMap 等。單純利用GIS 平臺自帶的轉換工具并不能根據實際項目需要將CAD 數據轉換成GIS 數據,這是因為GIS 平臺自帶的轉換工具只能CAD 數據中的轉換點、線、面圖形數據,而且轉換后會出現點、線、面位置錯亂、圖形交叉重疊的情況,導致轉換的結果無法應用于實際生產項目。研究小組發現FME 軟件能夠更好、更快地將CAD 數據轉換成GIS 數據,能提高生產、工作效率。
在地理信息系統建設過程中,人們經常會使用到矢量數據。以Esri 制定標準的ShapeFile文件在實際過程中慢慢演變成了通用化的矢量數據格式,GIS 數據有很多種格式,文章主要是以ShapeFile 格式數據作為說明。
CAD 數據和GIS 數據在測繪地理信息行業都有著廣泛的應用,CAD 數據主要是描述了地理實體的相對位置和幾何形狀,并且不支持拓撲分析;GIS 數據記錄了地理實體的空間作為圖形數據、屬性數據,它與CAD 數據最大的區別就是可支持拓撲分析。
此外,CAD 數據和GIS 數據在地圖上的表現形式也有著較大的區別,主要體現在坐標系統、圖形組織方式、功能應用等(見表1)。

表1 CAD 數據和GIS 數據差異對比表
數據轉換主要涉及到圖形轉換和屬性轉換,按照一定的規則將CAD 數據內的圖形坐標系統、圖形關系、拓展屬性轉換到GIS 數據中。研究小組分別使用了FME 軟件、ArcMap 軟件自帶的轉換工具進行轉換,并將2 種轉換的方法和結果進行了對比分析。
轉換方法如下:打開ArcMap,在【ArcTool-Box】中找到【轉換工具】,在該工具選擇【轉出至地理數據庫】,然后選擇【CAD 至地理數據庫】,選擇輸入的CAD 數據,選擇存儲的地理數據庫,設置好坐標系統即可完成轉換。
研究小組將轉換后的Shapefile 數據放置到ArcMap 軟件進行分析發現,雖然ArcMap 軟件自帶的轉換工具能夠將CAD 數據轉為GIS 數據,但是導致了原有的CAD 數據的屬性信息、空間位置信息丟失,點、線、面各圖層之間相互交錯,數據的拓撲信息出現錯誤,無法在地圖制圖生產項目中直接使用。
FME 轉換數據的關鍵技術在于“讀模塊”、“寫模塊”以及多種轉換器的配置。在配置“讀模塊”時選取需要轉換的CAD 數據文件,在配置“寫模塊”時,設置所需的數據格式。FME 軟件可以根據項目要求轉換多種數據格式。由于轉換器涉及到轉換圖層的屬性關聯、圖層與圖層之間的關聯等,因此轉換器的配置很大程度上決定了轉換結果。FME 軟件中的各種轉換器能夠最大程度地優化轉換結果。
研究小組根據實際的地圖制圖項目需要,獲取并分析了CAD 數據內容,指定了數據轉換的技術路線(見圖1)。

圖1 數據轉換的技術路線圖
2.2.1 “讀模塊”配置
在創建生成一個新的工作空間時,需要配置“讀模塊”,該模塊是轉換數據的第一步。FME 支持數十種不同格式的數據,研究小組選擇的是AutoCAD 格式。
2.2.2 “寫模塊”配置
“寫模塊”是最終要轉換的格式,Shapefile格式是GIS 數據其中的一種格式,因此研究小組在“寫模塊”配置了esrishapefile 格式。
2.2.3 轉換器配置
FME 轉換器也叫變換器,是用來重構要素的FME Workbench 對象,FME 軟件包含有300 多種不同的轉換器[2],轉換器是介于“讀模塊”和“寫模塊”中間的“橋梁”,可以根據不同需要設置轉換器。研究小組本次主要使用到 了GeometryFilter 和StringCaseChanger 這2種轉換器。
配置GeometryFilter 轉換器是為了將CAD圖形數據和屬性數據轉換到Shapefile 中,通過豐富的可視化線條,將CAD 的拓展屬性和目標Shapefile 的屬性連接起來。完成“讀模塊”、轉換器和“寫模塊”的配置后再設置不同的屬性項以及坐標系等,提取需要轉換的屬性,最后設置相應的屬性類型(見表2)。

表2 屬性字段映射表
映射的字段中有時會同時出現大寫的英文字母以及小寫的英文字母。研究小組在處理相關屬性字段映射時,為了能夠獲得更好的轉換結果,避免轉換后的二次重復修改,使用了StringCaseChanger 轉換器對原有的CAD 數據中的拓展屬性進行配置,以滿足實際項目生產標準的需求。
在所有的參數都配置完成后,點擊“工具條”中的“運行轉換”,即可轉換數據,最后在FME 軟件底部的“狀態欄”面板上顯示詳細的轉換日志輸出。
2.2.4 數據審查
數據審查也屬于轉換的關鍵步驟,在使用FME 軟件對CAD 數據進行轉換之后,需要對轉換后的GIS 數據進行審查。數據審查可進一步分析和檢查GIS 數據屬性、圖層、圖形拓撲關系的正確性和完整性。數據審查的方法主要有拓撲分析檢查、屬性對照檢查等。
拓撲分析檢查方法是利用ArcMap 自帶的拓撲檢查工具,對轉換結果中的GIS 數據重新建立拓撲分析,并根據項目需要添加對應的拓撲規則,例如“不能重疊”、“不能有偽節點”、“不能有懸掛點”等。之后,即可對GIS 數據進行拓撲檢查,最后根據檢查的結果進一步修改GIS 數據。
屬性對照檢查即操作者需要對比轉換后的GIS 數據中的屬性與CAD 數據的拓展屬性,并根據原CAD 數據的拓展屬性重新修改、添加GIS 數據遺漏的屬性信息。如果轉換后的GIS數據屬性不完整,則需要再次設置FME 軟件中的轉換器,重新轉換數據。
研究小組對比發現,ArcMap 軟件在轉換結果的圖面效果、空間拓撲關系上都表現不足,存在明顯的錯誤,例如數據重疊、類型錯誤等,并且無法支持字段屬性的轉換。FME 軟件能夠有效地處理數據類型、屬性格式,轉換正確的拓撲關系,轉換結果優于ArcMap。
ArcMap 軟件和FME 軟件都能將CAD 數據轉換為GIS 數據,但是由于工具的轉換原理不同,導致最后的結果也相差較大。常見的ArcMap 轉換工具可配置的屬性較少,主要按照軟件默認的轉換參數來轉換,無法準確、高效地轉換CAD 數據的注記層、點圖層、線圖層、面圖層等,也不能將屬性信息映射到GIS空間屬性中,致使圖形轉換結果無法應用于實際的地圖制圖生產項目。
研究小組發現,FME 軟件能夠配置CAD數據原有的每一層數據屬性,利用自帶的轉換器(例如StringCaseChanger、GeometryFilter 等)將CAD 數據原有的拓展屬性重新賦值到新的GIS 數據屬性上,設置不同的圖層轉換結果。利用FME 軟件轉換得到的圖形效果明顯優于利用ArcMap 轉換工具轉換得到的圖形效果(見圖2)。

圖2 2種轉換工具的轉換結果對比圖
屬性轉換是FME 的關鍵技術點,通過設置連接器,能夠將原本賦值在CAD 數據拓展屬性中的值映射到GIS 數據屬性中,并且能夠在要素類型設置框中根據使用者的需求添加字段內容,并將新添加的字段和拓展屬性進行關聯。FME 軟件能夠較完整地復制圖形結果的拓展屬性信息,而ArcMap 的轉換工具無法對拓展屬性進行轉換(見圖3)。

圖3 2種轉換結果的屬性對比圖
拓撲關系是指滿足拓撲幾何學原理的各空間數據間的相互關系,即用結點、弧段和多邊形所表示的實體之間的鄰接、關聯、包含和連通關系。例如,點與點的鄰接關系、點與面的包含關系、線與面的相離關系、面與面的重合關系等。
研究小組對2 種數據結果進行拓撲檢查發現,ArcMap 轉換的結果拓撲錯誤較多,沒有形成拓撲關系,并且出現數據重疊的現象,而FME 軟件能夠根據實際需要轉換CAD 數據,圖形數據轉換結果也較為完整,轉換的結果均通過了重點、重合線、重面等多種拓撲關系檢查。
研究小組基于FME 軟件將CAD 數據轉換為Shapefile 格式的數據,并通過配置“讀模塊”、“寫模塊”以及轉換器,將CAD 數據中的圖形以及拓展屬性信息轉換到Shapefile 格式的數據中。轉換后的圖形外形完整,拓撲關系錯誤少,并能夠支持CAD 數據的拓展屬性和GIS 數據屬性的映射關聯。此方法能完整地保留CAD 數據原有的屬性信息,為今后制圖生產項目前期數據的整理分析工作提供了解決方案。