ArcGIS中提取字段值的其中某个部分的方法

一、问题来源

        在工作中,经常遇到需要提取某个字段的一部分,有的在开始部分、有的在中间,还有的在最后面。例如我们需要BSM字段的前6位作为行政区代码并赋值给XZQDM字段。

ArcGIS中提取字段值的其中某个部分的方法_第1张图片 图1

 二、解决方案

        一个问题的解决方案是很多的,八仙过海,而各显神通,没有最好的办法,只有最适合自己的办法嘛。这里介绍常用的VB和Python自带的脚本功能实现。

2.1 VB脚本方法

        在字段计算器勾选VB脚本,并勾选字符串,然后双击右侧的Left()函数,此时文本编辑框就加入了Left函数,然后点括号中,再双击需要提取的内容所在字段,再输入一个英文状态下的逗号,再输入你需要提取的字符长度。如图2所示。

位置小知识:0代表第一个,2代表第三个,-1代表倒数第一个,-2代表倒数第二,以此类推。

#注意,逗号必须是英文状态下的逗号!
Left( [BSM],6 )
ArcGIS中提取字段值的其中某个部分的方法_第2张图片 图2

2.2 Python脚本方法

         在字段计算器解析程序勾选Python,然后双击需要被提取的字段,此时文本编辑框就出现了被括号包围的被提取字段,在英文状态输入[ ] ,然后在括号中输入0:5,代表是提取该字段的第1个到底6个数字,在Python里0代表第一个。如图3所示。

Python位置小知识:0代表第一个,2代表第三个,-1代表倒数第一个,-2代表倒数第二,以此类推。

#以下符号都是在英文状态下输入才有效!
!BSM![0:5]
ArcGIS中提取字段值的其中某个部分的方法_第3张图片 图3

你可能感兴趣的:(ArcGIS相关,arcgis,python,数据库)