新一轮的森林图斑核查又开始了,且开始要从2013年开始核查,完善森林资源,自查家底。
数量庞大的图斑,零零总总、散乱的分布在县市乡镇的各个角落。为了便于统计,对下发的图斑进行排序是必要的也是有作用的。因此,今天ArcGisdada为各位带来了——如何自动排列小班顺序的文章。
应用场景:图斑核查小班排序、征占用林地小班排序、大面积林木采伐小班排序以及小班拐点的提取等。
接触过林业数据编制或是森林资源二类调查的小伙伴,对于林业小班的排序要求应该能够知道并熟知——“从上到下,从左至右”。知道这个规则那么排序就可以按照空间顺序进行。在ArcMap的横、纵轴分别为X、Y轴,对小班排序可以先提取小班的质心(X、Y坐标)。然后,对Y坐标进行比较大小,即:从大到小依次赋值小班号;如若Y坐标相同则比较X坐标大小,即:小到大依次赋值小班号。
以上即为小班排序的原理。
下面我们就来在ArcMap中进行实际操作。
1、加载小班图层,提取质心。
如图1-1所示,添加小班宗地数据(此宗地数据已经与林班网进行过裁剪。(栅格、矢量的裁剪、折点等编辑操作(地理处理))将图层属性表打开分别添加X、Y字段((基础操作)ArcGis图层属性表中字段内容的汇总)>>提取X/Y质心。
图1-1:
视频1(打开ArcGis属性表>>添加X\Y字段>>提取质心):
2、打开小班图层属性表,打开多字段排序。
按照上述原理(“从上到下,从左至右”),依次对Y字段属性进行递减排序;X字段属性进行递增排序。如图1-2所示,
图1-2:
视频2(打开属性表>>选中属性表某个字段>>单击右键>>下拉框打开高级排序,对乡镇、村委会、林班、X、Y字段排序)注:字段属性表的高级表排序只有四个可选项,因此排除乡镇字段。
3、添加一个小班号字段,对排序好小班顺序赋值。使用属性选择选择同一个乡镇、村委会、林班号在小班号字段处使用字段计算器从上到下依次赋值(1——n)即可,字段自动顺序赋值:字段计算器赋值语句如图1-3所示。
步骤:选择字段,选择Python,勾选显示代码复选框,在上面的空白处输入:
rec=0
def xb():
global rec
pStart = 1
pInterval = 1
if (rec == 0):
rec = pStart
else:
rec = rec + pInterval
return rec
在下方的空白处,输入:xb()
)
注:此字段计算仅能在完全的小班属性表中运行。即:不能通过图层属性,勾选消失部分字段或自定义查询使小班不完全。且字段需是文本属性,字段名需是英文字母命名。
视频3(ArcGis字段自动顺序赋值序号)
另,如果数据量不大也可以使用Excel或使用字段计算器,具体使用见图1-4所示。