張燕(重慶市勘測(cè)院,重慶 400020)
基于ArcGIS Representation的地形圖制圖表達(dá)庫(kù)研究
張燕?
(重慶市勘測(cè)院,重慶 400020)
摘 要:針對(duì)傳統(tǒng)地形圖生產(chǎn)軟件不能兼顧制圖表達(dá)和GIS空間分析的問(wèn)題,介紹ArcGIS的制圖表達(dá)功能,并以制作1∶2 000地形圖制圖表達(dá)庫(kù)為例,充分利用ArcGIS制圖表達(dá)功能,并根據(jù)測(cè)繪地形圖生產(chǎn)的特殊要求,自行研發(fā)程序?qū)rcGIS制圖效果進(jìn)行擴(kuò)展,完成了1∶2 000制圖表達(dá)庫(kù)在ArcGIS中的制作,解決了DLG數(shù)據(jù)在符號(hào)化環(huán)節(jié)的制圖和建庫(kù)一體化的問(wèn)題,提高了GIS制圖效率和豐富了復(fù)雜地物表達(dá)能力。
關(guān)鍵詞:符號(hào)化;ArcGIS;制圖表達(dá)
隨著GIS技術(shù)的快速發(fā)展,對(duì)地形圖成果的提交要求越來(lái)越高,一方面要按照標(biāo)準(zhǔn)的地形圖制圖規(guī)范進(jìn)行符號(hào)化,另一方面需要達(dá)到數(shù)據(jù)建庫(kù)滿足各種空間拓?fù)潢P(guān)系和屬性要求。傳統(tǒng)的專(zhuān)業(yè)制圖軟件很難在兩者之間達(dá)到平衡,不少測(cè)繪單位采用兩套軟件對(duì)同一地形圖分別進(jìn)行制圖和建庫(kù)的數(shù)據(jù)的生產(chǎn),使得工作流程繁瑣,增加了人工工作量,提高了數(shù)據(jù)風(fēng)險(xiǎn),也不利于數(shù)據(jù)的維護(hù)和管理。
ArcGIS目前已經(jīng)成為了行業(yè)流行的GIS軟件,其格式也作為通用的數(shù)據(jù)匯交格式。探索如何依托Arc-GIS平臺(tái),完成地形圖制圖表達(dá)庫(kù)建立以及實(shí)現(xiàn)對(duì)ArcGIS的地形圖建庫(kù)數(shù)據(jù)進(jìn)行滿足規(guī)范的符號(hào)化已經(jīng)成為亟待解決的問(wèn)題。ArcGIS 9.2及其后續(xù)版本推出了Representation制圖表達(dá)技術(shù),因其表達(dá)的智能靈活性和圖屬關(guān)聯(lián),使這一想法變得可行[4]。筆者利用這一技術(shù),通過(guò)編寫(xiě)程序?qū)rcGIS進(jìn)行功能擴(kuò)展,建立了滿足1∶2 000地形圖的制圖表達(dá)庫(kù),并實(shí)現(xiàn)了對(duì)地形圖的自動(dòng)符號(hào)化。經(jīng)檢驗(yàn),只需對(duì)個(gè)別特殊要素進(jìn)行制圖表達(dá)的屬性設(shè)定即可形成成果圖,實(shí)現(xiàn)制圖建庫(kù)一套數(shù)據(jù)。
ArcGIS傳統(tǒng)的符號(hào)化方式通常用基于樣式管理器的符號(hào)化方式。ArcGIS 9.2以前的版本不支持制圖表達(dá),借助樣式管理器制作的符號(hào)可以完成一般地物的符號(hào)表達(dá),但對(duì)于復(fù)雜地物的缺乏靈活性表達(dá)甚至無(wú)法表達(dá),無(wú)法滿足地形制圖的規(guī)范,通常需要借助輔助線等來(lái)完成制圖。制圖表達(dá)Representation機(jī)制的引入,使得數(shù)據(jù)可以實(shí)現(xiàn)基于規(guī)則的符號(hào)化。一個(gè)要素類(lèi)可以有多種制圖表達(dá),一個(gè)圖層可以采用多種制圖規(guī)則進(jìn)行符號(hào)化[1]。制圖表達(dá)允許對(duì)個(gè)別要素的外觀進(jìn)行單獨(dú)的制圖編輯,而不影響該要素的建庫(kù)幾何,也不會(huì)影響同類(lèi)要素的表達(dá)。它不僅能實(shí)現(xiàn)符號(hào)化的重復(fù)使用,也使其在制圖上功能更智能便捷和個(gè)性化。
2.1 制圖表達(dá)庫(kù)組織
依據(jù)《GBT 13923-2006基礎(chǔ)地理信息要素分類(lèi)與代碼》及《基礎(chǔ)地理信息數(shù)字成果數(shù)據(jù)組織及文件命名規(guī)則》進(jìn)行要素分類(lèi)和幾何分類(lèi),將地形圖要素劃分為41個(gè)要素圖層[2]。最終的制圖表達(dá)庫(kù)存儲(chǔ)于個(gè)人地理數(shù)據(jù)庫(kù)MDB中。
制圖表達(dá)庫(kù)的制作方法為:在ArcCatalog中創(chuàng)建個(gè)人地理數(shù)據(jù)庫(kù)MDB文件,創(chuàng)建數(shù)據(jù)集,在數(shù)據(jù)集下完成41個(gè)要素圖層的創(chuàng)建,并分別為每個(gè)要素圖層定義層名、屬性字段等。在ArcMap中,加載該MDB文件,將每個(gè)要素類(lèi)符號(hào)系統(tǒng)轉(zhuǎn)換為制圖表達(dá),進(jìn)入“圖層屬性”對(duì)話框的“符號(hào)系統(tǒng)”頁(yè),為該要素類(lèi)增加要素,對(duì)要素定義規(guī)則表達(dá)。要素規(guī)則命名方法為:GB編碼+要素名稱(chēng)+備注。在基礎(chǔ)地理信息編碼中,一個(gè)GB編碼可能對(duì)應(yīng)于不同類(lèi)型的同一個(gè)要素,如依比例的圍墻和不依比例的圍墻,分別為線和面;又如臺(tái)階, 在1∶2 000圖式上分為普通臺(tái)階,U型臺(tái)階,雙線邊臺(tái)階等多種表達(dá)方式。定義制圖表達(dá)規(guī)則時(shí),需要為臺(tái)階要素建立相應(yīng)的多個(gè)制圖表達(dá)規(guī)則,以供制圖調(diào)用。因此一個(gè)GB編碼可能對(duì)應(yīng)一個(gè)或多個(gè)制圖規(guī)則,一個(gè)要素可能拆分為幾個(gè)要素規(guī)則表達(dá)。
制圖表達(dá)庫(kù)制作完成后,可以直接利用MDB文件作為制圖模板進(jìn)行地形圖繪制或者利用程序?qū)σ延薪◣?kù)數(shù)據(jù)進(jìn)行對(duì)照和符號(hào)化。該方式有利于實(shí)現(xiàn)符號(hào)庫(kù)的重復(fù)利用[6],并可良好地存儲(chǔ)和管理。圖1所示為個(gè)人地理數(shù)據(jù)庫(kù)中的制圖表達(dá)庫(kù)。
圖1 個(gè)人地理數(shù)據(jù)庫(kù)中的制圖表達(dá)庫(kù)
2.2制圖效果擴(kuò)展
制圖表達(dá)Representation是根據(jù)制圖規(guī)則Rules和覆蓋Overrides來(lái)實(shí)現(xiàn)地形圖的符號(hào)化[3]。制圖規(guī)則由點(diǎn)、線、或面以及制圖效果組合而成,定義了符號(hào)化的方式。制圖效果可以改變點(diǎn)、線、面的顯示位置和顯示方式,而不影響其建庫(kù)幾何。ArcGIS還提供了基于點(diǎn)、線、面的通用的制圖效果和制圖規(guī)則,已有的制圖效果包括偏移、平滑、虛線等,可以幫助實(shí)現(xiàn)符號(hào)表達(dá)效果定制。但是某些特殊要素的制作仍無(wú)法實(shí)現(xiàn),比如依比例的坡坎崖、依比例的臺(tái)階、棚房、多開(kāi)口的橋、河流漸變線要素等,無(wú)法滿足1∶2 000的制圖需求,需要進(jìn)行擴(kuò)展。具體的擴(kuò)展方法是根據(jù)1∶2 000地形圖符號(hào)庫(kù)制作的需要,利用C#作為開(kāi)發(fā)環(huán)境,基于ArcObjects研發(fā)ArcGIS制圖表達(dá)擴(kuò)展鏈接庫(kù),對(duì)需要表達(dá)的特殊要素按照類(lèi)型分別進(jìn)行標(biāo)記放置樣式、線放置效果、面放置效果的擴(kuò)展。擴(kuò)展程序以組件的方式在ArcGIS后臺(tái)支撐運(yùn)行,使得在后續(xù)的制圖表達(dá)庫(kù)制作過(guò)程中能利用其完成制圖規(guī)則的定制。
以依比例陡崖的制圖規(guī)則為例:依比例尺未加固斜坡的幾何是一個(gè)面。面的繪制方向?yàn)轫槙r(shí)針,從坡頂向坡腳。在制圖表達(dá)編輯時(shí),可以使用制圖表達(dá)編輯器,對(duì)面幾何增加控制點(diǎn),用以標(biāo)示坡頂線的結(jié)束位置。在程序中實(shí)現(xiàn)方法為:遍歷面幾何的結(jié)點(diǎn),找到制圖控制點(diǎn)以提取斜坡上棱線和坡腳線。然后根據(jù)程序界面提供的坡面長(zhǎng)短線間距、短線長(zhǎng)度、是否加固等參數(shù),計(jì)算生成坡面長(zhǎng)短線。由于大部分的特殊制圖都需要制圖控制點(diǎn)輔助,所以將制圖控制識(shí)別作為一個(gè)效果程序,再將坡面長(zhǎng)短線的繪制作為另一個(gè)效果程序。在制圖表達(dá)規(guī)則定義時(shí),通過(guò)定義兩效果程序的參數(shù),來(lái)實(shí)現(xiàn)依比例陡崖的符號(hào)化樣式配置。
利用程序擴(kuò)展的自定義的制圖效果包括:
(1)河流出入口效果GEArcOpen:根據(jù)雙線河流開(kāi)口連線,實(shí)現(xiàn)雙線河河流的出入口符號(hào)繪制。
(2)平行線效果GEMLine:根據(jù)提供的線幾何,實(shí)現(xiàn)按指定距離參數(shù)的一側(cè)或兩側(cè)平行線輸出效果。
(3)坡坎效果GESlope:根據(jù)提供的坡上線和坡下線,分段點(diǎn),長(zhǎng)短線長(zhǎng)度參數(shù)、間距參數(shù)等,繪制依比例的斜坡,陡坎、崖等制圖效果。支持通過(guò)制圖控制點(diǎn)的放置,實(shí)現(xiàn)制圖效果的調(diào)整。
(4)臺(tái)階效果GEStep:根據(jù)提供的臺(tái)階面幾何,識(shí)別左右邊線,根據(jù)臺(tái)階間距參數(shù)繪制階梯線;并根據(jù)控制點(diǎn)點(diǎn)位,來(lái)控制臺(tái)階上的平臺(tái)效果。同時(shí)支持包括凹狀臺(tái)階、弧形臺(tái)階,雙邊臺(tái)階等效果。
(5)棚房效果GETooth:根據(jù)提供的面幾何,對(duì)夾角進(jìn)行角平分線計(jì)算,按照設(shè)定的長(zhǎng)度參數(shù)繪制棚房制圖效果。
(6)控制效果GEUD:識(shí)別幾何上的制圖控制點(diǎn),將幾何劃分出子幾何以備后續(xù)制圖使用。包括支持提取上下邊線,左右邊線,對(duì)角線等效果。
(7)漸寬線效果GETapper:根據(jù)線幾何以及起始點(diǎn)寬度參數(shù)設(shè)置,繪制諸如水系漸變線效果、地裂縫效果等。
(8)符號(hào)填充效果GEPattern:根據(jù)面幾何以及填充橫向縱向參數(shù),符號(hào)旋轉(zhuǎn)參數(shù)、偏移參數(shù)等繪制如植被填充等效果。
(9)符號(hào)沿線設(shè)置效果GEOnEndPoints:根據(jù)線幾何以及符號(hào)放置參數(shù),實(shí)現(xiàn)如電力線效果等。
2.3制圖表達(dá)規(guī)則定制
在規(guī)則的制作中,對(duì)過(guò)去傳統(tǒng)ArcGIS樣式符號(hào)庫(kù)可以加以利用。如單元符號(hào),如果尺寸與圖式一致即可直接導(dǎo)入利用,不必重新制作。一個(gè)要素符號(hào)的制圖規(guī)則可以由一個(gè)或多個(gè)規(guī)則圖層疊加表示[5],可以包括標(biāo)記圖層、線劃圖層、面填充圖層。要素符號(hào)的偏移、旋轉(zhuǎn)、平滑、虛線等效果可以通過(guò)對(duì)圖層增加幾何效果來(lái)實(shí)現(xiàn)。ArcGIS本身支持的點(diǎn)符號(hào)效果包括沿線、在線上、在端點(diǎn)處、在折點(diǎn)處等;線效果包括偏移、虛線、移動(dòng)等;面效果如緩沖、封閉等。
(1)點(diǎn)
點(diǎn)狀符號(hào)表示不依比例尺的小面積地物或獨(dú)立的點(diǎn)狀地物[7],符號(hào)擁有固定的圖形樣式,尺寸固定,幾何定位與地物實(shí)際位置一致。
在點(diǎn)單元符號(hào)的制作中,首先選中該地物所在的圖層,如“零星樹(shù)木”,就在VEGP圖層下,進(jìn)入圖層屬性,選擇符號(hào)系統(tǒng),創(chuàng)建新的規(guī)則,規(guī)則命名為“810509零星樹(shù)木”;如果有可以利用的Style樣式符號(hào)庫(kù),就可以通過(guò)導(dǎo)入符號(hào)將已有的單元符號(hào)導(dǎo)入;或通過(guò)標(biāo)記編輯器也可以進(jìn)行符號(hào)的制作。比照?qǐng)D式要求,指定單元的定位點(diǎn),顏色,控制單元的尺寸等,選擇符號(hào)放置方式為“在點(diǎn)上”。在單元的制作過(guò)程中,同時(shí)盡可能地把單元的掩膜加上,方法是添加新填充圖層,利用白色的底色制作壓蓋面,附加到單元符號(hào)上。
對(duì)于有方向性的符號(hào),可以將角度屬性字段映射到角度上。這樣就能將地物的屬性作為符號(hào)化的一部分來(lái)符號(hào)化地物[8]。
(2)線
線狀符號(hào)是指長(zhǎng)度在地圖上按比例表示,而寬度不依比例表示的半依比例符號(hào)[7],如電力線、河流、道路等。線狀符號(hào)是在定位線的基礎(chǔ)之上進(jìn)行符號(hào)表達(dá)的。
線型的制作方法需要遵循右手法則,即線型符號(hào)在前進(jìn)方向的右側(cè)。線型上的符號(hào)可以由符號(hào)圖層表示,線可以由可以設(shè)置線粗的線劃圖層表示,線的掩膜可以用填充底色的面圖層或有厚度的線圖層表示。疊加幾何效果來(lái)實(shí)現(xiàn)最終制圖效果。如石質(zhì)無(wú)灘陡岸,可拆分為一個(gè)簡(jiǎn)單線劃圖層,和一個(gè)沿線等距離排列的單元圖層,如果需要增加壓蓋效果,則還需要增加一個(gè)底色面填充圖層。在圖層TFCL下,,進(jìn)入圖層屬性,選擇符號(hào)系統(tǒng),創(chuàng)建新的規(guī)則,規(guī)則命名為“750604
石質(zhì)無(wú)灘陡岸”。新增加一個(gè)標(biāo)記圖層、兩個(gè)線劃圖層。標(biāo)記圖層的標(biāo)記放置方式是按間隔距離“沿線放置”,線劃圖層設(shè)置線粗和顏色與圖式一致,掩膜使用加粗的線,效果是偏移標(biāo)記符號(hào)尺寸一般的距離。
(3)面
面狀符號(hào)是指在地圖上長(zhǎng)度和寬度均依比例尺表示的符號(hào)。如大面積的樹(shù)林、沙灘、苗圃等。面狀符號(hào)通常以封閉的輪廓線為基礎(chǔ)進(jìn)行表達(dá),在輪廓線內(nèi)用不用的密度和樣式進(jìn)行點(diǎn)符號(hào)、線符號(hào)、色塊等的填充。
面要素約定按順時(shí)針?lè)较蚶L制,并且起點(diǎn)一般選擇在如斜坡坡上線起點(diǎn),開(kāi)口要素的一邊的起點(diǎn)等。與線型制作類(lèi)似,ArcGIS制圖表達(dá)對(duì)面的制作允許添加單元圖層、線劃圖層、面填充圖層,搭配相應(yīng)可選的效果以及放置樣式。
如依比例煙囪要素的表達(dá):在圖層RFCA下,進(jìn)入圖層屬性,選擇符號(hào)系統(tǒng),創(chuàng)建新的規(guī)則,規(guī)則命名為“321106 煙囪”。為規(guī)則新增加一個(gè)標(biāo)記圖層、一個(gè)線劃圖層、一個(gè)面填充圖層。標(biāo)記圖層的標(biāo)記放置方式是“面中心放置”,即將煙囪符號(hào)放到面幾何中心,線劃圖層設(shè)置線粗和顏色與圖式一致,面填充色為地形圖背景色,作為要素自帶的掩膜。
(4)特殊類(lèi)要素
利用ArcGIS自帶功能無(wú)法制作的要素,需要使用擴(kuò)展制圖效果來(lái)實(shí)現(xiàn)。如依比例的斜坡的規(guī)則制作,首先在TERA圖層下,新建名為“760001未加固斜坡面”,然后為規(guī)則新增一個(gè)線劃圖層和一個(gè)面填充圖層。線圖層里增加GETUD效果用以輸出坡頂線和坡腳線,然后再疊加GESLOPE效果,在界面中設(shè)置效果屬性中的長(zhǎng)短線間距、長(zhǎng)線長(zhǎng)度、短線長(zhǎng)度、是否保留坡頂線、是否包含加固點(diǎn)、加固點(diǎn)半徑等參數(shù);面填充圖層位于線劃圖層之下,以背景色填充,作為斜坡自帶的掩膜。
筆者在ArcGIS平臺(tái)中制作完成了1∶2 000制圖表達(dá)庫(kù),包括點(diǎn)狀、線狀、面狀要素規(guī)則共969個(gè),符號(hào)尺寸準(zhǔn)確,完全符號(hào)地形圖圖示規(guī)定。對(duì)于特殊類(lèi)的坡坎崖、橋、臺(tái)階、變寬線等要素,筆者通過(guò)編寫(xiě)程序擴(kuò)展ArcGIS制圖表達(dá)功能進(jìn)行支持。運(yùn)用程序調(diào)用制圖表達(dá)庫(kù),將已有的建庫(kù)數(shù)據(jù)按照國(guó)標(biāo)編碼和制圖規(guī)則號(hào)進(jìn)行對(duì)應(yīng),能迅速地完成地形圖的符號(hào)化,作業(yè)人員后期只需要做一些簡(jiǎn)單的調(diào)整,如制圖控制點(diǎn)添加,個(gè)別注記的位置拖移等即能成圖。圖2所示為數(shù)據(jù)進(jìn)行制圖符號(hào)化前后對(duì)比圖。
圖2 制圖表達(dá)前后對(duì)比圖
本文基于ArcGIS制圖表達(dá)技術(shù),通過(guò)對(duì)地圖符號(hào)庫(kù)的解析,利用AO進(jìn)行二次開(kāi)發(fā),擴(kuò)展了ArcGIS平臺(tái)的符號(hào)化表達(dá)和制圖效果,以地形圖采集中特殊要素的符號(hào)化靈活定義。實(shí)現(xiàn)了ArcGIS平臺(tái)下基礎(chǔ)測(cè)繪1∶2 000制圖和建庫(kù)數(shù)據(jù)的一體化表達(dá),創(chuàng)建了1∶2 000地形圖制圖表達(dá)符號(hào)庫(kù),滿足了地形圖在實(shí)際生產(chǎn)中的更多樣化靈活的表現(xiàn)需求,提高了GIS制圖的效率以及地圖符號(hào)化能力,經(jīng)過(guò)試驗(yàn)證明具有很好的實(shí)用性和擴(kuò)展性。
參考文獻(xiàn)
[1] 余應(yīng)剛,陳朝暉,包世泰等.基于規(guī)則與覆蓋的GIS制圖表達(dá)[J].現(xiàn)代計(jì)算機(jī),2009(313):50~53.
[2] 肖提榮,何照攀,楊勇.基于ArcGIS的DLG自動(dòng)符號(hào)化模塊的設(shè)計(jì)與開(kāi)發(fā)[J].測(cè)繪通報(bào),2012(7):85~87.
[3] 譚成國(guó).基于ArcGIS Representation圖庫(kù)一體化的設(shè)計(jì)與實(shí)現(xiàn)[J].城市勘測(cè),2011(6):46~49.
[4] 王佩,余樹(shù)影,施建輝等.ArcGIS制圖表達(dá)在地形圖生產(chǎn)中的應(yīng)用[J].測(cè)繪標(biāo)準(zhǔn)化,2013,29(2):46~48.
[5] 王蓉,何紅梅,嚴(yán)曉斌.GIS數(shù)據(jù)與制圖數(shù)據(jù)一體化方法研究與實(shí)現(xiàn)[J].地理空間信息,2014,37(9):142~143.
[6] 趙成福,王苑,李永花等.基于ArcGIS Engine的符號(hào)化研究與實(shí)現(xiàn)[J].地理空間信息,2009,7(4):57~59.
[7] 祁華斌,艾廷華,胡珂.基于ArcGIS的地圖符號(hào)庫(kù)建立及符號(hào)化實(shí)施[J].測(cè)繪通報(bào),2003(1):14~17.
[8] 彭巖,高源鴻,康來(lái)成等.基于ArcGIS的屬性驅(qū)動(dòng)可視化成圖技術(shù)應(yīng)用初探[J].測(cè)繪與空間地理信息,2013,36 (12) :201~203.
Research on the Map Symbol Library Based on the ArcGIS Representation
Zhang Yan
(Chongqing Survey Institute,Chongqing 400020,China)
Abstract:Traditional map production software does not take into account the representations and GIS spatial analysis problems,introduced ArcGIS representation function,and to produce 1∶2000 map representation library as an example, take advantage of ArcGIS representation function,and based on the special requirements of the Representation,develop program to extend ArcGIS representation geometric effects,completed 1∶2000 representation library,resolve the integration of the DLG data mapping and spatial data,improve the efficiency of the GIS mapping,enrich the expression ability of complex object.
Key words:symbolization;ArcGIS;representation
文章編號(hào):1672-8262(2015)05-71-04中圖分類(lèi)號(hào):P208.1
文獻(xiàn)標(biāo)識(shí)碼:A
收稿日期:?2015—07—02
作者簡(jiǎn)介:張燕(1979—),女,高級(jí)工程師,從事GIS系統(tǒng)應(yīng)用與開(kāi)發(fā)工作。