用vbscript实现ArcMap中的上下标标注功能

其他7年前 (2019-06-25)3210

1.问题描述:

如果要出一幅地质图,一般地层的表示通常要上下标方式,比如A14(其中1为上标,4为下标),我把A14存入对应矢量要素的属性字段中,可是利用该字段标注要素时总是得不到想要的上下标。

2.解决方法:

下面的“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","/")即可提出这三个字符。

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


相关文章

Arcgis软件中FeatureToLine与PolygonToLine的异同

Arcgis软件中FeatureToLine与PolygonToLine的异同

在Arctoolbox中,有两个命令可将面要素类转换成线要素类:Feature To Line和Polygon To Line。虽然这两个命令都能将面状要素类转换成线状要素类,但他们之间有很多不同,正...

关于ArcGIS Engine符号库的讨论

关于ArcGIS Engine符号库的讨论

符号化是GIS应用开发中重要的功能或者是处理,由于程序中每次调入一个图层的图层的符号都是随机的,动态变化的,所以不利于图层的美观。还有一点就是符号有增加电子地图可读性的功能。符号的来源有以下几种:1、...

在ArcGIS 10.3标注中竖排文字

在ArcGIS 10.3标注中竖排文字

ArcGIS 10.3中文字默认“从左至右”排列,而实际的标注比如“XX路、XX街”有些文字是竖直排列的。接着就涉及到“标注样式”的问题。如果是整体竖排,点击图层的Properties...(属性),...

shapefile与字符集编码设置

shapefile与字符集编码设置

在 ArcGIS Desktop (ArcMap, ArcCatalog, and ArcToolbox) 中,有编码页转换功能(CODE PAGE CONVERSION),可以读写多种字符编码的 s...

ArcGIS地质填充符号的制作

ArcGIS地质填充符号的制作

地质制图中,面符号的制作复杂度最高,存在规则和不规则的样式,通常由底色和图案组成,表示岩性和年代,是极具代表性的符号种类。ArcGIS提供了3种实现地质面符号的方法:基于矢量、基于图片和基于制图表达技...

ArcGIS地图符号制作教程

ArcGIS地图符号制作教程

什么是地图符号?地图符号是地图的语言,它以图形的方式描述地图中地理要素、标注、注记的形状、大小、位置、数量和质量特征。地图的符号的作用是什么?地图主要依据符号的形状、尺寸和色彩来反映地图内容。图形形状...