ArcGIS图斑自上而下,从左到右编号
怎样将图斑自上而下,从左到右编号
很多工作要求将图斑自上而下、从左到右排序,arcgis没有现成的工具做这事情,许多软件虽然能做,但方式是采用按质心点来排序,这种方法有很多弊端,比如有个图斑从左上角开始一直延伸到左下角,按理说应该是第一个图斑,但按质心排序时会排到后边去。下面介绍的方法是按照每个图斑的最小外包矩形的左上角坐标来排序,这样的排序方法基本符合要求。
具体步骤:
- 1、在属性表中增加xmin、ymax、tbxh字段用于存放外包矩形左上角x、y坐标和排序后的图斑序号
- 2、将附件解压,里边有shape_Get_X_Min.cal和shape_Get_Y_Max.cal两个文件分别用于计算xmin和ymax
- 3、开始编辑,打开属性表,在xmin上点右键,选field calculator,然后点load,将shape_Get_X_Min.cal载入
- 点OK,xmin将填入字段
- 4、在ymax上点右键,选field calculator,然后点load,将shape_Get_Y_Max.cal载入,计算ymax
- 5、导出属性表到dbf,在excel里将其打开,按ymax降序,xmin升序排序
- 6、在excel里将表增加一个字段,比如bh,令bh=row()-1,将表另存为.xls文件。
- 7、在arcmap里将属性表和上步保存的xls文件通过objectid或fid做join。
- 8、开属性表,在tbxh上点右键,令tbxh等于xls中的bh
- 9、保存结果。
这样做后,排序后的图斑编号就保存在了tbxh里。
这个现在应该有更简单的办法,新建一个字段Xmin,用字段计算器选择python,下面输入!shape.extent.Xmin!,依次计算出xy极值,然后用工具箱中的sort工具主排序次排序应该就可以了
感觉操作还蛮复杂的,提供一个思路,本人没试过,有兴趣的可以试试看 1、用字段计算器(python)求出xy排序极值,方法!shape.extent.XMin!; 2、用工具箱-数据管理工具-常规公积金集-排序(10.1)对xy极值进行主排序次排序。
来源:CSDN
原文:https://blog.csdn.net/gisoracle/article/details/4428789
版权声明:本文为博主原创文章,转载请附上博文链接!