侯輝嬌子
(增城市城鄉規劃測繪院,廣東 廣州511300)
地圖注記是指在地圖上起說明作用的各種文字、數字等[1]。隨著我國地理信息產業與技術的發展,地圖注記在地圖上的表現及使用中扮演著極為重要的角色。地圖注記常常和地圖符號結合在一起來使用,說明地圖中各個地物的名稱、位置、范圍等信息[1],地圖注記對地圖具有點晴之功效[2]。沒有注記的地圖,只能表達空間地理區域的一般空間概念,無法反映地理對象的名稱和某些數量及質量特征,這將直接影響讀圖者對地圖信息的接收,無法達到人們利用地圖進行信息傳輸和交流的目的[3]。因此,地圖注記在地圖中具有不可替代的作用。
地圖標注是隨著計算機技術和地圖學的發展應運而生的。用戶能夠根據地理屬性表中的信息將其靈活地標注到地圖上,從而實現更加靈活、多變的地圖內容[1]。如今,地圖數據越來越豐富,需要在地圖上顯示的內容也相應增加,在地圖制圖過程中經常需要對大量復雜的注記進行處理,以滿足紙質地圖的美觀、易辨識的要求。在地圖制圖的實際運用過程中,如何保證圖面表達清晰易讀,滿足信息傳輸要求,同時又要在符合設計原則的前提下,盡可能使得圖面藝術美觀,是地圖制圖的重點和難點。
本文在ArcGIS平臺上,重點探討使用Maplex高級智能標注引擎的使用,以及標注換行計算的方法,對大量復雜數據地圖進行標注處理,使地圖展現更好的效果。
在編制地圖時,通常使用的是Esri標準引擎,但是標準引擎下的標注設置有較多的局限性,標注的位置擺放及文字格式的設置都未能滿足日常制圖工作的需求,甚至會出現各種沖突。筆者通過在實際操作過程中的經驗積累,采用ArcGIS的Maplex高級智能標注拓展模塊能夠有效地創建高質量的動態標記,優化地圖標記的數量和質量,提高地圖標注的質量及工作效率,更好地利用地圖的有限空間,把地圖要素信息盡量多地標注在地圖上。
ArcGIS軟件并沒有默認開啟Maplex標注引擎,需要手動進行開啟才能使用。
1)在ArcMap的“自定義→擴展模塊”面板上,勾選“Maplex”項,打開Maplex擴展模塊。
2)在內容列表欄的layers處單擊右鍵,選擇屬性,打開“數據框屬性”對話框,在“常規”選項卡下的標注引擎處選擇“Esri Maplex標注引擎”;或右鍵單擊菜單欄,打開“標注”工具條,點擊“Labeling”下拉菜單,選擇“使用Maplex標注引擎”。
Yoeli于1972年提出了地圖注記的通用原則[4],將注記分為點狀要素、線狀要素和面狀要素3種類型加以處理,認為注記和對應要素間應該有精確的對應關系,注記與地圖要素、注記與其他注記相互間的沖突應實現最小化[5]。Maplex標注引擎的特點正是從地圖的點、線、面三要素出發,更精確地對應關系的同時減小與其他注記間的沖突。
(1)標注位置更靈活
①點要素的標注位置
Maplex針對點要素提供了10種放置選項,包括點周圍的最佳位置選項,該項可以進行點要素擺放位置的權重的設置,如圖1所示,比標準標注的選擇更靈活。
可以設置標注偏移,指定要素與放置標注間的固定距離,也可以設置最大距離,允許標注放置在可接受的距離范圍內。

圖1 點要素標注位置設置
②線要素的標注位置
Maplex針對線要素提供了8種放置選項,這些方式并不是Maplex獨有的,在標準標注引擎中同樣可以設置。不同點在于Maplex可以設置固定間距的重復標注,也可以進行展開字符的設置,使線要素的標注方式呈現多樣化,如圖2所示。

