83682da7fc99900a9adc83b272bc5400.png

如题,昨天有小伙伴在公号私信里问我“如何在ArcGis中对属性表中的字段进行顺序赋值??”这个问题如果会一点python编程,利用Arcpy站点包外挂可能很容易就完成了。但是,ArcGisdada今天讲的是一些可以直接操作(好理解)的方法。PS:因为ArcGisdada也一直没有时间去好好学习有关python的编程,所以就只能使用ArcGis的字段选中导出字段计算器excel连接以及excel排序这四步来完成这个问题。

ArcGisdada本来也向提问者寻求相关数据,可能是其不太方便,没有把数据发给我。那么 我们就先假设建立一个数据图层123.shp,只是进行字段的排序所以就直接建点图层。然后,在添加一些字段名并添加几十个点数据。如图1-1所示,

图1-1:

ef30fb22de56e2e47299edc898e0dc12.png

第一种情况:需要从1开始升序排列。打开字段计算器使用“FID+1”即可获取。如图1-2所示:

图1-2

17b95f8c7141e8368a3e92fc1a5a7924.png

点击确定后计算出的排序字段中的内容即为:1到最大数的升序。如图1-3所示,

图1-3:

7056a012cef51013e4dbad170b7b7ae5.png

第二种情况,经过询问其实提问者遇到的是在一个图层中选中了的行属性需要如何排序?

同样的我们还是使用123.shp这个图层进行示范,如图1-4所示,添加一个排序2的字段(注:添加字段时需要区别字段的字符属性,请选择短整型,如排序所占字符量大就选择长整型。)

图1-4:

24a5cda60f49d5b77599aeb7471d3494.png

如图1-5,为假设的选中的图层需要进行排序的。

图1-5:

35d80e9b8d3efd5ffdfc5f4346179115.png

由于需要对选中的图层进行顺序赋值,第一种利用fid进行累加的方法就行不通了,根据.shp的fid自动生成属性,把选中的这些图层重新导出存为1234.shp再使用“fid+1”的字段计算方法进行排序即可。

如图1-6为导出的1234.shp图层,

图1-6:

a0dc5be11f51c95377d8358e81186e10.png
(点击可放大查看)

如左图导出到右图的属性列表,其顺序未变(由排序这个字段可以验证);FID重新由0开始往上排数。所以此方法可行。

按第一种情况的方法对导出的1234.shp进行字段“排序2”的顺序赋值,得到如图1-7所示的属性表,

图1-7:

d1e601d47282c7ac8b8782f4a34c626d.png

最后,如需把1234.shp排序后的属性与123.shp进行联合可以有以下两种方法。1、根据“排序”字段的唯一性,通过图层属性字段连接即可把1234.shp的“排序2”字段赋值到123.shp的图层中;2、直接使用地理处理中的联合功能,生成新图层。剔除不需要的空白属性或直接利用图层属性>>字段,进行需要字段的勾选然后导出新图层即可。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