侯輝嬌子
(增城市城鄉(xiāng)規(guī)劃測(cè)繪院,廣東 廣州511300)
地圖注記是指在地圖上起說(shuō)明作用的各種文字、數(shù)字等[1]。隨著我國(guó)地理信息產(chǎn)業(yè)與技術(shù)的發(fā)展,地圖注記在地圖上的表現(xiàn)及使用中扮演著極為重要的角色。地圖注記常常和地圖符號(hào)結(jié)合在一起來(lái)使用,說(shuō)明地圖中各個(gè)地物的名稱、位置、范圍等信息[1],地圖注記對(duì)地圖具有點(diǎn)晴之功效[2]。沒(méi)有注記的地圖,只能表達(dá)空間地理區(qū)域的一般空間概念,無(wú)法反映地理對(duì)象的名稱和某些數(shù)量及質(zhì)量特征,這將直接影響讀圖者對(duì)地圖信息的接收,無(wú)法達(dá)到人們利用地圖進(jìn)行信息傳輸和交流的目的[3]。因此,地圖注記在地圖中具有不可替代的作用。
地圖標(biāo)注是隨著計(jì)算機(jī)技術(shù)和地圖學(xué)的發(fā)展應(yīng)運(yùn)而生的。用戶能夠根據(jù)地理屬性表中的信息將其靈活地標(biāo)注到地圖上,從而實(shí)現(xiàn)更加靈活、多變的地圖內(nèi)容[1]。如今,地圖數(shù)據(jù)越來(lái)越豐富,需要在地圖上顯示的內(nèi)容也相應(yīng)增加,在地圖制圖過(guò)程中經(jīng)常需要對(duì)大量復(fù)雜的注記進(jìn)行處理,以滿足紙質(zhì)地圖的美觀、易辨識(shí)的要求。在地圖制圖的實(shí)際運(yùn)用過(guò)程中,如何保證圖面表達(dá)清晰易讀,滿足信息傳輸要求,同時(shí)又要在符合設(shè)計(jì)原則的前提下,盡可能使得圖面藝術(shù)美觀,是地圖制圖的重點(diǎn)和難點(diǎn)。
本文在ArcGIS平臺(tái)上,重點(diǎn)探討使用Maplex高級(jí)智能標(biāo)注引擎的使用,以及標(biāo)注換行計(jì)算的方法,對(duì)大量復(fù)雜數(shù)據(jù)地圖進(jìn)行標(biāo)注處理,使地圖展現(xiàn)更好的效果。
在編制地圖時(shí),通常使用的是Esri標(biāo)準(zhǔn)引擎,但是標(biāo)準(zhǔn)引擎下的標(biāo)注設(shè)置有較多的局限性,標(biāo)注的位置擺放及文字格式的設(shè)置都未能滿足日常制圖工作的需求,甚至?xí)霈F(xiàn)各種沖突。筆者通過(guò)在實(shí)際操作過(guò)程中的經(jīng)驗(yàn)積累,采用ArcGIS的Maplex高級(jí)智能標(biāo)注拓展模塊能夠有效地創(chuàng)建高質(zhì)量的動(dòng)態(tài)標(biāo)記,優(yōu)化地圖標(biāo)記的數(shù)量和質(zhì)量,提高地圖標(biāo)注的質(zhì)量及工作效率,更好地利用地圖的有限空間,把地圖要素信息盡量多地標(biāo)注在地圖上。
ArcGIS軟件并沒(méi)有默認(rèn)開(kāi)啟Maplex標(biāo)注引擎,需要手動(dòng)進(jìn)行開(kāi)啟才能使用。
1)在ArcMap的“自定義→擴(kuò)展模塊”面板上,勾選“Maplex”項(xiàng),打開(kāi)Maplex擴(kuò)展模塊。
2)在內(nèi)容列表欄的layers處單擊右鍵,選擇屬性,打開(kāi)“數(shù)據(jù)框?qū)傩浴睂?duì)話框,在“常規(guī)”選項(xiàng)卡下的標(biāo)注引擎處選擇“Esri Maplex標(biāo)注引擎”;或右鍵單擊菜單欄,打開(kāi)“標(biāo)注”工具條,點(diǎn)擊“Labeling”下拉菜單,選擇“使用Maplex標(biāo)注引擎”。
Yoeli于1972年提出了地圖注記的通用原則[4],將注記分為點(diǎn)狀要素、線狀要素和面狀要素3種類型加以處理,認(rèn)為注記和對(duì)應(yīng)要素間應(yīng)該有精確的對(duì)應(yīng)關(guān)系,注記與地圖要素、注記與其他注記相互間的沖突應(yīng)實(shí)現(xiàn)最小化[5]。Maplex標(biāo)注引擎的特點(diǎn)正是從地圖的點(diǎn)、線、面三要素出發(fā),更精確地對(duì)應(yīng)關(guān)系的同時(shí)減小與其他注記間的沖突。
(1)標(biāo)注位置更靈活
①點(diǎn)要素的標(biāo)注位置
Maplex針對(duì)點(diǎn)要素提供了10種放置選項(xiàng),包括點(diǎn)周圍的最佳位置選項(xiàng),該項(xiàng)可以進(jìn)行點(diǎn)要素?cái)[放位置的權(quán)重的設(shè)置,如圖1所示,比標(biāo)準(zhǔn)標(biāo)注的選擇更靈活。
可以設(shè)置標(biāo)注偏移,指定要素與放置標(biāo)注間的固定距離,也可以設(shè)置最大距離,允許標(biāo)注放置在可接受的距離范圍內(nèi)。
圖1 點(diǎn)要素標(biāo)注位置設(shè)置
②線要素的標(biāo)注位置
Maplex針對(duì)線要素提供了8種放置選項(xiàng),這些方式并不是Maplex獨(dú)有的,在標(biāo)準(zhǔn)標(biāo)注引擎中同樣可以設(shè)置。不同點(diǎn)在于Maplex可以設(shè)置固定間距的重復(fù)標(biāo)注,也可以進(jìn)行展開(kāi)字符的設(shè)置,使線要素的標(biāo)注方式呈現(xiàn)多樣化,如圖2所示。
圖2 線要素放置屬性設(shè)置
③面要素的標(biāo)注位置
Maplex針對(duì)面要素提供了5種放置選項(xiàng)。除了與線要素標(biāo)注相同的重復(fù)標(biāo)注和展開(kāi)字符標(biāo)注外,和標(biāo)準(zhǔn)標(biāo)注引擎相比,在面要素中添加了彎曲標(biāo)注。對(duì)放置在面要素內(nèi)的標(biāo)注可以排定放置的順序;對(duì)放置在面要素外面的標(biāo)注可以制定首選區(qū)域,也可以排定標(biāo)注放置的順序,允許標(biāo)注偏移。經(jīng)過(guò)不同的組合,可以滿足對(duì)面要素標(biāo)注的需求。
(2)更好地解決沖突
生成地圖時(shí)使用的比例尺不同,比例尺越小,數(shù)據(jù)量越大,標(biāo)注會(huì)有很多沖突,出現(xiàn)標(biāo)注壓蓋、不顯示等情況。Maplex標(biāo)注引擎的自適應(yīng)策略和沖突檢測(cè)可以更好地解決這種標(biāo)注沖突。
①自適應(yīng)策略
在Maplex引擎下,標(biāo)注可以堆疊標(biāo)注、延伸至超限要素、減小字號(hào)、縮寫(xiě)標(biāo)注來(lái)適應(yīng)標(biāo)注放置的原則。對(duì)于線要素和面要素,可以指定要素大小,超過(guò)這一標(biāo)準(zhǔn)則不進(jìn)行標(biāo)注。使用這些方法中的一個(gè)或多個(gè),可以節(jié)省空間,使地圖呈現(xiàn)最佳的效果。
②沖突解決
Maplex提供的沖突解決方式有5種,其中要素權(quán)重、標(biāo)注緩沖區(qū)、允許壓蓋都是標(biāo)準(zhǔn)標(biāo)注引擎中有的。背景標(biāo)注是將標(biāo)注設(shè)置為背景,始終允許其他標(biāo)注放置在該標(biāo)注之上。移除同名標(biāo)注是在設(shè)定的半徑內(nèi)搜索同名的標(biāo)注,如果有則會(huì)移除,降低重復(fù)顯示一個(gè)標(biāo)注的概率。
有的要素需要表示的名稱太長(zhǎng),ArcGIS默認(rèn)是一行顯示所有的標(biāo)注內(nèi)容,如果沒(méi)有足夠的空間,則不標(biāo)注此要素的名稱。對(duì)這種名稱過(guò)長(zhǎng)的標(biāo)注,可以使用VBA語(yǔ)言編寫(xiě)一個(gè)小程序,實(shí)現(xiàn)標(biāo)注的換行,有效利用空間,如圖3所示。
圖3 標(biāo)注換行設(shè)置
在要素屬性的標(biāo)注選項(xiàng)卡中,單擊表達(dá)式,打開(kāi)標(biāo)注表達(dá)式對(duì)話框,勾選高級(jí)復(fù)選框。在對(duì)話框中輸入分行代碼后,確定,完成標(biāo)注的分行處理。示例換行代碼如下:
Function FindLabel([標(biāo)準(zhǔn)名稱])
str=[標(biāo)準(zhǔn)名稱]
n=len(str)
if n>=9 then
m=int(n/2)
str1=left(str,n-m)
str2=right(str,m)
FindLabel=str1+VBNewLine+str2
elseif n<9 then
FindLabel=str
End if
End Function
此代碼意為,如果“標(biāo)準(zhǔn)名稱”這個(gè)屬性的字符數(shù)大于9,那么就分2行顯示。
為了驗(yàn)證使用高級(jí)智能標(biāo)注引擎(Maplex)及標(biāo)準(zhǔn)換行計(jì)算后的效果優(yōu)越性,選取一片標(biāo)注比較復(fù)雜的區(qū)域,使用默認(rèn)標(biāo)注,結(jié)果如圖4所示。在注記比較稀疏的地方,標(biāo)準(zhǔn)引擎標(biāo)注可以把需要的信息標(biāo)注出來(lái),但是,在poi較多的地方,標(biāo)注間出現(xiàn)互相壓蓋的情況,且因?yàn)闃?biāo)注名稱過(guò)長(zhǎng),顯示效果不佳。
圖4 使用默認(rèn)標(biāo)注效果圖
使用Maplex引擎進(jìn)行標(biāo)注,調(diào)整標(biāo)注要素的放置權(quán)重,設(shè)置自適應(yīng)原則和沖突解決方案,得到如圖5所示的結(jié)果??梢钥闯觯瑯?biāo)注間相互壓蓋的情況已經(jīng)基本解決,標(biāo)注的空間使用更充分,標(biāo)注壓蓋顯現(xiàn)明顯減少。根據(jù)Imhof提出了地圖注記的3個(gè)基本規(guī)則:易讀性、清晰性和美學(xué)平衡性[6]。Maplex標(biāo)注引擎的使用就使該片區(qū)的注記達(dá)到了易讀性和清晰性這兩個(gè)基本規(guī)則。
圖5 使用Maplex標(biāo)注引擎標(biāo)注效果圖
實(shí)例為廣州市某區(qū)的地名地址數(shù)據(jù),很多要素名稱都帶有“廣州”或“廣州市”字樣,在實(shí)際使用中這些文字可以進(jìn)行簡(jiǎn)化,去掉刪減后不改變其意思的部分文字,單獨(dú)作為標(biāo)注屬性,使標(biāo)注言簡(jiǎn)意賅,同時(shí)也節(jié)約空間,使標(biāo)注表達(dá)效果更好,如圖6所示。
在標(biāo)注中使用換行計(jì)算,把超過(guò)9個(gè)字符的字符串分兩行顯示,效果如圖7所示,已經(jīng)基本滿足出圖要求。
圖6 名稱去冗余、換行計(jì)算后效果圖
雖然經(jīng)過(guò)以上處理后,減少了標(biāo)注壓蓋的現(xiàn)象,也使圖面清晰整潔。但是地圖標(biāo)注畢竟是通過(guò)計(jì)算機(jī),對(duì)要素的屬性進(jìn)行自動(dòng)標(biāo)注的結(jié)果。經(jīng)過(guò)自動(dòng)處理的標(biāo)注,還可以把標(biāo)注轉(zhuǎn)換為地圖注記,再對(duì)注記的一些細(xì)節(jié)進(jìn)行人工調(diào)整,從而使得地圖表達(dá)的信息更加美觀、全面。
好的地圖需要整體和局部協(xié)調(diào)一致,色彩搭配協(xié)調(diào),注記疏落有致[7]。對(duì)注記的成果,配合地圖要素的表達(dá)進(jìn)行字體、字號(hào)、顏色的設(shè)置,使每一類要素的特點(diǎn)突出,表達(dá)清晰明了;達(dá)到Imhof提出的地圖注記美學(xué)平衡性的規(guī)則。
圖7 美化升級(jí)后的地圖
本文針對(duì)日常制圖工作中經(jīng)常遇到的大量數(shù)據(jù)標(biāo)注壓蓋、沖突等問(wèn)題,在ArcGIS平臺(tái)下,使用Maplex高級(jí)智能標(biāo)注引擎和標(biāo)注換行計(jì)算相結(jié)合的方法,進(jìn)行要素標(biāo)注的優(yōu)化設(shè)置,結(jié)果能夠解決大部分要素標(biāo)注沖突問(wèn)題。使用該方法,便于更直觀地展現(xiàn)地圖中的地理要素信息,效果更美觀。在實(shí)際操作中值得探索和推廣,制作盡可能完美的各類地圖。
[1] 喬占明,閆浩文.地圖標(biāo)注和地圖注記的探討[J].測(cè)繪與空間地理信息,2011,34(1):205-207.
[2] 何麗華,徐之?。貓D注記設(shè)計(jì)若干問(wèn)題的探討[J].地理空間信息,2011,9(6):153-154.
[3] 楊圣枝.地圖注記在地圖信息傳輸中的功能分析[J].測(cè)繪通報(bào),2011(9):66-71.
[4] YOELI P.The Logic of Automatic Map Lettering[J].CartographicJournal,1972,19(2):99-108.
[5] 趙靜,羅興國(guó),張汝云.一種新的電子地圖注記算法——格網(wǎng) 法[J].計(jì)算機(jī)工程,2008,34(7):278-282.
[6] CHRISTENSON J,MARKSJ,SHICBER S.An Empirical Study of Algorithmfor Point-feature Label Placement[J].ACM Transaction on Graphic,1995,14(3):203-232.
[7] 宋艷節(jié),崔文明.基于ArcMap的地圖制作研究[J].測(cè)繪工程,2013,(32):34-35.