Calendar
页面载入中....
Placard
页面载入中....
Category
页面载入中....
Latest Entries
页面载入中....
Latest Comments
页面载入中....
Last Messages
页面载入中....
User Login
页面载入中....
Links
Information
页面载入中....
Search
Other


Welcome to my blog!
  用vbscript实现ArcMap中的上下标标注功能 
 

1.问题描述:
如果要出一副地质图,一般地层的表示通常要上下标方式,比如A14(其中1为上标,4为下标),我把A14存入对应矢量要素的属性字段中,可是利用该字段标注要素时总是得不到想要的上下标。
2.解决方法(代码版权归ESRI在线支持中心):
下面的“Function FindLabel”是ArcMap标注的公式例子,在图层Label选项卡中。使用之前应该将“Advanced”钩选上,并将“SHAPE_Length”改为您自己的列名,再将其中的 "上标测试"和“下标”字样改成您的上下标即可。

Function FindLabel ( [Symbol] )
  Dim lLen
  lLen=Len( [Symbol] )
  Dim i
  Dim sStr
  sStr=""
  i=0
  Do While i<lLen * 2
    sStr=sStr & " "
    i=i+1
  Loop
  FindLabel = [Symbol]  & "<SUP>" & "上标测试"  & vbcrlf & sStr & "下标" & "</SUP>"
End Function
3.几点补充说明
  上述代码只是解决了上下标的问题,因为我把上下标A14全存在一个字段里了,所以还有一个字符串提取的问题,就是说把1提出来变成上标,把4提出来用下标。可以用vb脚本的split函数。我把A14存成“A/1/4” 然后用split("A/1/4","/")即可提出这三个字符。
  如果有些只有下标。而有些只有上标则要对第二步的代码加以完善,不同情况用不同的方法。
  gissky上有朋友贴出了用AO实现的标注功能,没有使用过。不过想来应该是殊途同归。
  不过这部分属于灵活运用vb脚本的功能的范围了,与ArcGIS无关了。呵呵。

[ 阅读全文 | 回复(0) | 引用通告 | 编辑

  Post  by  gisboy 发表于 2007-1-17 19:35:00
发表评论:
页面载入中....
页面载入中....
Powered by Oblog.