ArcGIS属性表字段进行自动排序编号

该文章已生成可运行项目,

最近看到群里有同学提问,怎样给属性表中的字段按顺序进行编号,今天就给大家介绍一下方法~

目录

01 直接使用FID或OID字段

02 FID或OID非顺序排列

03 使用Python语句进行排序

04 按照某字段排序后编号

05 编号前自动填充为多位数


01 直接使用FID或OID字段

如果数据是shapefile格式,系统自带FID字段,一般从0开始,可以自行添加新字段,使新字段=FID+1,就可以从1开始编号。
如果数据是GDB格式,系统自带OBJECTID字段,从1开始,直接使用,或添加新字段,使新字段=OBJECTID。

02 FID或OID非顺序排列

如果你的OBJECTID并不是按顺序编号,如图:

只需要重新导出一下,OBJECTID字段就会自动从1开始编号。

直接使用该字段,或添加新字段均可。

03 使用Python语句进行排序

如果你的OBJECTID并不是按顺序编号,如图:

也可以使用Python语句进行自动排序。

解析程序:

Python

表达式:

autoIncrement()

代码块:

rec=0

def autoIncrement():

global rec

pStart = 1 #从1开始,可自行调整

pInterval = 1 #间隔为1,可自行调整

if (rec == 0):

rec = pStart

else:

rec = rec + pInterval

return rec

注意写代码时前面要加空格,符合Python代码的规则: 

注意:此方法实际是按照FID或OID顺序进行编号的,如果按照某字段排序后进行编号,需要使用排序工具。

04 按照某字段排序后编号

如果需要按照某字段进行排序,比如长度,首先使用排序工具:

结果表中的OID字段就是按照长度进行排序并编号的。

后续可按照前面介绍的1、2、3种方法添加新字段后进行编号。

05 编号前自动填充为多位数

如果需要将编号设为更美观的相同位数,比如001,002,字段需要为文本型字段。

添加文本型字段,右键字段计算器:

代码:str( !OBJECTID!).zfill(3)

使用.zfill()函数定义需要的位数,结果如下:

关于属性表排序相关的小技巧就介绍到这里吧~~~

欢迎大家关注培训中心公众号:higispx

ArcGIS属性表字段进行自动排序编号icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzkwMDY0NzMzMg==&mid=2247484744&idx=1&sn=59100cbbfb8bad3a007f364aff5cfcc9&chksm=c0419583f7361c95e12736445eeea25ea6aa884a3649710cb135794f4a1bac55ad6ea8d9acd3&scene=21#wechat_redirect

我们将持续不断地更新更多技术文章!

本文章已经生成可运行项目
### ArcGIS属性表中的字段含义解释 在ArcGIS中,属性表用于存储地理要素的相关数据信息。这些信息通常通过表格形式呈现,其中每一列表示一个特定的字段(Field),而每行则对应于地图上的某个具体要素。以下是关于字段的一些基本概念及其意义: #### 1. **字段定义** 字段是属性表的一个组成部分,表示某一类特征或属性的数据集合。例如,在描述土地利用类型的图层中,可能会有一个名为“LandUseType”的字段来记录每个地块的土地用途。 #### 2. **常见字段类型及含义** 以下是一些常见的字段名称以及它们可能代表的意义[^1]: - **ID (Identifier)** 唯一标识符,用来区分不同的要素。它通常是自动生成的整数序列。 - **Name** 要素的名字或者标签,比如道路名、河流名等。 - **Code** 编码字段,常用于分类目的。例如,“县代码”可以是一个三位数字编码,用于唯一识别某地区的行政单位。 - **Area / Length** 几何测量值,分别表示面状要素的面积和线状要素的长度。 - **Date / Time** 时间戳字段,记录事件发生的时间或创建/修改日期。 - **Category / Type** 表明类别或种类的信息,如植被类型、土壤类型等。 #### 3. **案例分析:多条件选择** 假设有一份属性表包含了三个县的代码(如001, 002, 003)以及不同林种代码(如111, 112, 117)。如果要筛选出某个特定县内的两种林种,则可以通过SQL查询语句实现这一操作[^2]: ```sql "CountyCode" = '001' AND ("ForestCode" = '111' OR "ForestCode" = '112') ``` 此表达式的逻辑结构如下: - `"CountyCode" = '001'` 确定了目标区域为第一个县; - `("ForestCode" = '111' OR "ForestCode" = '112')` 则进一步限定了所关注的具体森林类型。 #### 4. **Python脚本的应用场景** 当需要批量处理复杂计算时,可借助Python编写自动化脚本来完成任务。例如设置新字段值的操作可通过调用字段计算器并输入相应的Pyhton语法来进行配置。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值