魏世軒
(1.重慶市勘測院,重慶 401121; 2.重慶市地理國情監測工程技術研究中心,重慶 401121)
ArcGIS制圖表達的圖庫一體化數據到AutoCAD制圖數據的全要素轉換研究
魏世軒1,2*
(1.重慶市勘測院,重慶 401121; 2.重慶市地理國情監測工程技術研究中心,重慶 401121)
通過研究ArcGIS制圖表達原理及AutoCAD數據交換格式DXF文件的結構,設計了一套AutoCAD的符號線型庫,研發了數據轉換系統,實現了基于ArcGIS制圖表達的 1∶2 000圖庫一體化數據到AutoCAD制圖數據的全要素轉換。
地形圖;圖庫一體化;制圖表達;數據轉換
圖庫一體化是信息化測繪的要求,更是測繪技術的發展趨勢。基于ArcGIS制圖表達的圖庫一體化可有效解決傳統測繪數據中制圖數據與GIS建庫數據為兩套數據的矛盾,實現制圖和建庫數據一體化管理。在項目施工建設中,大部分用戶習慣于使用CAD格式的測繪數據,雖然ArcGIS集成了CAD數據轉換功能,但是轉換后的CAD數據只有空間位置信息,丟失了ArcGIS制圖數據原有的符號、線型、顏色等信息,轉換后的數據不滿足制圖數據要求(轉換結果如圖1所示),存在使用困難的問題[1]。
目前已有的ArcGIS制圖表達數據到CAD制圖數據的轉換研究中,大部分只是實現了小比例尺數據(1∶5 000,1∶10 000)的轉換,涉及轉換要素更多、更復雜的 1∶2 000大比例尺數據的研究卻很少。本文將闡述如何實現基于ArcGIS制圖表達的 1∶2 000制圖數據到AutoCAD制圖數據的全要素轉換,如圖1所示。

圖1 ArcGIS(左)直接轉AutoCAD(右)數據
ArcGIS提供了一套靈活的制圖表達機制,可以靈活地使用基于規則的結構對數據進行符號化,這些結構與數據一同存儲在地理數據庫中。制圖表達是根據制圖規則Rules和覆蓋Overrides來實現地形圖的符號化。其表達規則由標記、線、填充及幾何效果、標記布局樣式組合而成。制圖表達中的自由表達允許對個別要素的外觀進行單獨的制圖編輯,而不影響要素的建庫幾何,也不會影響同類要素的表達[2]。
對于地形圖中符號化的點狀要素,可以通過在點位上插入對應標記的方式,實現點狀要素的繪制,比如電桿、不依比例尺船閘、不依比例尺通信塔等。
對于地形圖中符號化的線狀要素,可以利用ArcGIS已有的制圖效果偏移、平滑、虛線等,幫助實現符號表達效果定制。比如可以為線圖層添加虛線制圖表達效果,并指定黑線與空白的長度,實現小路的制圖效果。
對于地形圖中符號化的面狀要素,可以利用AcrGIS已有的表達規則及幾何效果組合表達。比如水面可以通過添加制圖表達規則中的線及面層,然后設置線層的寬度、顏色,面層的填充顏色,組合表達出水面的制圖效果;再如水田面,可以設置標記的布局樣式為“在面內部”,然后設置相應的X步長、Y步長、平移奇數行等參數來表達出水田面。
但是ArcGIS已有的制圖表達仍無法實現地形圖中某些特殊要素的制圖效果,比如依比例尺的陡坎、依比例尺的臺階、棚房等,需要基于ArcObjects研發ArcGIS制圖表達擴展鏈接庫,如圖2所示。

圖2 ArcGIS制圖表達設置
DXF是Autodesk公司開發的用于AutoCAD與其他軟件之間進行CAD數據交換的CAD數據文件格式。DXF文件是由很多的“代碼”和“值”組成的“數據對”構造而成,這里的代碼稱為“組碼”(group code),指定其后的值的類型和用途。每個組碼和值必須為單獨的一行的。DXF文件被組織成為多個“段”(section),每個段以組碼“0”和字符串“SECTION”開頭,緊接著是組碼“2”和表示段名的字符串(如HEADER)。段的中間,可以使用組碼和值定義段中的元素。段的結尾使用組碼“0”和字符串“ENDSEC”來定義[3~6]。
DXF文件的結構如圖3所示:

