• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

arcgis 10分式注记

arcgis 10分式注记
前几天装了ArcGIS10的试用版,感觉非常的好。在9系列的ArcGIS中,分式注记这个问题一直困扰着我,分式注记如果不是代分式的话,效果是很好的,但如果是代分式的话,分子就一直对不上分数线的中点,只能一个一个的调整,不知道各位兄弟有没有遇到这个问题。前几天安装了ArcGIS10的试用版之后,试了一下,问题一下子解决了,惊喜之余忍不住要和大家分享分享,算是尝尝鲜吧。
下面是我写的分式代码,分子字段是[SZ1C],整数部分字段是[XBH],分母字段是[mj]:
Function FindLabel ( [XBH] , [mj] , [SZ1C])
dim a
a=len( [XBH])
FindLabel =space(a) & "<FNT name='
楷体_GB2312'>" & [SZ1C] &"</FNT>" & vbnewline & [XBH] & "——" & vbnewline & space(a) &[mj]
End Function
arcgis10分式标注.jpg
下载 (17 KB)
2010-9-3 15:27

arcgis10分式标注行间距.jpg
下载 (52.43 KB)
2010-9-3 15:27
4

评分次数

  •   金钱 + 2

    cxli068

  • 感谢分享   金钱 + 10

    tj051181

  • 我很赞同   金钱 + 5

    surveyboy

  • 辛苦   金钱 + 4

    北方的郎

  • 谢谢myfwhy和Lucy1114,现在终于解决了。"<chr spacing=' '>" & string(a," ") & "</chr>" 可以在标注的情况下调整分子在分数线上的位置,space(a)不能,两个都能调整分母在分数线下的位置。但当分数线的宽度是双数时,在标注状态下,不管怎么调整a的值,"<chr spacing=' '>" & string(a," ") & "</chr>" 都不能使分子正对分数线中点,转换为注记也不能,而space(a)在标注状态下虽不能使分子正对分数线中点,但转换为注记后不管分数线的宽度为多少,都能对准分数线中点。所以,最后我选用注记来标注要素。代码如下
    Function FindLabel ( [XBH] , [mj] , [SZ1C]  )
    dim a ,b,c,d
    a=len( [XBH])
    b=len([mj])
    c=len([SZ1C])
    if (b>c) then
       d=b
      else
        d=c
    end if
      FindLabel =space(a) & "<FNT name='楷体_GB2312'>" & [SZ1C] &"</FNT>" & vbnewline & [XBH] & string(d*0.6,"—") & vbnewline & space(a) &  [mj]
    End Function
    效果图如下
    arcgis10分式标注3.jpg

    下载 (22.62 KB)
    2010-9-9 09:55


    arcgis10分式标注4.jpg

    下载 (27.32 KB)
    2010-9-9 09:55


    这代码昨晚在9.2中试用过,效果和10的一样好。

来自http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=76195&highlight=arcgis%2B10

posted on 2010-10-25 13:54  gisai  阅读(2773)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3