ARCGIS PRO 要素标注

发布于:2024-07-06 ⋅ 阅读:(144) ⋅ 点赞:(0)

一、普通模式

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
'编制日期:2012-07-30
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
'编制日期:2012-07-30
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
'编制日期:2012-07-30
Function FindLabel ([ZDDM],[QLR],[Shape_Area])
  FindLabel =myFind([ZDDM],[QLR],[Shape_Area])
End Function


网站公告

今日签到

点亮在社区的每一天
去签到