如何在Arcgis中对图斑进行自上而下,从左往右地编号

在实际项目中,需要我们按照自上而下,从左往右的顺序为图斑编号,并且多数时候序号位数是确定的,针对这个问题我总结了一个自认为还算简便的方法。下面是具体的方法步骤:

1、计算Xmin与Ymax。利用坐标进行排序,首先要算出坐标值。需要说明的是这里没有直接利用质心坐标而采用Xmin、Ymax进行排序,是因为质心坐标会遇到一种情况,就是当这个图斑很长或者很宽时,本应排在前面的序号,而因为质心靠后不得不被排到后面的序号中,所以为避免这种情况而采用Xmin与Ymax来进行排序。分别新建字段Xmin与Ymax,在字段计算器中输入python语句“!shape.extent.Xmin!”和“!shape.extent.Ymax!”分别计算出Xmin与Ymax的值,如图:

 如何在Arcgis中对图斑进行自上而下,从左往右地编号

2、利用sort(Data management)工具对Xmin和Ymax排序。Ymax在前为降序,Xmin在后为升序。

如何在Arcgis中对图斑进行自上而下,从左往右地编号

3、图斑编号。新建一个字段BH,在字段计算器中利用python语句进行自动编号。

逻辑脚本代码:

rec=0

def autoIncrement():

 global rec

 pStart=1#初始值

 pInterval=1#间隔值

 if(rec==0):

  rec=pStart

 else:

  rec=rec+pInterval

 return rec

以下是赋值栏填写

(1)实现常规编号:

autoIncrement()

(2)实现给定长度编号,例如长度为4:

(str(autoIncrement())).zfill(4)

如何在Arcgis中对图斑进行自上而下,从左往右地编号

最后结果:

如何在Arcgis中对图斑进行自上而下,从左往右地编号

上一篇:vue 裁剪图片,并保存裁剪的图片


下一篇:背包问题