圖2 線要素放置屬性設置
③面要素的標注位置
Maplex針對面要素提供了5種放置選項。除了與線要素標注相同的重復標注和展開字符標注外,和標準標注引擎相比,在面要素中添加了彎曲標注。對放置在面要素內的標注可以排定放置的順序;對放置在面要素外面的標注可以制定首選區域,也可以排定標注放置的順序,允許標注偏移。經過不同的組合,可以滿足對面要素標注的需求。
(2)更好地解決沖突
生成地圖時使用的比例尺不同,比例尺越小,數據量越大,標注會有很多沖突,出現標注壓蓋、不顯示等情況。Maplex標注引擎的自適應策略和沖突檢測可以更好地解決這種標注沖突。
①自適應策略
在Maplex引擎下,標注可以堆疊標注、延伸至超限要素、減小字號、縮寫標注來適應標注放置的原則。對于線要素和面要素,可以指定要素大小,超過這一標準則不進行標注。使用這些方法中的一個或多個,可以節省空間,使地圖呈現最佳的效果。
②沖突解決
Maplex提供的沖突解決方式有5種,其中要素權重、標注緩沖區、允許壓蓋都是標準標注引擎中有的。背景標注是將標注設置為背景,始終允許其他標注放置在該標注之上。移除同名標注是在設定的半徑內搜索同名的標注,如果有則會移除,降低重復顯示一個標注的概率。
有的要素需要表示的名稱太長,ArcGIS默認是一行顯示所有的標注內容,如果沒有足夠的空間,則不標注此要素的名稱。對這種名稱過長的標注,可以使用VBA語言編寫一個小程序,實現標注的換行,有效利用空間,如圖3所示。

圖3 標注換行設置
在要素屬性的標注選項卡中,單擊表達式,打開標注表達式對話框,勾選高級復選框。在對話框中輸入分行代碼后,確定,完成標注的分行處理。示例換行代碼如下:
Function FindLabel([標準名稱])
str=[標準名稱]
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
此代碼意為,如果“標準名稱”這個屬性的字符數大于9,那么就分2行顯示。
為了驗證使用高級智能標注引擎(Maplex)及標準換行計算后的效果優越性,選取一片標注比較復雜的區域,使用默認標注,結果如圖4所示。在注記比較稀疏的地方,標準引擎標注可以把需要的信息標注出來,但是,在poi較多的地方,標注間出現互相壓蓋的情況,且因為標注名稱過長,顯示效果不佳。

圖4 使用默認標注效果圖
使用Maplex引擎進行標注,調整標注要素的放置權重,設置自適應原則和沖突解決方案,得到如圖5所示的結果。可以看出,標注間相互壓蓋的情況已經基本解決,標注的空間使用更充分,標注壓蓋顯現明顯減少。根據Imhof提出了地圖注記的3個基本規則:易讀性、清晰性和美學平衡性[6]。Maplex標注引擎的使用就使該片區的注記達到了易讀性和清晰性這兩個基本規則。

圖5 使用Maplex標注引擎標注效果圖
實例為廣州市某區的地名地址數據,很多要素名稱都帶有“廣州”或“廣州市”字樣,在實際使用中這些文字可以進行簡化,去掉刪減后不改變其意思的部分文字,單獨作為標注屬性,使標注言簡意賅,同時也節約空間,使標注表達效果更好,如圖6所示。
在標注中使用換行計算,把超過9個字符的字符串分兩行顯示,效果如圖7所示,已經基本滿足出圖要求。

圖6 名稱去冗余、換行計算后效果圖
雖然經過以上處理后,減少了標注壓蓋的現象,也使圖面清晰整潔。但是地圖標注畢竟是通過計算機,對要素的屬性進行自動標注的結果。經過自動處理的標注,還可以把標注轉換為地圖注記,再對注記的一些細節進行人工調整,從而使得地圖表達的信息更加美觀、全面。
好的地圖需要整體和局部協調一致,色彩搭配協調,注記疏落有致[7]。對注記的成果,配合地圖要素的表達進行字體、字號、顏色的設置,使每一類要素的特點突出,表達清晰明了;達到Imhof提出的地圖注記美學平衡性的規則。

圖7 美化升級后的地圖
本文針對日常制圖工作中經常遇到的大量數據標注壓蓋、沖突等問題,在ArcGIS平臺下,使用Maplex高級智能標注引擎和標注換行計算相結合的方法,進行要素標注的優化設置,結果能夠解決大部分要素標注沖突問題。使用該方法,便于更直觀地展現地圖中的地理要素信息,效果更美觀。在實際操作中值得探索和推廣,制作盡可能完美的各類地圖。
[1] 喬占明,閆浩文.地圖標注和地圖注記的探討[J].測繪與空間地理信息,2011,34(1):205-207.
[2] 何麗華,徐之俊.地圖注記設計若干問題的探討[J].地理空間信息,2011,9(6):153-154.
[3] 楊圣枝.地圖注記在地圖信息傳輸中的功能分析[J].測繪通報,2011(9):66-71.
[4] YOELI P.The Logic of Automatic Map Lettering[J].CartographicJournal,1972,19(2):99-108.
[5] 趙靜,羅興國,張汝云.一種新的電子地圖注記算法——格網 法[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] 宋艷節,崔文明.基于ArcMap的地圖制作研究[J].測繪工程,2013,(32):34-35.