【ArcGIS制图】&利用字段计算器编写脚本,对数据分类

大家是否记得之前,写过一篇关于使用python脚本对数据进行分类的例子,如果不清楚的话,可以查阅下面的链接。

https://blog.youkuaiyun.com/u010608964/article/details/89929059

在上面的例子中,需要对数据进行读取,然后利用更新游标对属性表遍历,按照我们的逻辑对数据进行分类,然后再更新分类字段。而今天我们使用的是ArcGIS Desktop的字段计算器,编写脚本来分类。那么,还是看一下下面的数据。其中,【BOU2_3M_ID】是我们用来分类的数据,【Class】字段则用于分类的结果。

按照1-2000为一个等级,2000-4000为一个等级,4000-6000为一个等级,大于6000为一个等级。那么我们来编写代码了。首先,打开字段计算器,如下图所示,勾选好【Python】、【Show Codeblock】,而下面的Pre-Logic Script Code则为我们的编写Python脚本的区域。这里写了一个函数,用于逻辑判断。不过需要特别注意的是,python非常讲究代码的缩进,所以大家可以事先在其他编辑器中调试后,运行成功,然后将代码粘贴过来。

编写好代码后,只需要在字段【Class】下面填上面的函数,选择需要分类的字段作为参数,建议点击上面的【Fields】下的字段。这样在【Class】下就完成对函数的引用。

最后,我们来看一下分类的结果。

好了,最后就贴一下在这实现过程中的代码了。当然了,这里是一个例子,小伙伴们可以按照自己的需要进行逻辑设计。

def MyClassFunction(BOU2_4M_ID):
    if BOU2_4M_ID== 1:
        return "A"
    elif BOU2_4M_ID > 1 and BOU2_4M_ID < 2000:
        return "B"
    elif BOU2_4M_ID >= 2000 and BOU2_4M_ID < 4000:
        return "C"
    elif BOU2_4M_ID >= 4000 and BOU2_4M_ID < 6000:
        return "D"
    elif BOU2_4M_ID >= 6000:
        return "E"
    else:
        return "NA"


                                更多内容,请微信扫二维码关注公众号,或者加入arcpy开发qq学习群:487352121

                                                                        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yGIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值