一、普通模式
1、标注:名称和面积(无分数线)
语言:Arcade
$feature.QLR +'\n'+Round($feature.Shape_Area,2)
语言:vbscript
[QLR] & " " & Round([Shape_Area],2)
2、标注:名称和宗地号(放大是虚线)
语言:vbscript
Space(1) & [QLR] & vbNewLine & "————" & Space(1) & vbNewLine & [ZDDM]
3、标注:名称和宗地号(解决分数线打印为虚线的问题)
语言:vbscript
Space(1) & [QLR] & vbNewLine & "<CHR spacing = '" & -1 * Int(10) & "'>" + "----------" + "</CHR>" & Space(1) & vbNewLine & [ZDDM]
4、标注:名称和宗地号及面积注记(未左对齐)
语言:vbscript
Space(1) & [QLR] & vbNewLine & "<CHR spacing = '" & -1 * Int(10) & "'>" + "-----" + "</CHR>" & Space(1) & Round([Shape_Area],2) & vbNewLine & [ZDDM]
5、标注:名称和宗地号及面积注记(推荐)
语言:vbscript
"<und>" & [ZDDM] &"—"& [QLR] & "</und>" & vbnewline & [FRMC] & "—" & [FRDHHM]
二、高级模式
1、二分式对齐标注
语言:vbscript
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 )
If dzm<>"" Then a=strlen(dzm) Else a=0
If NAME<>"" Then b=strlen(NAME) Else b=0
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
Function FindLabel ([ZDDM],[QLR])
FindLabel =myFind([ZDDM],[QLR])
End Function
2、三分式对齐标注
语言:vbscript
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=Round(SHAPE_Area,2)
Dim d
d=strlen(str)
Dim d1
Dim d2
If cunname<>"" Then d1=strlen(cunname) /2 Else d1=0
If d1<1 Then
d1=1
End If
If DJH<>"" Then d2=strlen(DJH) /2 Else d2=0
If d2<1 Then
d2=1
End If
If d2>d1 Then
d1=d2
End If
myFind = cunname & Space(d/2) & vbnewline & String(d1,"—") & str & vbnewline & DJH & Space(d/2)
End Function
Function FindLabel ([ZDDM],[QLR],[Shape_Area])
FindLabel =myFind([ZDDM],[QLR],[Shape_Area])
End Function
3、三分式对齐标注(前)
语言:vbscript
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=Round(SHAPE_Area,2) & " "
Dim d
d=strlen(str)
Dim d1
Dim d2
If cunname<>"" Then d1=strlen(cunname) /2 Else d1=0
If d1<1 Then
d1=1
End If
If DJH<>"" Then d2=strlen(DJH) /2 Else d2=0
If d2<1 Then
d2=1
End If
If d2>d1 Then
d1=d2
End If
myFind = Space(d/2) & cunname & vbnewline & str & String(d1, "—") & vbnewline & Space(d/2) & DJH
End Function
Function FindLabel ([ZDDM],[QLR],[Shape_Area])
FindLabel =myFind([ZDDM],[QLR],[Shape_Area])
End Function
三、总结
将所有标注类型可以总结为:前部、分子、分母、后部四部分:
语言:vbscript
通用标注表达式:
Space(1) & [分子] & vbNewLine & [前部] & "<CHR spacing = '-10' >" + String(5, "—") + "</CHR>"+ Space(1) + [后部]+ vbNewLine & [分母]
在通用表达式式中的标注的字段均可定义,将通用格式扩展为,如:
Space(1) & [标注字段] & vbNewLine........ 扩展为:Space(1) & "标注描述" & [标注字段] & "标注描述结束" & vbNewLine........
例如:
定义颜色:Space(1) & "<CLR red='255'>" & [标注字段] & "</CLR>" & vbNewLine........
定义大小:Space(1) & "标注描述" & [标注字段] & "标注描述结束" & vbNewLine........
可扩展为:
Space(1) & "" & [分子] & "" & vbNewLine & "<CLR red='255'><FNT size = '10'>" & [前部] & "</FNT></CLR>" & "<CHR spacing = '-10' >" + String(5, "—") + "</CHR>"+ Space(1) + "" & [后部]+ "" & vbNewLine & "" & [分母] & "",效果如下:
归纳如下:
1、 Font: 字体及大小:"<FNT name='Arial' size='18'>" & [LABELFIELD] & "</FNT>"
2、 Color: 颜色:"<CLR red='255' green='255' blue='255'>" & [LABELFIELD] & "</CLR>"
或者:
"<CLR cyan='100' magenta ='100' yellow='100' black='100'>" & [LABELFIELD] & "</CLR>"
3、 Bold: 加粗:"<BOL>" & [LABELFIELD] & "</BOL>"
4、 Italic: 斜体:"<ITA>" & [LABELFIELD] & "</ITA>"
5、 Underline: 下划线:"<UND>" & [LABELFIELD] & "</UND>"
6、 All caps: 大写:"<ACP>" & [LABELFIELD] & "</ACP>"
7、 Small caps: 小写:"<SCP>" & [LABELFIELD] & "</SCP>"
8、 Superscript 上标:"<SUP>" & [LABELFIELD] & "</SUP>"
9、 Subscript: 下标:"<SUB>" & [LABELFIELD] & "</SUB>"
10、Character spacing (%): 字体间隔:"<CHR spacing='25'>" & [LABELFIELD] & "</CHR>"
11、Word spacing (%): 词间隔:"<WRD spacing='150'>" & [LABELFIELD] & "</WRD>"
12、Leading (pts): 在前面的,重要的:"<LIN leading='12'>" & [LABELFIELD] & "</LIN >"