有关标注(记)表达式的更多信息 (copied)

转自:http://support.esrichina-bj.cn/2006/0804/1192.html


Howto: 利用“标注表达式”将字符串转为正确大小写

文章编号: 31542

软件: ArcGIS - ArcEditor 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1 ArcGIS - ArcInfo 9.0, 8.3, 9.1, 9.2, 9.3, 9.3.1 ArcGIS - ArcView 8.3, 9.0, 9.1, 9.2, 9.3, 9.3.1

操作系统: Windows 2000, XP, 2003Server


摘要:

说明文件介绍了如何利用“标注表达式”将大写、小写或两者混合的字符串转为正确的格式。例如,如果一个字符串是以下格式:

"hello world"
"HELLO WORLD"
"hELLO wORLD"
 

利用“标注表达式”可以将其统一转换为"Hello World"。
 

内容:

在ArcMap的“字段计算器”中,可以使用VBA表达式中的StrConv将字符串转为正确格式。然而,默认的标注表达式解析器VBScript没有这个功能。以下标注表达式解决了VB脚本存在的限制:
 

1. 打开“标注表达式”对话框。

   A. 右键点击ArcMap内容列表中的图层,选择“属性”,显示“图层属性”对话框。
   B. 选择“标注”标签。
   C. 点击“标注字段”右边的“表达式”按钮。
 

2. 点击“高级”按钮。

3. 当只转换一个字段时,可以用以下代码。记得将两处字段名[MyFieldName]改为实际字段名。
 

Function FindLabel ([MyFieldName])
  FindLabel = PCase([MyFieldName])
End Function
Function PCase(strInput)
  Dim iPosition
  Dim iSpace
  Dim strOutput
  iPosition = 1
  Do While InStr(iPosition, strInput, " ", 1) <> 0
    iSpace = InStr(iPosition, strInput, " ", 1)
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1, iSpace - iPosition))
    iPosition = iSpace + 1
  Loop
  strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
  strOutput = strOutput & LCase(Mid(strInput, iPosition + 1))
  PCase = strOutput
End Function

 



4. 当一次转换多个字段时,可以用以下代码。记得改字段名,需要的话可以增加更多字段。

Function FindLabel ([MyFieldName1], [MyFieldName2], [MyFieldName3])
  FindLabel = PCase([MyFieldName1] & " " & [MyFieldName2] & " " & [MyFieldName3])
End Function

 

Function PCase(strInput)
  Dim iPosition
  Dim iSpace
  Dim strOutput
  iPosition = 1
  Do While InStr(iPosition, strInput, " ", 1) <> 0
    iSpace = InStr(iPosition, strInput, " ", 1)
    strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
    strOutput = strOutput & LCase(Mid(strInput, iPosition + 1, iSpace - iPosition))
    iPosition = iSpace + 1
  Loop
  strOutput = strOutput & UCase(Mid(strInput, iPosition, 1))
  strOutput = strOutput & LCase(Mid(strInput, iPosition + 1))
  PCase = strOutput
End Function



5. 点击“标注表达式”对话框的确定。
6. 确保“图层属性”的“标注”标签中“标注此图层中的要素”已勾选。
7. 点击“标注”标签中的确定。



创建时间:2006-08-04

最近更新: 2011-05-03 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值