在 ArcGIS 中使用函数块给字段赋随机值

在 ArcGIS 中使用函数块给字段赋随机值,第1张

在 ArcGIS 中使用函数块给字段赋随机值,第2张

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)

在 ArcGIS 中使用函数块给字段赋随机值,第3张

如果想要获得随机的小数呢?

在确保当前字段类型是双精度或者浮点型的前提下,使用该函数块即可,表示产生 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 中使用函数块给字段赋随机值,第4张

制作成工具箱

像这种功能非常适合制作成 ArcGIS 的自定义工具,自定义工具可以在窗口中选择图层,过滤该图层的字段,然后选择特定范围的整数或者浮点数(带小数),70行 Python 代码应该可以实现。

有一定 Python 基础,但对于自定义工具箱不熟的朋友可以查看文章《搜罗全网!ArcGIS二次开发Python(arcpy)指南(七):你也可以制作ArcGIS工具箱》

另外需要需要注意的事,自定义工具箱在中文支持方法有一些独特的BUG,请多多了解

自定义工具我就简单提一下,后续会出详细的 Python 教程,会更新进海怪工具箱中。


在 ArcGIS 中使用函数块给字段赋随机值,第5张


DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在 ArcGIS 中使用函数块给字段赋随机值

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情