首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用其他字段值Esri Arcmap定义字段值

使用其他字段值Esri Arcmap定义字段值
EN

Stack Overflow用户
提问于 2020-03-05 15:03:51
回答 1查看 121关注 0票数 0

我在用arcMap,Esri。我有一个包含文本信息的polyline图层,我需要将其转换为数字值。我希望在字段计算器中使用Python脚本来完成此任务。

我的挑战:在一个字段中使用字段值,我想在另一个字段中定义值。在我的例子中,我需要用数字来定义道路的宽度,这取决于来自另一个字段的文本中的字段值。道路"widthNumber“将取决于另一个字段值"widthText”的值。

EN

回答 1

Stack Overflow用户

发布于 2020-03-09 16:34:32

有许多方法可以做到这一点。我假设这两个字段位于相同的要素类/shapefile中,并且widthNumber字段是某种类型的整型。

理想的情况是使用切换用例(Java/C#),但是python中不存在这种情况。因此,我们可以使用字典来重新创建开关,也可以简单地加载ifs。我喜欢更干净的代码,所以我把字典的逻辑也包括进来了。但是如果你认为有必要的话,你可以随时把它放到一堆if中。

您所要做的就是使用逻辑前脚本代码区编写一个函数,该函数接受widthText并返回widthNumber。

代码语言:javascript
运行
AI代码解释
复制
def calculateValue(text):
switcher ={
    "Ones":1,
    "Fivers":5,
    "Threebs":3,
    "Twotow":2,
    "Four":4,
    "Fivers":5
}
return switcher.get(text,"Invalid")`

然后在底部,您只需调用该函数并传入属性..calculateValue(!widthText!)

在本例中,我没有编写任何错误处理来处理无效值,这取决于您的值是如何存储的。确保所有内容都使用相同的大小写(上/下)以确保一致性可能是明智之举。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60548317

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文