题目:ARCGIS中,数据有一个字段是A*B的形式,如何挑选出B>A的数据,并改成大数*小数。
求解:
假设你的数据所在字段名称为Name,在该图层数据的属性表中新加一个字段(数据类型为text),然后在该字段上单击鼠标右键,选择Field Calculator,在弹出的窗口中勾选“Advanced”,将下列代码复制到“Pre-Logic VBA Script Code”下,在下一个窗口中输入r,即可得到你要的结果。
dim m as integer
dim n as integer
dim x as integer
dim y as integer
dim r as string
m= Len ( [Name] )
n= InStr ( 1, [Name], "*" )
x= Left ( [Name],n-1 )
y= Right ( [Name],m-n )
if x<y then
r=y & "*" & x
else
r= [Name]
End if
当然,也可以不建立新字段,直接在你的当前字段上执行计算,但为了比较以及保存原始记录值,最好按上述方法建立一个新字段。另此代码执行效率一般,建议分别求取小数和大数后再连接到一起。
联系客服