乐于分享
好东西不私藏

AI造的插件适合在ArcGIS中自动完成哪些工作?

AI造的插件适合在ArcGIS中自动完成哪些工作?

前言

6月份的时候,得益于室友Token的倾囊相助,我让AI造出了一个有模有样的ArcGIS Pro内嵌浏览器插件来

但后来又觉得插件功能太单调了,我就想着能否让AI Agent自己给插件造个专属于ArcGIS Pro的AI Agent,于是插件中的GeoAI功能应运而生

在让AI开发时,我先让AI全网搜罗一下有没有成熟的开源项目,以免AI闭门造车出问题。然后将以下三个目前搜到的开源项目:

  • nicogis 的 MCP-Server-ArcGIS-Pro-AddIn:https://github.com/nicogis/MCP-Server-ArcGIS-Pro-AddIn
  • mcpgee 上的 arcgis-mcp-serve:https://www.mcpgee.com/servers/arcgis-mcp-serve
  • GitHub 官方的 github-mcp-serve:https://github.com/github/github-mcp-serve

发给AI让它自己造出新版插件。可能是提示词工程不够完善,一开始造的GeoAI功能漏洞百出,例如对话输出时会导致软件长时间无响应、界面交互设计不够合理等

经过后续多轮问题反馈和修复,功能总算是初露成效了。一开始我还觉得插件中的这个AI功能不怎么实用,顶多只能当做个样板看看,但后来我自己用了一段时间,发现GeoAI确实能干些实际的工作了

地图投影

让GeoAI帮我给地图自动选择合适的投影方式——这是我最经常让它帮我做的事

为什么?因为选择投影坐标系不仅要考虑地图的使用场景,还有地图所呈现的空间区域,不同的地图都有着不同的投影参数

如果是面对一幅要制作的陌生地图场景,你的大脑要从一大堆投影坐标系中检索出合适的投影坐标系,这对于初学者来说并非易事

而且有些投影坐标系参数可能会在工作中重复地设置,与其每次都手动输入参数设置,不如让AI为我们自动配好

例如我加载了一份来自天地图的中国地图的省面矢量数据,然后给GeoAI发送“帮我将当前地图设置合适的投影坐标系”,它就能自动给我当前地图设置好兰伯特等角圆锥投影

属性表处理

ArcGIS中的属性表编辑虽然就像是处理一份表格文件,但是使用起来并不如Excel那么简单,如果涉及批量增删或替换字段信息,往往需要借助代码

而如果能让GeoAI自动处理属性表,那简直能为地理信息数据处理工作者们节省了大量时间

例如我给GeoAI发送“在“省会驻地GS2019_1822”这份数据的属性表帮我再新增一个字段,用于表示该城市属于几线城市并完善该字段信息”,它自动为每个城市匹配上了相应的城市等级“

换作是以前,要么人工判别然后手动录入,要么利用打开字段计算器,写好表达式,用代码一次性解决

但现在,这种活,只要交给AI一句话就搞定了,属性表中的点击操作都显得多此一举

不过,对于删除属性表中的部分信息,AI出于安全原则不会直接执行,需要确认后才行

数据筛选导出

这是潜在可实现的场景之一。GeoAI能自动帮你筛选选中你想要的数据要素,但是导出数据往往需要给它一个明确的位置才行,否则容易导出失败

例如我给GeoAI发送“帮我将“省会驻地GS2019_1822”这份数据中的一线城市和新一线城市要素导出至当前工程的地理数据库中,并命名为一线城市及新一线城市”

当然,要实现以上场景,少不了接入大语言模型的API。在设置中填入API地址,也就是Base URL,然后还有密钥,就可以调用AI了

至于大语言模型的API怎么获取到?我这里不打广告,如果你是小白,你可以先找一个免费的API试用一下,不浪费额度,例如提供部分免费小模型的讯飞星辰(调用方法我之前也发过,见:你也可以造出下一代ArcGIS内嵌浏览器插件了!)、目前正在公测限免的商汤大模型等

以上使用场景都是我个人使用频率较高的场景。除了这些,GeoAI还能做哪些工作?你可以直接问它,例如问它“你能帮我做什么?哪些能做?哪些还做不了?为什么做不了?”,它会告诉你

那目前还有哪些场景是该插件GeoAI还没法完全替代人工,但却是未来值得实现的地方呢?例如:

  • 一些简单但重复繁琐的操作它也许能帮你完成,但是像地图符号系统的设置、地图布局修饰调整等视觉美化的工作它做不了
  • 它能帮你加载本地数据,帮你列出某类数据下载途径,但是它无法主动上网帮你下载数据,而且缺乏联网搜索功能,信息可能不及时

当然,我不是编程专业出身,也看不懂复杂型代码,项目架构可能很臃肿杂乱,暂未优化。另外,GeoAI在调用工具操作时,软件可能会暂时卡顿,只能耐心等待

其它方面的使用场景也暂未测试过,可能存在瑕疵。虽然这个插件看起来像是个人版的玩具,但目前它的主要功能还有用,可服务于人就行

插件及源代码下载可向后台私信“软件”,找到“软件开发系列”中的“ArcGISPro内嵌浏览器插件”文件夹下载

代码仓库见:https://github.com/geograhic/ArcGisProEmbeddedBrowser