ArcGIS属性表排序

本文介绍了如何在ArcGIS中根据面图层的面积大小对属性表进行排序,并创建新的编号字段。当FID字段已按面积排序时,可以直接通过字段计算器赋值。如果FID字段顺序不正确,可以通过Python脚本实现排序,具体代码可以在ArcGIS的字段计算器中以Python显示代码块的方式运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ArcGIS属性表排序

  • 背景:现有一shp面图层未进行编号排序
  • 需求:按照图层内各要素面积大小进行,新建编号字段进行排序。
  • 实现步骤:
    情况一:若FID字段就是按照面积大小进行排列的,则直接使用字段计算器,bh=FID+1即可。
    若是用python代码实现如下所示:
    在字段计算器中选择显示代码块,解译程序选python,在预逻辑代码脚本中输入一下代码:
rec=-1
def autoIncrement():
   global rec
   pStart = 1 #从1开始,可修改
   pInterval = 1 #依次加1,可修改
   if (rec ==-1):
      rec = pStart
   else:
      rec = rec + pInterval
   return rec

在结果中输入autoIncrement()即可:
在这里插入图片描述
情况二:FID字段默认排序和需求的排序方式不同:
在python窗口中输入以下代码:

import arcpy 
rows = arcpy.UpdateCursor("09","","","","TBMJ A")#09是图层名称;TBMJ是需要根据大小排序的面积字段;A表示升序;可修改
i=1
for row in rows:
     row.BH_1=i
     i=i+1
     rows.updateRow(row)
del rows
del row

在这里插入图片描述
转发:https://blog.csdn.net/weixin_456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值