在 ArcGIS 中使用函数块给字段赋随机值
GIS小技巧又来啦!
在 ArcMap 或 ArcGIS Pro 中通过使用字段计算器,给字段赋随机值。
通过字段计算器内置的 VB、Python 方法可以构建函数块表达式实现各种各样的赋值操作,下面我们来看看通过使用内置的 Python 函数块来实现随机赋值。
(也可以制作成工具箱哦,更加方便)
ArcMap 生成随机值
打开字段计算器,解析程序更改为 Python(橙色框选0);
勾选显示代码块(橙色框选1);
然后导入 Python 的内置模块
random
,把创建一个函数来获得随机值,赋整数随机值,且把范围限制在4到9(橙色框选2);最后指向新创建的函数(橙色框选3)。
from random import randint
def bar():return randint(4,9)
如果想要获得随机的小数呢?
在确保当前字段类型是双精度或者浮点型的前提下,使用该函数块即可,表示产生 4 到 9 之间的随机浮点数,区间可以不是整数:
from random import uniform
def bar():return uniform(4,9)
不仅能随机产生数字,还有字符串:
from random import choice
def bar():return choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
如果读者朋友对 Python 一窍不通,那么你就只能照猫画虎的,模仿我的这种写法,你能改变的只有里面的范围数字。
但如果你对 Python 有一定的了解,那么你可以在这里发现一片广阔的天地,Python 内置的大量的默认库都能为你所用。
ArcGIS Pro 生成随机值
在 ArcGIS Pro 中的道理也是一样的,就不多说了,截图如下:
制作成工具箱
像这种功能非常适合制作成 ArcGIS 的自定义工具,自定义工具可以在窗口中选择图层,过滤该图层的字段,然后选择特定范围的整数或者浮点数(带小数),70行 Python 代码应该可以实现。
有一定 Python 基础,但对于自定义工具箱不熟的朋友可以查看文章《搜罗全网!ArcGIS二次开发Python(arcpy)指南(七):你也可以制作ArcGIS工具箱》。
另外需要需要注意的事,自定义工具箱在中文支持方法有一些独特的BUG,请多多了解
自定义工具我就简单提一下,后续会出详细的 Python 教程,会更新进海怪工具箱中。
0条评论