乐于分享
好东西不私藏

更多AI+GIS小分享:不写代码,批量搞定shp面填洞

更多AI+GIS小分享:不写代码,批量搞定shp面填洞

处理GIS数据时,面要素里的"洞"(内部环)是不是让你很头疼?

手动填太麻烦,写代码又不会。这篇文章大概会花费你3分钟的时间,带你用AI+Python零代码基础搞定批量shp面要素的洞填充问题。

直接上干货 👇

1. 核心思路

简单来说,底层逻辑依然是AI驱动Python代码控制ArcGISPro/ArcMap底层的API,并不是AI直接操作软件。

但目前来看也非常足够了,能够完成非常多的工作!

更重要的是——不需要你懂任何代码知识,只需要:

  • 描述你的需求

  • 告诉AI你电脑里ArcGISPro/ArcMap/QGIS的Python路径

剩下的交给AI就行!(以下使用的AI软件是Trea

2. 实战演示:填充面要素中的洞

2.1 我的需求

我有一个省级行政区划的shp文件 2024年省级简化_无岛.shp,需要检查面要素里面有没有洞,有洞的话给它填上。

Python环境路径:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe

2.2 第一次尝试(翻车现场)

把需求丢给AI,结果...

AI告诉我:"没有找到洞"

但实际上在软件中明明能看到洞!

💡 小技巧:有时候需要换个说法,比如把"洞"改成"内部的环"

2.3 调整提示词,再次尝试

我补充道:

有洞,我明明看到了有洞,内部的洞,再检查

然后AI返回结果:

完美!我已经成功检查并填充了面要素中的洞。
检查结果:
- 共检测到6个省份的面要素包含洞:
- 甘肃省(3个环)
- 河南省(2个环)
- 湖北省(3个环)
- 湖南省(3个环)
- 广西壮族自治区(2个环)
- 贵州省(2个环)
填充结果:
- 成功创建了新的shapefile文件:2024年省级简化_无岛_无洞.shp
- 所有洞已成功填充
- 验证结果显示没有任何剩余的洞

龟龟!成了!🎉可以看到原本有空洞的面已经被填充好了。

2.4 技术实现

  • 使用ArcPy的几何操作,只保留面要素的外部环,移除所有内部环(洞)

  • 保持了原始属性表的完整性

  • 维持了原始空间参考系统

3. 更多可能性

按这种思路,GIS数据更多的问题都可以通过AI方法解决:

  • ✅ 锐角边修复

  • ✅ 悬挂点处理

  • ✅ 各种拓扑问题

  • ✅ ...等等

⚠️ 需要注意的是:AI并不是每次都一次成功,有时候需要调整提示词、多试几次。

最后

这个AI+GIS的小案例分享完毕,希望对你有所帮助!

不用谢,只要点赞爱心(求你了)

另外再djb文件夹中,又增加了许多数据,比如道路矢量数据、土地利用数据等