ArcGIS的属性表高级操作

  在arcgis中一般用的字符计算都感觉很简单,但是用起来很顺手。一般一两句简单的VBA语言就可以实现属性的很多计算,但是更高级的计算方式没有用到。于是自己学习了一下,当然这个需要Python的一些基础。

Pre-Logic Script Code为编辑的函数代码,下面id=用来对于函数进行调用。下面用两个例子进行说明:

1连读的序号的添加

在ArcGIS的属性表中,由于编辑修改的原因,默认的FID或OID并不连续,经常需要给要素添加连读的序号,可使用Python9.3代码完成。

rec=-1

def autoIncrement():

 global rec

 pStart = 1 #起始值为1,可修改

 pInterval = 1 #间隔值为1,可修改

 if (rec ==-1):

  rec = pStart

 else:

  rec = rec + pInterval

 return rec

调用方法:

autoIncrement()

2字段分类

将字段Type的code对应到新的字段ClassName中,Pre-logic Script Code里面的代码是标准格式的Python,可以写很复杂的函数,这次用到的代码是:

def nae(type):
  if type==1:
    return "建筑和道路"
  elif type==2:
    return "植被"
  elif type==3:
    return "裸地"
  else:
    return "水体"

 

                                 

 

posted @ 2017-12-09 21:52  墨韩  阅读(251)  评论(0)    收藏  举报