欢迎光临散文网 会员登陆 & 注册

【gis插件】arcgis插件界址点编号工具、C#实现思路(附插件下载链接)

2023-07-20 11:19 作者:GIS程序猿  | 我要投稿

arcgis插件界址点编号工具、C#实现思路


界址点编号工具界面

相关数据:界址点图层、宗地图层

甲方要求:找出宗地对应的所有界址点号,对这些界址点号以J1开始按顺序排列

        要找出宗地所对应的所有界址点号,这里只要执行一个标识 即可得到这样得到的结果。

难点在于对界址点的编号,经过检查,这些界址点存在明显的乱序,比如这样:132564 

没处理前、乱序的界址点

 图形复杂,太复杂了,像楼下这种图形,像个五角星一下,更甚还有许多镂空的图形,用arcgis无论怎么排序、编号,它编号都得乱哇。 (但是插件能搞定)

处理后、排序好的界址点

不得已只能动用C#的神秘力量(写个arcgis插件)

此插件版本一:

第一步做一个标识的操作,让所有的界址点有了归属,标记了每一个界址点属于哪一个宗地。

接下来的任务就是对宗地的界址点进行编号,每个宗地的界址点都从J1 开始编号。

宗地内遍历每一个界址点,找到距离这个界址点最近的宗地点,然后给这个界址点赋予这个宗地点的这个序号。遍历完界址点之后,对这个界址点进行排序就会得到我们想要的结果了。

这一个方法需要界址点、宗地图层有一个相同的字段,也就是先必须进行标识操作。

插件版本一实现代码:经过标识处理后界址点编号

插件版本二:

后来想了想,如果直接用代码执行按位置进行选择,也能得到和宗地对应的界址点。于是就能把标识这一个步骤省略掉了。 勾选上 “按位置进行编号” 即可。

插件版本二代码:按位置进行编号代码块

执行结果

为了程序执行的效率以及稳定性,不生成图层、不存储字段信息,插件把处理的结果按

"序号,宗地代码,界址点编号,X,Y"

把所有信息输出到TXT。

直接把TXT文件拖到arcgis里边,展点,就是我们想要的结果了。

把TXT文件拖入到arcmap,打开
处理后界址点数据

插件获取:


【gis插件】arcgis插件界址点编号工具、C#实现思路(附插件下载链接)的评论 (共 条)

分享到微博请遵守国家法律