魏世軒
(1.重慶市勘測(cè)院,重慶 401121; 2.重慶市地理國(guó)情監(jiān)測(cè)工程技術(shù)研究中心,重慶 401121)
ArcGIS制圖表達(dá)的圖庫(kù)一體化數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的全要素轉(zhuǎn)換研究
魏世軒1,2*
(1.重慶市勘測(cè)院,重慶 401121; 2.重慶市地理國(guó)情監(jiān)測(cè)工程技術(shù)研究中心,重慶 401121)
通過研究ArcGIS制圖表達(dá)原理及AutoCAD數(shù)據(jù)交換格式DXF文件的結(jié)構(gòu),設(shè)計(jì)了一套AutoCAD的符號(hào)線型庫(kù),研發(fā)了數(shù)據(jù)轉(zhuǎn)換系統(tǒng),實(shí)現(xiàn)了基于ArcGIS制圖表達(dá)的 1∶2 000圖庫(kù)一體化數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的全要素轉(zhuǎn)換。
地形圖;圖庫(kù)一體化;制圖表達(dá);數(shù)據(jù)轉(zhuǎn)換
圖庫(kù)一體化是信息化測(cè)繪的要求,更是測(cè)繪技術(shù)的發(fā)展趨勢(shì)。基于ArcGIS制圖表達(dá)的圖庫(kù)一體化可有效解決傳統(tǒng)測(cè)繪數(shù)據(jù)中制圖數(shù)據(jù)與GIS建庫(kù)數(shù)據(jù)為兩套數(shù)據(jù)的矛盾,實(shí)現(xiàn)制圖和建庫(kù)數(shù)據(jù)一體化管理。在項(xiàng)目施工建設(shè)中,大部分用戶習(xí)慣于使用CAD格式的測(cè)繪數(shù)據(jù),雖然ArcGIS集成了CAD數(shù)據(jù)轉(zhuǎn)換功能,但是轉(zhuǎn)換后的CAD數(shù)據(jù)只有空間位置信息,丟失了ArcGIS制圖數(shù)據(jù)原有的符號(hào)、線型、顏色等信息,轉(zhuǎn)換后的數(shù)據(jù)不滿足制圖數(shù)據(jù)要求(轉(zhuǎn)換結(jié)果如圖1所示),存在使用困難的問題[1]。
目前已有的ArcGIS制圖表達(dá)數(shù)據(jù)到CAD制圖數(shù)據(jù)的轉(zhuǎn)換研究中,大部分只是實(shí)現(xiàn)了小比例尺數(shù)據(jù)(1∶5 000,1∶10 000)的轉(zhuǎn)換,涉及轉(zhuǎn)換要素更多、更復(fù)雜的 1∶2 000大比例尺數(shù)據(jù)的研究卻很少。本文將闡述如何實(shí)現(xiàn)基于ArcGIS制圖表達(dá)的 1∶2 000制圖數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的全要素轉(zhuǎn)換,如圖1所示。
圖1 ArcGIS(左)直接轉(zhuǎn)AutoCAD(右)數(shù)據(jù)
ArcGIS提供了一套靈活的制圖表達(dá)機(jī)制,可以靈活地使用基于規(guī)則的結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行符號(hào)化,這些結(jié)構(gòu)與數(shù)據(jù)一同存儲(chǔ)在地理數(shù)據(jù)庫(kù)中。制圖表達(dá)是根據(jù)制圖規(guī)則Rules和覆蓋Overrides來(lái)實(shí)現(xiàn)地形圖的符號(hào)化。其表達(dá)規(guī)則由標(biāo)記、線、填充及幾何效果、標(biāo)記布局樣式組合而成。制圖表達(dá)中的自由表達(dá)允許對(duì)個(gè)別要素的外觀進(jìn)行單獨(dú)的制圖編輯,而不影響要素的建庫(kù)幾何,也不會(huì)影響同類要素的表達(dá)[2]。
對(duì)于地形圖中符號(hào)化的點(diǎn)狀要素,可以通過在點(diǎn)位上插入對(duì)應(yīng)標(biāo)記的方式,實(shí)現(xiàn)點(diǎn)狀要素的繪制,比如電桿、不依比例尺船閘、不依比例尺通信塔等。
對(duì)于地形圖中符號(hào)化的線狀要素,可以利用ArcGIS已有的制圖效果偏移、平滑、虛線等,幫助實(shí)現(xiàn)符號(hào)表達(dá)效果定制。比如可以為線圖層添加虛線制圖表達(dá)效果,并指定黑線與空白的長(zhǎng)度,實(shí)現(xiàn)小路的制圖效果。
對(duì)于地形圖中符號(hào)化的面狀要素,可以利用AcrGIS已有的表達(dá)規(guī)則及幾何效果組合表達(dá)。比如水面可以通過添加制圖表達(dá)規(guī)則中的線及面層,然后設(shè)置線層的寬度、顏色,面層的填充顏色,組合表達(dá)出水面的制圖效果;再如水田面,可以設(shè)置標(biāo)記的布局樣式為“在面內(nèi)部”,然后設(shè)置相應(yīng)的X步長(zhǎng)、Y步長(zhǎng)、平移奇數(shù)行等參數(shù)來(lái)表達(dá)出水田面。
但是ArcGIS已有的制圖表達(dá)仍無(wú)法實(shí)現(xiàn)地形圖中某些特殊要素的制圖效果,比如依比例尺的陡坎、依比例尺的臺(tái)階、棚房等,需要基于ArcObjects研發(fā)ArcGIS制圖表達(dá)擴(kuò)展鏈接庫(kù),如圖2所示。
圖2 ArcGIS制圖表達(dá)設(shè)置
DXF是Autodesk公司開發(fā)的用于AutoCAD與其他軟件之間進(jìn)行CAD數(shù)據(jù)交換的CAD數(shù)據(jù)文件格式。DXF文件是由很多的“代碼”和“值”組成的“數(shù)據(jù)對(duì)”構(gòu)造而成,這里的代碼稱為“組碼”(group code),指定其后的值的類型和用途。每個(gè)組碼和值必須為單獨(dú)的一行的。DXF文件被組織成為多個(gè)“段”(section),每個(gè)段以組碼“0”和字符串“SECTION”開頭,緊接著是組碼“2”和表示段名的字符串(如HEADER)。段的中間,可以使用組碼和值定義段中的元素。段的結(jié)尾使用組碼“0”和字符串“ENDSEC”來(lái)定義[3~6]。
DXF文件的結(jié)構(gòu)如圖3所示:
圖3 DXF文件結(jié)構(gòu)
4.1 點(diǎn)符號(hào)制作
以塊的形式來(lái)表示1∶2 000地形圖中的點(diǎn)要素,并根據(jù)地形圖圖示設(shè)置塊符號(hào)的大小、顏色、基點(diǎn)等屬性??梢詫⒚總€(gè)符號(hào)存儲(chǔ)為一個(gè)CAD文件,也可以將所有的符號(hào)都存儲(chǔ)在同一個(gè)CAD文件中,在需要插入符號(hào)時(shí)再讀取相應(yīng)的CAD文件中對(duì)應(yīng)的塊符號(hào),如圖4所示。
圖4 點(diǎn)符號(hào)
4.2 線型制作
AutoCAD中的線型是以線型文件(也稱為線型庫(kù))的形式保存的,其類型是以“.lin”為擴(kuò)展名的ASCII文件。復(fù)雜線型可以包含嵌入的形(保存在形文件中)。復(fù)雜線型可以表示實(shí)用程序、邊界和輪廓等等。與簡(jiǎn)單線型一樣,指定端點(diǎn)后可以動(dòng)態(tài)地繪制復(fù)雜線型。
以下線型定義了名為CON1LINE的線型,此線型由直線段、空移和嵌入的形CON1的重+復(fù)圖案構(gòu)成。其中,CON1來(lái)自ep.shx文件。(請(qǐng)注意,必須將ep.shx文件放在支持路徑中才能使以下樣例正常運(yùn)行。)
*CON1LINE,---[CON1]---[CON1]---[CON1]
A,1.0,-0.25,[CON1,ep.shx],-1.0
下面的語(yǔ)法把形定義為復(fù)雜線型的一部分:
[shapename,shapefilename,scale,rotate,xoffset,yoffset]
圖5 線型庫(kù)
5.1 數(shù)據(jù)轉(zhuǎn)換流程
本文研究以1∶2 000比例尺地形圖為例,闡述 1∶2 000地形圖的ArcGIS圖庫(kù)一體數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)轉(zhuǎn)換的實(shí)現(xiàn)方法。首先制作覆蓋全部 1∶2 000地形圖要素的ArcGIS制圖數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的轉(zhuǎn)換對(duì)照表,明確數(shù)據(jù)轉(zhuǎn)換關(guān)系,對(duì)于較復(fù)雜的要素制定組合生成方法[7],如圖6所示。
圖6 轉(zhuǎn)換對(duì)照表
數(shù)據(jù)轉(zhuǎn)換的流程為:根據(jù)圖層的壓蓋關(guān)系,確定圖層的轉(zhuǎn)換順序,再根據(jù)圖層的幾何類型及轉(zhuǎn)換對(duì)照表確定對(duì)應(yīng)的轉(zhuǎn)換方法,寫入DXF文件中相應(yīng)的TABLES、BLOCKS和ENTITIES數(shù)據(jù)段內(nèi),實(shí)現(xiàn)基于ArcGIS的制圖數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的轉(zhuǎn)換,如圖7所示。
圖7 數(shù)據(jù)轉(zhuǎn)換流程圖
5.2 點(diǎn)要素轉(zhuǎn)換
對(duì)與圖庫(kù)一體化數(shù)據(jù)中的點(diǎn)要素可根據(jù)轉(zhuǎn)換對(duì)照表,在已制作的AutoCAD符號(hào)庫(kù)中找到對(duì)應(yīng)的符號(hào)塊進(jìn)行轉(zhuǎn)換表示。
5.3 線要素轉(zhuǎn)換
根據(jù)線要素在AutoCAD是否有對(duì)應(yīng)線型,轉(zhuǎn)換方法分為有線型和無(wú)線型兩種情況。有線型的要素可從線型庫(kù)中獲取對(duì)應(yīng)線型直接轉(zhuǎn)換,并根據(jù)轉(zhuǎn)換對(duì)照表設(shè)置線型的顏色、線寬等信息。無(wú)線型的要素需要根據(jù)要素的特點(diǎn)對(duì)其進(jìn)行拆分,再組合生成對(duì)應(yīng)的AutoCAD制圖表達(dá)效果。
5.4 面要素轉(zhuǎn)換
面要素的轉(zhuǎn)換比點(diǎn)要素、線要素要較為復(fù)雜,地形圖中的面要素在AutoCAD中有對(duì)應(yīng)的填充圖案的極少,大部分面狀要素的轉(zhuǎn)換都需要根據(jù)實(shí)際的制圖表達(dá)效果確定。簡(jiǎn)單的面狀要素,比如坑塘,可以直接對(duì)應(yīng)于AutoCAD數(shù)據(jù)中的實(shí)心填充,再組合對(duì)應(yīng)線性的坑塘邊線。但是,對(duì)于較復(fù)雜的面狀要素,就需要根據(jù)各類要素在ArcGIS制圖表達(dá)里的相關(guān)參數(shù)、制圖效果,制定對(duì)應(yīng)的轉(zhuǎn)AutoCAD制圖數(shù)據(jù)的方法。面要素的轉(zhuǎn)換方式較多,這里只列舉植被面和斜坡面進(jìn)行闡述。
(1)植被面要素轉(zhuǎn)換
以VEGA層中的面狀要素旱地為例,其在ArcGIS里的制圖效果為填充了旱地符號(hào)的面要素。要實(shí)現(xiàn)轉(zhuǎn)換后的AutoCAD制圖數(shù)據(jù)與ArcGIS的制圖效果一致,就要獲得此面狀要素中每個(gè)旱地符號(hào)的坐標(biāo)。如果要素沒有轉(zhuǎn)換為自由表達(dá),每個(gè)符號(hào)的坐標(biāo)不能直接獲得,需根據(jù)設(shè)置的坐標(biāo)系、參考比例尺、填充方式、X步長(zhǎng)、Y步長(zhǎng)等參數(shù)進(jìn)行解析,計(jì)算得到每個(gè)符號(hào)的坐標(biāo),再插入相應(yīng)的符號(hào)塊轉(zhuǎn)換為AutoCAD制圖數(shù)據(jù)。另外還要從AcrGIS制圖表達(dá)的標(biāo)記信息中讀取出旱地符號(hào)的大小信息,根據(jù)實(shí)際設(shè)置剔除出符號(hào)基點(diǎn)在面范圍內(nèi),但符號(hào)卻未完全位于面內(nèi)的情況,如圖8所示。
圖8 植被面轉(zhuǎn)換效果圖
(2)斜坡面要素轉(zhuǎn)換
對(duì)于斜坡面,要實(shí)現(xiàn)轉(zhuǎn)換為AutoCAD制圖數(shù)據(jù)就較為復(fù)雜。首先需要根據(jù)其制圖表達(dá)模式、點(diǎn)的屬性,解析出斜坡的上坡線、下坡線、分段點(diǎn)。斜坡面要素制圖效果中的長(zhǎng)線從上坡線一直延伸到下坡線,在轉(zhuǎn)換時(shí)按制圖表達(dá)的長(zhǎng)線間隔求出上坡線和下坡線上各個(gè)長(zhǎng)線的點(diǎn)位,如果斜坡面設(shè)置了分段點(diǎn),需要對(duì)上下坡線分段計(jì)算出各段內(nèi)長(zhǎng)線的端點(diǎn)位置,然后將每個(gè)成對(duì)的點(diǎn)連接就生成了斜坡面的長(zhǎng)線部分。對(duì)于短線部分,如果斜坡面是加固斜坡面,可將短線部分制作為一個(gè)符號(hào)塊,然后在每?jī)蓛傻拈L(zhǎng)線中間插入短線塊,其傾斜角度與長(zhǎng)線一致。如果斜坡面是未加固的,其短線部分就只是一個(gè)簡(jiǎn)單的線段,可直接在每?jī)蓛砷L(zhǎng)線中間創(chuàng)建短線線段,角度與長(zhǎng)線一致。最后將上坡線、下坡線、短線、長(zhǎng)線等存儲(chǔ)為一個(gè)組寫入DXF文件中,即實(shí)現(xiàn)了斜坡面從ArcGIS制圖數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的轉(zhuǎn)換,如圖9所示。
圖9 斜坡面轉(zhuǎn)換效果圖
筆者以一幅丘陵地區(qū)的1∶2 000圖庫(kù)一體化數(shù)據(jù)進(jìn)行轉(zhuǎn)換實(shí)驗(yàn),此圖庫(kù)一體化數(shù)據(jù)涵蓋點(diǎn)、線、面、注記要素層,轉(zhuǎn)換耗時(shí)為 15 s左右,轉(zhuǎn)換得到的AutoCAD制圖數(shù)據(jù)的空間位置與圖庫(kù)一體化數(shù)據(jù)一致,且具有符號(hào)、線型、顏色等信息,如圖10所示。
圖10 轉(zhuǎn)換成果(左邊為ArcGIS,右邊為AutoCAD)
近年來(lái)國(guó)家對(duì)基礎(chǔ)測(cè)繪數(shù)據(jù)的要求在由制圖轉(zhuǎn)向入庫(kù),基礎(chǔ)測(cè)繪圖庫(kù)一體化是信息化測(cè)繪的要求,更是測(cè)繪技術(shù)的發(fā)展趨勢(shì)。通過運(yùn)用本文的研究成果,可實(shí)現(xiàn)基于ArcGIS制圖表達(dá)的 1∶2 000圖庫(kù)一體化數(shù)據(jù)到AutoCAD制圖數(shù)據(jù)的全要素轉(zhuǎn)換,轉(zhuǎn)換得到的DXF格式的制圖數(shù)據(jù)在空間信息及制圖效果上與原有ArcGIS制圖數(shù)據(jù)一致,既具有準(zhǔn)確的空間位置精度,又具有相應(yīng)的符號(hào)、線型、顏色等信息,將有效拓寬圖庫(kù)一體化數(shù)據(jù)的使用范圍,保障測(cè)繪成果有效的服務(wù)于社會(huì)。
[1] 周曉芹,王偉樺,甘榮成. ArcGIS數(shù)據(jù)到CAD數(shù)據(jù)的轉(zhuǎn)換與符號(hào)化研究[J]. 測(cè)繪,2014(1):40~43.
[2] 張燕. 基于ArcGIS Representation的地形圖制圖表達(dá)庫(kù)研究[J]. 城市勘測(cè),2015(5):71~74.
[3] 范占永,蔡?hào)|健,管發(fā)海等. DWG與SHP數(shù)據(jù)中空間圖元轉(zhuǎn)換技術(shù)的分析與應(yīng)用研究[J]. 水利與建筑工程學(xué)報(bào),2016(2):193~197.
[4] 謝江平,鄒自力. CAD矢量數(shù)據(jù)向ArcGIS轉(zhuǎn)換的方法[J]. 地理空間信息,2010(4) :130~133.
[5] 李瑞霞,楊敏,鄧喀中. 基于FME的GIS到CAD數(shù)據(jù)“無(wú)損”轉(zhuǎn)換[J]. 測(cè)繪通報(bào),2009(5):55~59.
[6] 孟妮娜,周校東. GIS空間數(shù)據(jù)轉(zhuǎn)換為DXF格式的方法研究[J]. 測(cè)繪科學(xué),2007(2):105~107.
[7] 劉衛(wèi)國(guó),張弛月. 規(guī)則庫(kù)支持下的CAD數(shù)據(jù)到GIS數(shù)據(jù)自動(dòng)轉(zhuǎn)換方法探討[J]. 科技創(chuàng)新導(dǎo)報(bào),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—),男,工程師,主要從事遙感應(yīng)用及地理信息系統(tǒng)研發(fā)等技術(shù)工作。
住房和城鄉(xiāng)建設(shè)部科研項(xiàng)目(2015-K8-009)