大数跨境
0
0

ArcGIS中用几行简单Python代码解决工作中字段计算问题

ArcGIS中用几行简单Python代码解决工作中字段计算问题 GIS前沿
2021-08-26
2


因为文本赋值或者进行加减法赋值固定位数的时候比较困难,使用这个代码的话就可以在文本型字段下进行9位数的流水号赋值:


max = 121 #从某个号开始流水号

def LSH(XZ):

    global max

    XZ = XZ.strip()

    if XZ == None or XZ == "":

        max = max + 1

        return str(max).zfill(9)

    else:

        return XZ


使用方法如下:


具体功能:对某个字段进行流水号赋值及其进行9位数的流水号赋值及确认某号开始流水,在农经权、房屋一体化及各类权证工作中及其有效!


做数据二级或多级分类的时候,一个一个的数据融合太过于苦恼,例如耕地(按照资源部给出的定义为:水田、旱地、水浇地),当我要对地类二级分类的时候,岂不是要对数据做五六次融合以及好多次数据筛选?


对于懒人来说,这怎么可以!


对于工作精英来说,这种小事浪费这么多时间,真是对自己能力的一种亵渎。


咳咳,回到正题。


基于这种考虑,我们做了这样几行代码,如下:


def  a(b)

 if  b == u"旱地"

  return "耕地"

 elif b == u"水田"

  return "耕地"

elif b == u"水浇地"

  return "耕地"

 else

  return"非耕地"


这是更新过后的字段,这样再提取耕地数据就轻而易举了


关于这个的应用场景呢,主要是基于一个项目的需求,要求做把地类分为耕地与非耕地两种类型,我们先新建一个分类字段,设置为字符串类型(即文本型),再根据DLMC进行类型识别,如果是旱地、水田、水浇地就属于耕地,不是则属于非耕地;再根据属性字段提取矢量数据就可以得到耕地数据及非耕地数据。


- END -


ArcGIS综合制图完整版.doc(文档可下载)
Python在GIS中的应用实例
ArcGIS Python的快速入门(附文档下载链接)
7.72GB ARCGIS  ERDAS  ENVI干货教程网盘下载
利用Python在ArcGIS中批量裁剪影像(带重叠度)「附源代码下载」


戳原文,更有料!
【声明】内容源于网络
0
0
GIS前沿
分享测绘地信资讯,交流行业软件技巧。
内容 4923
粉丝 0
GIS前沿 分享测绘地信资讯,交流行业软件技巧。
总阅读10.0k
粉丝0
内容4.9k