【ArcGIS】ArcGIS AI 助手----复现

github地址

korporalK/Archer-GIS-AI-Assitant:Archer 在 ArcGIS Pro 中将自然语言命令转换为自动化 GIS 工作流。它使用代理框架(计划-验证-执行)构建并由 LLM 提供支持,可简化空间分析、减少手动工作并使 GIS 更易于访问。Archer 具有模块化和可扩展性,可以集成其他工具和 API。

介绍

简介

一个功能强大的 GIS 助手应用程序,它将 ArcGIS Pro 功能与 AI 相结合,以帮助完成 GIS 任务。此应用程序利用 ArcGIS Pro Python 环境并与 Google 的 Gemini API 集成,为 GIS作提供智能助手。

概述

ArcGIS AI Assistant 通过以下方式为 GIS 专业人员和分析师提供帮助:

  • 提供与 GIS 数据和工具交互的聊天界面
  • 自动化常见的 GIS 工作流
  • 协助执行空间分析任务
  • 管理工作区和目录
  • 与外部数据源集成

先决条件

  • 已安装 ArcGIS Pro 3.x(使用其本机 conda 环境)
  • Python 3.11(包含在 ArcGIS Pro 中)
  • ArcPy 3.4(包含在 ArcGIS Pro 中)
  • Windows 10/11作系统
  • Google Gemini API 密钥 (必需)
  • Tavily API 密钥(可选,用于 Web 搜索功能)
  • NASA Earthdata 凭证(可选,用于 Landsat 数据下载)

环境设置

方法一

文件拷贝到pro的安装路径,并点击运行

requirements.txt和conda-requirements.txt都得拷贝

开始创建新环境 arcgis_llm ,并下载相关需求包

方法二

主要解决方法一中无法运行成功的情况

1.克隆环境

克隆环境 arcgis_llm

2.安装包

手动搜索并安装一下包,如果有的话就不需要安装,不需要指定包的版本号

fiona
rasterio

langchain
langchain-google-genai
langchain-community
langchain-core
langchain-text-splitters
python-dotenv
google-generativeai

aiohttp
aiofiles
requests
asyncio
nest-asyncio

3.验证环境是否安装成功

方法三

不断的更新包,包冲突严重

包介绍
fiona:用于读写地理空间数据文件,支持多种矢量格式,如Shapefile、GeoJSON等。
rasterio:用于读取和写入栅格地理空间数据,支持多种格式如GeoTIFF。
langchain:一个用于构建和运行复杂AI应用的框架,支持多种功能模块,如文本处理、模型集成等。
langchain-google-genai:用于将谷歌生成式人工智能模型(如Gemini)集成到LangChain中,实现高级AI应用。
langchain-community:LangChain社区版,包含社区贡献的扩展和工具。
langchain-core:LangChain的核心模块,提供基础的AI功能和组件。
langchain-text-splitters:用于分割文本数据,以便于进一步处理和分析。
python-dotenv:用于加载环境变量,简化配置文件管理。
google-generativeai:谷歌生成式AI模型的Python库,用于调用谷歌的AI服务。
aiohttp:一个基于异步I/O的HTTP客户端和服务器库,支持高并发的Web爬虫和API交互
。
aiofiles:用于在异步编程中处理文件I/O操作,与asyncio配合使用。
requests:用于发送HTTP请求的同步库,常用于Web开发和API调用。
asyncio:Python的异步编程库,支持非阻塞I/O操作,适用于高并发场景
。
nest-asyncio:在特定情况下嵌套使用asyncio事件循环的库,用于解决某些异步编程中的问题。

配置

API 密钥设置(需要翻墙)

也可以在界面进行设置

ArcGIS AI Assistant 需要多个 API 密钥才能实现完整功能:

Google Gemini API 密钥(必需)

AI 功能需要

网址:

Gemini API  |  Google AI for Developers

Tavily API 密钥(可选)

用于增强的 Web 搜索功能

网址:

Tavily AI

NASA Earthdata 凭证(可选)

用于下载 Landsat 影像

修改文件

修改文件名称

工作区配置

这步骤可以在界面进行设置

{
  "workspace": "E:/ArcGIS/project/MyProject/MyProject.gdb",
  "watched_directories": [
    "E:/ArcGIS/project/MyProject"
  ],
  "recent_files": [],
  "api_keys": {
    "gemini_api_key": "********",
    "tavily_api_key": "********",
    "earthdata_user": "********",
    "earthdata_pass": "********",
    "earthdata_token": "********"
  }
}

运行应用程序

设置python解释器

运行

支持的工具

Loaded 33 tools:
- add_field: 6 parameters
- append_features: 3 parameters
- aspect: 2 parameters
- buffer_features: 4 parameters
- calculate_field: 4 parameters
- calculate_ndvi: 3 parameters
- calculate_savi: 4 parameters
- calculate_tpi: 3 parameters
- clip_features: 3 parameters
- create_feature_class: 5 parameters
- define_projection: 2 parameters
- delete_features: 1 parameters
- dissolve_features: 5 parameters
- download_landsat_tool: 10 parameters
- erase_features: 3 parameters
- extract_by_mask: 3 parameters
- hillshade: 5 parameters
- intersect_features: 3 parameters
- list_fields: 1 parameters
- merge_features: 2 parameters
- project_features: 3 parameters
- raster_calculator: 3 parameters
- reclassify_raster: 5 parameters
- scan_external_directory_for_gis_files: 1 parameters
- scan_workspace_directory_for_gis_files: 1 parameters
- search_arcgis_online_content: 14 parameters
- select_features: 3 parameters
- slope: 4 parameters
- spatial_join: 6 parameters
- summary_statistics: 4 parameters
- union_features: 2 parameters
- view_attribute_table_rows: 3 parameters
- zonal_statistics_as_table: 12 parameters

运行示例

输入你好

建立缓冲区

运行结果

中文支持情况(建立缓冲区)

创建矢量

下载Landsat数据

尝试多次没有下载下来,获取我输入的信息较少

特征

  • 聊天界面:使用自然语言与 GIS AI 助手交互
  • Environment Management:配置工作区和目录
  • API 密钥管理:通过 GUI 安全地存储和管理 API 密钥
  • Directory Scanning:自动扫描目录以查找 GIS 文件
  • GIS 工具集成:访问各种 ArcGIS 工具和功能
  • 数据可视化:查看和分析 GIS 数据
  • Spatial Analysis:执行复杂的空间分析任务
  • 数据下载:下载外部数据源,例如 Landsat 影像

数据下载

源文件

https://download.csdn.net/download/qq_39397927/90912240?spm=1001.2014.3001.5501

python环境文件下载(由于包冲突所以花了较多时间去解决)

通过网盘分享的文件:arcgis_llm.zip
链接: https://pan.baidu.com/s/1nWbOXGB6tsH45D2Cy-qglw?pwd=1111 提取码: 1111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Z_W_H_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值