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

界址点编号工具界面
相关数据:界址点图层、宗地图层
甲方要求:找出宗地对应的所有界址点号,对这些界址点号以J1开始按顺序排列
要找出宗地所对应的所有界址点号,这里只要执行一个标识 即可得到这样得到的结果。
难点在于对界址点的编号,经过检查,这些界址点存在明显的乱序,比如这样:132564

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


不得已只能动用C#的神秘力量(写个arcgis插件)
此插件版本一:
第一步做一个标识的操作,让所有的界址点有了归属,标记了每一个界址点属于哪一个宗地。
接下来的任务就是对宗地的界址点进行编号,每个宗地的界址点都从J1 开始编号。
宗地内遍历每一个界址点,找到距离这个界址点最近的宗地点,然后给这个界址点赋予这个宗地点的这个序号。遍历完界址点之后,对这个界址点进行排序就会得到我们想要的结果了。
这一个方法需要界址点、宗地图层有一个相同的字段,也就是先必须进行标识操作。
插件版本一实现代码:经过标识处理后界址点编号

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

执行结果
为了程序执行的效率以及稳定性,不生成图层、不存储字段信息,插件把处理的结果按
"序号,宗地代码,界址点编号,X,Y"
把所有信息输出到TXT。
直接把TXT文件拖到arcgis里边,展点,就是我们想要的结果了。


插件获取:
