前言
标注是显示在地图上的文字信息,是出图中不可或缺的重要元素,为了标注的样式丰富,摆放的位置灵活,因此给制图出图带来不少难度,以下分享几种本人在ArcGIS中的标注方法,实现上下标注、换行标注或分式标注的实用技巧。
普通模式与高级模式
默认为普通模式,勾选高级开启高级模式。
普通二分式标注(普通模式)
[DLBM] & vbnewline & [DLMC]
标注效果展示
分行二分式标注(普通模式)
[DLBM]& vbnewline & "——————" & vbnewline & [DLMC]
标注效果展示
二分式对齐标注(高级模式)
FUNCTION strlen(str)
dim p_len
p_len=0
strlen=0
p_len=len(str)
FOR xx=1 to p_len
IF asc(mid(str,xx,1))<0 then
strlen=int(strlen) + 2
ELSE
strlen=int(strlen) + 1
END if
NEXT
END function
FUNCTION myFind ( DZM, NAME )
a=strlen(dzm)
b=strlen(NAME)
IF a>b then
myFind ="<und>" & DZM & "</und>" & vbnewline & NAME
ELSE
str= space((b-a)/2)
myFind ="<und>" & str & DZM & str & "</und>" & vbnewline & NAME
END if
END Function
'编制日期:2012-07-30
Function FindLabel ([DLBM],[DLMC])
FindLabel =myFind([DLBM],[DLMC])
End Function
标注效果展示
后三分式对齐标注(高级模式)
FUNCTION strlen(str)
dim p_len
p_len=0
strlen=0
p_len=len(str)
FOR xx=1 to p_len
IF asc(mid(str,xx,1))<0 then
strlen=int(strlen) + 2
ELSE
strlen=int(strlen) + 1
END if
NEXT
END function
FUNCTION myFind(cunname,DJH,SHAPE_Area)
dim str
str=SHAPE_Area
dim d
d=strlen(str)
dim d1
dim d2
d1=strlen(cunname) /2
if d1<1 then
d1=1
end if
d2=strlen(DJH) /2
if d2<1 then
d2=1
end if
if d2>d1 then
d1=d2
end if
myFind = cunname & space(d) & vbnewline & string(d1,"—") & str & vbnewline & DJH & space(d)
END Function
'编制日期:2020-07-30
Function FindLabel ([DLBM],[DLMC],[TBMJ])
FindLabel = myFind([DLBM],[DLMC],[TBMJ])
End Function
标注效果展示
前三分式对齐标注(高级模式)
FUNCTION strlen(str)
dim p_len
p_len=0
strlen=0
p_len=len(str)
FOR xx=1 to p_len
IF asc(mid(str,xx,1))<0 then
strlen=int(strlen) + 2
ELSE
strlen=int(strlen) + 1
END if
NEXT
END function
FUNCTION myFind(cunname,DJH,SHAPE_Area)
dim str
str=SHAPE_Area
dim d
d=strlen(str)
dim d1
dim d2
d1=strlen(cunname) /2
if d1<1 then
d1=1
end if
d2=strlen(DJH) /2
if d2<1 then
d2=1
end if
if d2>d1 then
d1=d2
end if
myFind =" " & space(d-1) &cunname & vbnewline & str & string(d1, "—") & vbnewline & space(d) & DJH
END Function
'编制日期:2020-07-30
Function FindLabel ([DLBM],[DLMC],[TBMJ])
FindLabel = myFind([DLBM],[DLMC],[TBMJ])
End Function
标注效果展示
总结
分享是一种美德,学会分享是成功的必经之路,让一份快乐变成多份快乐时,才能让本篇文章变得更有意义,以上文章有不对的地方,希望大家能在评论区及时指正,共同成长,共同进步。