欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ArcGIS属性表排序

程序员文章站 2022-07-14 10:30:21
...

背景:现有一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()即可:
ArcGIS属性表排序
情况二: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

运行结果如下所示:
ArcGIS属性表排序

相关标签: arcgis