用vbscript实现ArcMap中的上下标标注功能_map2shp_新浪博客

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

    sStr=sStr & " "

    i=i+1

  Loop

  FindLabel = [Symbol]  & "" & "上标测试"  & vbcrlf & sStr & "下标" & ""

End Function

3.几点补充说明

  上述代码只是解决了上下标的问题,因为我把上下标A14全存在一个字段里了,所以还有一个字符串提取的问题,就是说把1提出来变成上标,把4提出来用下标。可以用vb脚本的split函数。我把A14存成“A/1/4” 然后用split("A/1/4","/")即可提出这三个字符。

  如果有些只有下标。而有些只有上标则要对第二步的代码加以完善,不同情况用不同的方法。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值