【干货】DeepSeek + ArcGIS:小白也能创建自己的工具箱——以“按属性分割并自动归类“工具为例...

70cf5381c5d7f11afca826bbde58b546.png

ArcGIS 是一款功能强大的软件,而 DeepSeek 作为一种新兴的人工智能工具,可以帮助我们更高效地创建 ArcGIS 工具,进而达到事半功倍的效果。本文将详细介绍如何利用 DeepSeek 创建属于自己的 ArcGIS 工具箱,即使是小白也能轻松上手。郑重声明,我也是小白,所以我能学会,我相信你也一定没问题!

【理 论】

▶ 1.需求

当我们在处理行政区划、土地利用等具有分类属性的空间数据时,经常会遇到这样的需求,这不前几天同事就像我提出了这样一个问题:需要按照某个字段值(如行政区名称、地类编码)将要素分割成独立文件,并希望自动归类到对应文件夹。传统"按属性分割"工具生成的要素文件会堆积在同一目录,后期整理费时费力。其实这个功能在ArcGIS Pro中的按属性分割工具已经得到优化,但是作为职场老窜窜,相信广大粉丝朋友都不爱用Pro,那本期咱就用ArcMap把这个问题解决咯。

▶ 2.思路

总体分为三个阶段:

阶段一:用DeepSeek生成核心代码;

阶段二:创建ArcGIS工具箱;

阶段三:工具部署与测试。

【实 操】

▶ 1.用DeepSeek生成核心代码

1. 打开DeepSeek官网/客户端,输入prompt(提示词):

"请用ArcPy编写Python脚本,实现以下功能:

- 输入要素类路径

- 指定分类字段

- 输出根目录下自动创建与字段值同名的文件夹

- 每个要素分类生成独立shp文件到对应文件夹

要求包含异常处理,并添加中文注释"

be0b02783dff581ed6ab9ea7824d8519.png

2. 获取优化后的核心代码(关键代码段):

import sysreload(sys)sys.setdefaultencoding('utf-8')import arcpyimport osarcpy.env.workspace = arcpy.GetParameterAsText(0)input_fc = arcpy.GetParameterAsText(1)split_field = arcpy.GetParameterAsText(2)output_folder = arcpy.GetParameterAsText(3)if not os.path.exists(output_folder):    os.makedirs(output_folder)unique_values = []with arcpy.da.SearchCursor(input_fc, split_field) as cursor:    for row in cursor:        if row[0] not in unique_values:            unique_values.append(row[0])for value in unique_values:    value_folder = os.path.join(output_folder, str(value))    if not os.path.exists(value_folder):        os.makedirs(value_folder)    output_fc = os.path.join(value_folder, "{}.shp".format(str(value)))    query = "{0} = '{1}'".format(arcpy.AddFieldDelimiters(input_fc, split_field), value)    arcpy.Select_analysis(input_fc, output_fc, query)    arcpy.AddMessage("成功分割并保存 {0} 到 {1}".format(value, output_fc))

注:可能需要迭代多次,让DeepSeek不断优化代码才能运行成功,也有一定几率一次性运行成功,反正不用自己修改代码,只需不断地将报错信息反馈给DeepSeek就行了。我们从不生产代码,我们只做代码的搬运工!

▶ 2.创建ArcGIS工具箱

1. 打开ArcCatalog → 右键文件夹 → 新建 → 工具箱(命名如"凌晨GIS工具箱")。

769fdda57731c1417df5c3fb62de28e8.png

2. 右键新建工具箱 → 添加 → 脚本,按步骤填写名称、标签、描述等信息。

- 名称:智能要素分割

- 标签:按字段分割并自动归类

- 描述:根据指定字段值自动分类存储要素

bab3594e2c0f47b1c5976deca947237b.png

▶ 3.工具部署与测试

1. 将DeepSeek生成的完整代码粘贴到脚本编辑器,将txt文件拓展名修改为.py,然后导入至刚刚创建的工具箱下的脚本。

2b2f081a27e2d0cda622f45df2e34b77.png

7c0a9b1c5f7e4d0192989d6806d231f3.png

a2adbbeea0b8d04a2a416c2dd8b9cb99.png

2. 脚本参数配置(关键步骤):

显示名称

数据类型

参数属性 

工作空间

工作空间

输入,必填

输入要素类

Feature Layer

输入,必填

分割字段

Field

从输入要素获取

输出文件夹

Folder

输入,必填

   (配置字段依赖:将"分类字段"的"获取自"设置为"输入要素类")

164f44b04278a40c68ef5ad8d1c27f12.png

3. 测试案例:

- 输入:某省县级行政区划.shp

- 字段选择:"市名"

- 输出目录查看自动生成的:

  ├─北京市

  │   北京市.shp

  ├─上海市

  │   上海市.shp

  └─...

这个步骤大家自己去试试看!

6d4424b7407a38a0616c1636b904f71f.png

▶技巧扩展

1. 格式扩展:修改代码中的输出格式(如改为File Geodatabase)

2. 批量处理:在工具箱中添加迭代器实现多文件批量处理

3. 进度显示:在代码中添加arcpy.SetProgressor()实现进度条

4. 异常强化:添加字段值空值检测、路径合法性校验等

5. 提示词:"为ArcGIS编写实现【具体功能】的Python工具,要求包含【具体参数】,处理【数据类型】,并考虑【特殊需求】"

【结 语】

通过DeepSeek与ArcGIS的有机结合,即便是编程零基础的用户,也能在1小时内创建出专业级的地理处理工具。这种"需求描述→代码生成→工具封装"的新范式,正在彻底改变传统GIS工作流。建议各位小伙伴尝试将自己的业务需求转化为工具,早日实现效率自由!

往期精彩推荐:

地形图制作

交通可达性分析

设施服务区分析

人口重心迁移地图

ArcGIS制图之桂林山水

ArcGIS调用在线影像底图

### deepseek在地理信息系统(GIS)中的应用场景 #### 物体检测 deepseek结合Tensorflow Object Detection API可以在GIS环境中实现物体检测功能。如,在卫星图像或无人机拍摄的照片中识别特定的对象,如椰子树或其他植被特征[^1]。 #### 语义图像分割 借助于Tensorflow DeepLab技术,deepseek能执行语义图像分割操作,这使得对遥感影像进行精确的土地覆盖分类成为可能。这种能力对于城市规划者来说非常有价值,可以帮助他们更好地理解土地使用的现状和发展趋势。 #### 实分割与对象分类 为了提供更加细致的空间分析服务,deepseek支持使用Keras的Mask R-CNN以及Fast.ai SSD模型来进行实级别的目标检测和分类工作。这项技能特别适用于灾害响应场景下快速评估建筑物受损情况的任务当中。 #### 数据存储优化 当涉及到大规模空间数据集管理时,deepseek还可以集成Faiss这样的高效向量搜索引擎来加速查询过程,将索引存放在指定位置(比如`./db/GIS_db`),从而提升整体性能表现[^2]。 综上所述,deepseek不仅增强了传统GIS平台的数据处理能力和智能化水平,同时也为用户提供了一套完整的解决方案用于应对各种复杂的地理信息需求。 ```python import tensorflow as tf from object_detection.utils import label_map_util from PIL import Image import numpy as np def load_image_into_numpy_array(image_path): image = Image.open(image_path) (im_width, im_height) = image.size return np.array(image.getdata()).reshape( (im_height, im_width, 3)).astype(np.uint8) # 加载预训练好的DeepSeek模型应用于实际案... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值