ARCGIS PRO 要素标注

一、普通模式

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 >"

相关推荐

  1. 获取ArcGISPro中conda信息详情

    2024-07-12 03:28:01       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 03:28:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 03:28:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 03:28:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 03:28:01       69 阅读

热门阅读

  1. linux:vi命令

    2024-07-12 03:28:01       18 阅读
  2. vagrant远程连接不上问题

    2024-07-12 03:28:01       19 阅读
  3. Android Gradle开发与应用(一): Gradle基础

    2024-07-12 03:28:01       22 阅读
  4. Android Gradle 开发与应用 (八): Gradle 与持续集成(CI)

    2024-07-12 03:28:01       22 阅读
  5. 宪法学学习笔记(个人向) Part.3

    2024-07-12 03:28:01       18 阅读
  6. 【Unity】RPG2D龙城纷争(十)战斗系统之角色战斗

    2024-07-12 03:28:01       23 阅读
  7. DP学习——策略模式

    2024-07-12 03:28:01       18 阅读
  8. UNIAPP 使用地图 百度 高德 腾讯地图路线轨迹

    2024-07-12 03:28:01       21 阅读
  9. 理解李彦宏的“不卷模型,卷应用”理念

    2024-07-12 03:28:01       23 阅读
  10. 关于windows下编译xLua插件的流程记录

    2024-07-12 03:28:01       23 阅读
  11. 从零开始学习嵌入式----Makefile工具

    2024-07-12 03:28:01       17 阅读