首页 新闻中心 技术博客

在ArcGIS使用Python完成字段计算

发布时间:2021-11-13 22:49:37   浏览量:1913   作者:GIS前沿

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

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

def LSH(XZ):

global maxXZ = 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进行类型识别,如果是旱地、水田、水浇地就属于耕地,不是则属于非耕地;再根据属性字段提取矢量数据就可以得到耕地数据及非耕地数据。

来源:https://blog.csdn.net/qq_43173805/article/details/121184590

成都途远GIS是一家专业致力于无人机航空摄影测绘、航空数据处理、GIS地理信息系统研发、数字孪生城市制作、数字沙盘模型等业务的创新型科技公司,为您提供一站式地理信息服务。