tft每日頭條

 > 圖文

 > arcgis中怎麼用标準框标注

arcgis中怎麼用标準框标注

圖文 更新时间:2025-02-03 17:11:46

arcgis中怎麼用标準框标注(ArcGIS教程ArcGIS标注使用技巧)1

标注是顯示在地圖上的文字信息,它是出圖中不可或缺的重要元素。标注的樣式豐富,并且放置位置靈活,因此帶來了對标注控制的難度。例如地質圖裡的上下标,或是一些分式的标注,就必須使用代碼編程來實現。這篇文章就主要結合幾個實例來讨論一下标注的使用技巧,以及在ArcGIS軟件中的實現。

标注是顯示在地圖上的文字信息,它是出圖中不可或缺的重要元素。标注的樣式豐富,并且放置位置靈活,因此帶來了對标注控制的難度。例如地質圖裡的上下标,或是一些分式的标注,就必須使用代碼編程來實現。這篇文章就主要結合幾個實例來讨論一下标注的使用技巧,以及在ArcGIS軟件中的實現。

1 上下标

在地質圖中經常會使用到上下标的文字,在ArcGIS幫助中可以查看到上下标的寫法如下所示:

上标:"<SUP>" & [上标字段] & "</SUP>"

下标:"<SUB>" & [下标字段] & "</SUB>"

但是如果同時需要使用上下标的時候,就會出現這樣的顯示效果“測驗上标下标” ,上下标不會對齊,如果想顯示的美觀一些,就需要使用到高級的标注技巧,讓Maplex這個擴展模塊來幫我們解決問題了。

關于Maplex:Maplex是桌面軟件的一個擴展模塊,ArcGIS的Maplex擴展模塊在ArcMap中增加了高級的标注布局和沖突檢測的方法。使用Maplex可以節約很多的時間。實驗表明,在地圖上标注,使用Maplex至少可以節約50%的時間。Maplex是GIS制圖的一個重要工具,它提供了很好的文字渲染和具有打印質量的文字布局方式。

上下标的解決方案如下:

1)在數據的表格中将上下标内容存儲在一個字段中,用空格分開,例如“上标 下标”;

2)在Data Frame(數據框)的屬性對話框中把标注引擎調整為“ESRI Maplex Label Engine”;

3)在标注的表達式裡敲入以下代碼

[标注字段]&"<SUP>" & [上下标字段] & "</SUP>"

這句代碼僅僅采用了上标的關鍵字,它會把現在的上下标統一顯示在上标的位置,下面還需要調整标注的放置屬性;

4)點擊Placement Properties—Fitting Strategy—Stack Label—Option,進行如下設置

arcgis中怎麼用标準框标注(ArcGIS教程ArcGIS标注使用技巧)2

得到的效果圖如下所示,因為上下标字符的長度不同,右對齊尚不能達到很完美的效果,但是比之前“測驗上标下标”還是改進了許多。

arcgis中怎麼用标準框标注(ArcGIS教程ArcGIS标注使用技巧)3

2 分式标注

分式标注是又一個難點,ArcGIS裡并不能直接去構造分式,我們可以想辦法把分子加下劃線來表示,但對于分母的長度比分子長出很多的情況,顯示效果就非常不理想。因此,最好能夠動态的判斷分子和分母的長度,按照最長的長度來确定分式橫線的長度,代碼如下所示(VBScript):

Function FindLabel ( [分子字段] , [分母字段] )

dim a,b,c

b=len ( [分子字段] )

c=len ( [分母字段] )

if (b>c) then

a=b

else

a=c

end if

FindLabel =[分子字段] & vbnewline& string(a*0.5,"—") & vbnewline & [分母字段]

End Function

對于代分數的話,也可以用類似的方法,隻需再添加一個表示整數的字段,代碼如下:

Function FindLabel ( [整數字段] , [分子字段] , [分母字段] )

dim a,b,c,d

a=len ( [整數字段] )

b=len ( [分子字段] )

c=len ( [分母字段] )

if (b>c) then

d=b

else

d=c

end if

FindLabel =[分子字段] & vbnewline& [整數字段] & string(d*0.5,"—") & vbnewline & space(a) & [分母字段]

End Function

需要說明的是,這段代碼的效果還不能将标注調整到最好的顯示效果,但如果你使用了Maplex标注引擎,就會發現效果的改善,如下圖所示。

arcgis中怎麼用标準框标注(ArcGIS教程ArcGIS标注使用技巧)4

3 分類标注

分類标注适用于為同一圖層中的不同要素設置不同的标注樣式,例如高速公路和環路、普通道路的字體為不同的大小和顔色。而标注默認會應用于整個圖層,這就需要我們為默認的标注增加一個分組,在圖層屬性對話框中設置标注的方法為“Define classes of features and label each class differently”,點擊Add增加分組(需要幾種不同的樣式就設置幾個分組),并且要為每個分組設置SQL語句進行過濾。然後為每個組設置不同的标注樣式。

arcgis中怎麼用标準框标注(ArcGIS教程ArcGIS标注使用技巧)5

總結:由于标注是動态放置,且樣式可以通過VBScript和JScript來設置,因而對标注的管理非常靈活。雖然經過标注技巧和Maplex的優化能夠将大部分标注以最優的位置顯示,但如果期望對某些單獨修改,還需将标注(Label)轉換為注記(Annotation)。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved