ArcGIS Pro 3.6 AI 助手 使用自然语言生成ArcPy代码(二)

预期ArcGIS Pro AI助手可以使用 ArcPy 站点包生成 Python 代码片段。这些代码可以在ArcGIS Notebooks、Python窗口或你选择的IDE中使用。

数据与业务情况

数据来自learn.arcgis网站,创建Python脚本工具教程。

C盘PythonTool下

地理数据库DC.gdb包含八个要素类。将这8个要素类加载到新地图上。

PythonTool 文件夹还包含名为 neighborhood.shp 的 shapefile。

假设您在城市办公室工作,经常收到对城市特定街区的数据提取请求。

为了完成这项任务,您需要将地理数据库中的所有要素类裁剪到一个街区,并将裁剪后的要素类存储在新地理数据库中。 以便您可以轻松对其进行共享,或将其用于备份目的。

这是许多 GIS 工作场所中相对常见的任务。

您可以在 ArcGIS Pro 中执行这些任务,方法为使用创建文件地理数据库工具创建新地理数据库,然后多次运行裁剪工具(针对每个要素类运行一次该工具)。。此过程可能会很繁琐和耗时,特别是在要处理的要素类很多时。

现在,我们向AI助手描述这个需求,让它生成这段Python代码。

使用自然语言生成ArcPy代码

在帮助选项卡打开AI助手

打开助手

在助手中,新建ArcPy Code 的对话。

新建对话

描述需求:

我在城市办公室工作,经常收到对城市特定街区的数据提取请求。C:\PythonTool文件夹包含名为 neighborhood.shp 的 shapefile意为街区的范围多边形,和地理数据库DC.gdb包含八个要素类。我需要将地理数据库中的所有要素类裁剪到一个街区,并将裁剪后的要素类存储在新地理数据库中。具体而言创建一个新的地理数据库,多次运行裁剪工具(针对每个要素类运行一次该工具)。

助手对话

可以看到代码中指定了out_workspace 但没有创建用于输出的文件型地理数据库。继续向助手下指令。请改写这个代码。应该新建一个filegdb,并将out_workspace指向新建的filegdb。

新建filegdb的代码

Arcpy代码的运行与调试

用ArcGIS Pro新建笔记本,将这两段代码粘贴到里面。添加import并修改文件路径。然后执行。报错

os.path.join(out_workspace, feature_class)的时候

预期的是str, bytes or os.PathLike object, 而不是 Result。

第一次报错

将这一情况询问旁边的AI助手。out_workspace是一个Result,如何获得结果的具体路径。助手给出了获得其路径的答案。

解决方案1

我们替代这个变量。使用out_workspace_path做输出要素类的路径拼接,再次运行。报错:

arcpy.analysis.Clip的时候 数据集 C:\PythonTool\DC.gdb\西宁水系_CreateBuffers 不存在或不受支持。

报错2

很明显是没有指定arcpy的运行环境的工作空间。让助手指定一下arcpy的运行环境的工作空间。arcpy.ListFeatureClasses 需要指定arcpy的环境的工作空间为C:\PythonTool\DC.gdb

解决方案2

添加这部分代码,再运行。执行成功,结果出现在地图上。

最终代码

最终提取结果:

结果地图

对比DeepSeek

向DeepSeek在线对话提问相同的问题。得到完整代码:

DeepSeek给的代码

新建笔记本,运行DeepSeek的代码

运行过程中包含运行进度提示。

运行进度提示。

最终结果

DeepSeek的代码运行结果

总结,通过实践测试,ArcGIS Pro 3.6 AI助手的功能体验目前不如当前的DeepSeek。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容