圖3 DXF文件結構
4.1 點符號制作
以塊的形式來表示1∶2 000地形圖中的點要素,并根據地形圖圖示設置塊符號的大小、顏色、基點等屬性。可以將每個符號存儲為一個CAD文件,也可以將所有的符號都存儲在同一個CAD文件中,在需要插入符號時再讀取相應的CAD文件中對應的塊符號,如圖4所示。

圖4 點符號
4.2 線型制作
AutoCAD中的線型是以線型文件(也稱為線型庫)的形式保存的,其類型是以“.lin”為擴展名的ASCII文件。復雜線型可以包含嵌入的形(保存在形文件中)。復雜線型可以表示實用程序、邊界和輪廓等等。與簡單線型一樣,指定端點后可以動態地繪制復雜線型。
以下線型定義了名為CON1LINE的線型,此線型由直線段、空移和嵌入的形CON1的重+復圖案構成。其中,CON1來自ep.shx文件。(請注意,必須將ep.shx文件放在支持路徑中才能使以下樣例正常運行。)
*CON1LINE,---[CON1]---[CON1]---[CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0
下面的語法把形定義為復雜線型的一部分:
[shapename,shapefilename,scale,rotate,xoffset,yoffset]

圖5 線型庫
5.1 數據轉換流程
本文研究以1∶2 000比例尺地形圖為例,闡述 1∶2 000地形圖的ArcGIS圖庫一體數據到AutoCAD制圖數據轉換的實現方法。首先制作覆蓋全部 1∶2 000地形圖要素的ArcGIS制圖數據到AutoCAD制圖數據的轉換對照表,明確數據轉換關系,對于較復雜的要素制定組合生成方法[7],如圖6所示。
圖6 轉換對照表
數據轉換的流程為:根據圖層的壓蓋關系,確定圖層的轉換順序,再根據圖層的幾何類型及轉換對照表確定對應的轉換方法,寫入DXF文件中相應的TABLES、BLOCKS和ENTITIES數據段內,實現基于ArcGIS的制圖數據到AutoCAD制圖數據的轉換,如圖7所示。

圖7 數據轉換流程圖
5.2 點要素轉換
對與圖庫一體化數據中的點要素可根據轉換對照表,在已制作的AutoCAD符號庫中找到對應的符號塊進行轉換表示。
5.3 線要素轉換
根據線要素在AutoCAD是否有對應線型,轉換方法分為有線型和無線型兩種情況。有線型的要素可從線型庫中獲取對應線型直接轉換,并根據轉換對照表設置線型的顏色、線寬等信息。無線型的要素需要根據要素的特點對其進行拆分,再組合生成對應的AutoCAD制圖表達效果。
5.4 面要素轉換
面要素的轉換比點要素、線要素要較為復雜,地形圖中的面要素在AutoCAD中有對應的填充圖案的極少,大部分面狀要素的轉換都需要根據實際的制圖表達效果確定。簡單的面狀要素,比如坑塘,可以直接對應于AutoCAD數據中的實心填充,再組合對應線性的坑塘邊線。但是,對于較復雜的面狀要素,就需要根據各類要素在ArcGIS制圖表達里的相關參數、制圖效果,制定對應的轉AutoCAD制圖數據的方法。面要素的轉換方式較多,這里只列舉植被面和斜坡面進行闡述。
(1)植被面要素轉換
以VEGA層中的面狀要素旱地為例,其在ArcGIS里的制圖效果為填充了旱地符號的面要素。要實現轉換后的AutoCAD制圖數據與ArcGIS的制圖效果一致,就要獲得此面狀要素中每個旱地符號的坐標。如果要素沒有轉換為自由表達,每個符號的坐標不能直接獲得,需根據設置的坐標系、參考比例尺、填充方式、X步長、Y步長等參數進行解析,計算得到每個符號的坐標,再插入相應的符號塊轉換為AutoCAD制圖數據。另外還要從AcrGIS制圖表達的標記信息中讀取出旱地符號的大小信息,根據實際設置剔除出符號基點在面范圍內,但符號卻未完全位于面內的情況,如圖8所示。

圖8 植被面轉換效果圖
(2)斜坡面要素轉換
對于斜坡面,要實現轉換為AutoCAD制圖數據就較為復雜。首先需要根據其制圖表達模式、點的屬性,解析出斜坡的上坡線、下坡線、分段點。斜坡面要素制圖效果中的長線從上坡線一直延伸到下坡線,在轉換時按制圖表達的長線間隔求出上坡線和下坡線上各個長線的點位,如果斜坡面設置了分段點,需要對上下坡線分段計算出各段內長線的端點位置,然后將每個成對的點連接就生成了斜坡面的長線部分。對于短線部分,如果斜坡面是加固斜坡面,可將短線部分制作為一個符號塊,然后在每兩兩的長線中間插入短線塊,其傾斜角度與長線一致。如果斜坡面是未加固的,其短線部分就只是一個簡單的線段,可直接在每兩兩長線中間創建短線線段,角度與長線一致。最后將上坡線、下坡線、短線、長線等存儲為一個組寫入DXF文件中,即實現了斜坡面從ArcGIS制圖數據到AutoCAD制圖數據的轉換,如圖9所示。

圖9 斜坡面轉換效果圖
筆者以一幅丘陵地區的1∶2 000圖庫一體化數據進行轉換實驗,此圖庫一體化數據涵蓋點、線、面、注記要素層,轉換耗時為 15 s左右,轉換得到的AutoCAD制圖數據的空間位置與圖庫一體化數據一致,且具有符號、線型、顏色等信息,如圖10所示。

圖10 轉換成果(左邊為ArcGIS,右邊為AutoCAD)
近年來國家對基礎測繪數據的要求在由制圖轉向入庫,基礎測繪圖庫一體化是信息化測繪的要求,更是測繪技術的發展趨勢。通過運用本文的研究成果,可實現基于ArcGIS制圖表達的 1∶2 000圖庫一體化數據到AutoCAD制圖數據的全要素轉換,轉換得到的DXF格式的制圖數據在空間信息及制圖效果上與原有ArcGIS制圖數據一致,既具有準確的空間位置精度,又具有相應的符號、線型、顏色等信息,將有效拓寬圖庫一體化數據的使用范圍,保障測繪成果有效的服務于社會。
[1] 周曉芹,王偉樺,甘榮成. ArcGIS數據到CAD數據的轉換與符號化研究[J]. 測繪,2014(1):40~43.
[2] 張燕. 基于ArcGIS Representation的地形圖制圖表達庫研究[J]. 城市勘測,2015(5):71~74.
[3] 范占永,蔡東健,管發海等. DWG與SHP數據中空間圖元轉換技術的分析與應用研究[J]. 水利與建筑工程學報,2016(2):193~197.
[4] 謝江平,鄒自力. CAD矢量數據向ArcGIS轉換的方法[J]. 地理空間信息,2010(4) :130~133.
[5] 李瑞霞,楊敏,鄧喀中. 基于FME的GIS到CAD數據“無損”轉換[J]. 測繪通報,2009(5):55~59.
[6] 孟妮娜,周校東. GIS空間數據轉換為DXF格式的方法研究[J]. 測繪科學,2007(2):105~107.
[7] 劉衛國,張弛月. 規則庫支持下的CAD數據到GIS數據自動轉換方法探討[J]. 科技創新導報,2009(9):252~253.
Full-feature Transformation of Cartographic Integration Data Based on ArcGIS Representation to AutoCAD Cartographic Data
Wei Shixuan1,2
(1.Chongqing Survey Institute,Chongqing 401121,China;2.Chongqing Engineering Research Center of Geographic National Condition Monitoring,Chongqing 401121,China)
In this paper,by studying the representation principle of ArcGIS and the structure of DXF file which is the data exchange format of AutoCAD,the author designs a set of AutoCAD symbolic and linetype library,and developed the data conversion system,which realizes the full-feature of cartographic integration data in 2000 scale based on ArcGIS representation transform to AutoCAD cartographic data.
topographic map;cartographic integration data;representation;data transform
1672-8262(2017)04-21-05
P208.1
A
2017—01—09
魏世軒(1988—),男,工程師,主要從事遙感應用及地理信息系統研發等技術工作。
住房和城鄉建設部科研項目(2015-K8-009)