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

news2025/6/6 21:48:08

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2386590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充电枪IEC62196/EN 62196测试内容

充电枪IEC62196/EN 62196测试内容 一、机械性能测试 插拔力测试 交流充电接口的插入/拔出力需≤100N,直流接口≤140N。若使用助力装置,操作力仍需满足上述要求。 测试方法:通过弹簧秤或专用试验机(如Sun-CB设备)测…

SAP ERP 系统拆分的七大挑战

在企业变革或管理运营风险时,剥离IT系统能带来显著效益,但SAP ERP系统的复杂性使得这项工作充满挑战。如果管理不当,可能会导致数据不一致、运营中断、合规风险和意外成本。由于SAP ERP系统深度集成于企业核心业务流程中,其拆分工…

AcrelEMS 3.0智慧能源管理平台:构建企业微电网数智化中枢

安科瑞电气顾强 在"双碳"目标驱动下,企业能源管理正从粗放式运营向精细化、智能化转型。AcrelEMS 3.0智慧能源管理平台以微电网为核心载体,通过"感知-分析-决策-控制"的全链路数字化能力,助力工商企业、医疗机构、教育机…

Word转PDF--自动生成目录

1-Word文档中已经包含自动生成的目录; 2-选择“文件”; 3-另存为,PDF; 4-选择“选项”按钮,在弹出的窗口中,勾选“创建书签时使用标题”。

轻量级视觉语言模型 Dolphin:高效精准的文档结构化解析利器

在数字化办公和学术研究日益普及的今天,如何高效、准确地处理各类文档图像成为了一个亟需解决的问题。Dolphin 应运而生,作为一款基于异构锚点提示的多模态文档图像解析模型,它不仅打破了传统手动整理文档的繁琐流程,更以远超主流…

如何安全配置数据库(MySQL/PostgreSQL/MongoDB)

数据库是许多应用程序的核心组成部分,因此保护数据库的安全性至关重要。无论是MySQL、PostgreSQL还是MongoDB,都需要经过适当的安全配置才能防止潜在的安全威胁。本文将介绍如何安全配置这些流行的数据库管理系统,以确保数据的保密性、完整性…

将 Docker 镜像从服务器A迁移到服务器B的方法

在日常工作中,我们有时会需要将服务器 A上的镜像上传至服务器B上,下面给出具体操作方式,以镜像 postgres:15 为例进行讲解。 首先在服务器A上拉取 镜像 postgres:15 ,命令如下: docker pull postgres:15下面再将服务…

git merge解冲突后,add、continue提交

git merge解冲突后,add、continue提交 git merge操作冲突后,需要手动解冲突,解完冲突后,需要: git add . 然后,进入一般的正常git代码提交流程。 git合并‘merge’其他分支的个别文件到当前branch_gitbash 合并branc…

运动规划实战案例 | 图解基于状态晶格(State Lattice)的路径规划(附ROS C++/Python仿真)

目录 1 控制采样 vs 状态采样2 State Lattice路径规划2.1 算法流程2.2 Lattice运动基元生成2.3 几何代价函数2.4 运动学约束启发式 3 算法仿真3.1 ROS C仿真3.2 Python仿真 1 控制采样 vs 状态采样 控制采样的技术路线源自经典的运动学建模思想。这种方法将机器人的控制指令空…

Neo4j(二) - 使用Cypher操作Neo4j

文章目录 前言一、Cypher简介二、数据库操作1. 创建数据库2. 查看数据库3. 删除数据库4. 切换数据库 三、节点、关系及属性操作1. 创建节点与关系1.1 语法1.2 示例 2. 查询数据2.1 语法2.2 示例 3. 更新数据3.1 语法3.2 示例 4. 删除节点与关系4.1 语法4.2 示例 5. 合并数据5.1…

09、供应商管理数字化转型:从潜在评估到战略合作的系统化方法

在全球化竞争和供应链日益复杂的商业环境下,供应商管理已成为企业核心竞争力的关键组成部分。优秀的供应商管理体系不仅能确保物料和服务的稳定供应,更能成为企业创新、降本增效的战略资源。本文将系统性地介绍供应商管理的完整框架,从潜在供…

批量转存夸克网盘内容并分享实操教程

批量转存夸克网盘内容并分享 经常使用我AI工具(圈友互联AI)的应该在每日资源这里看到,会每天自动更新最新资源信息,这些资源是自动从各处爬取出来再批量转存进行分享处理的! 今天就和大家分享下,如何对夸克…

“安康杯”安全生产知识竞赛活动流程方案

一、竞赛组织部门:排水公司安全生产办公室 二、竞赛说明: 1、由安全生产办公室组编辑、整理,安全生产领导小组审核。竞赛时由公司领导及各部门负责人对本次知识竞赛进行监督评比,以保证竞赛活动的公平、公正。本次竞赛活动由闫红…

特征分解:线性代数在AI大模型中的核心工具

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…

理解计算机系统_并发编程(10)_线程(七):基于预线程化的并发服务器

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 接续理解计算机系统_并发编程(9)_线程(六):读者-写者问题-…

身份认证: JWT和Session是什么?

一、为什么需要临时凭证&#xff1f; 系统面临三个核心约束&#xff1a; 唯一鉴权方式只有&#xff08;账号&#xff0c;密码&#xff09; 服务端不记录请求状态&#xff0c;服务端不知道用户已登录了 避免重复传输敏感信息&#xff0c;不能每次都携带(账号&#xff0c;密码…

机器学习中的多GPU训练模式

文章目录 一、数据并行&#xff08;Data Parallelism&#xff09;二、模型并行&#xff08;Model Parallelism&#xff09;1. 模型并行2. 张量并行&#xff08;Tensor Parallelism&#xff09; 三、流水线并行&#xff08;Pipeline Parallelism&#xff09;四、混合并行&#x…

TPAMI 2025 | CEM:使用因果效应图解释底层视觉模型

底层视觉可解释性专题&#xff1a;https://x-lowlevel-vision.github.io/ 论文&#xff1a;https://arxiv.org/abs/2407.19789 代码&#xff1a;https://github.com/J-FHu/CEM 动机 在底层视觉领域&#xff0c;深度学习模型虽极大提升了任务性能&#xff0c;但其内部运行机…

Halcon 图像预处理②

非线性图像分段变化&#xff1a; 先窗体打开图片 对数非线性变化&#xff1a; 结果图像的亮度/对比度显著增加 log_image(Image,LogImag1,e) 参数1&#xff1a;输入图像 参数2&#xff1a; 输出图像 参数3&#xff1a;底数 log_image(Image,LogImage2,0.1) 图像结果亮度和…

20250526-C++基础-函数指针

C基础-函数指针 函数指针&#xff0c;顾名思义就是指向函数的指针&#xff0c;用一个变量来存储函数的地址&#xff0c;可以通过这个变量&#xff08;指针&#xff09;间接访问函数。&#xff08;可以把函数指针名看作函数名来进行函数调用&#xff09;。代码及说明如下&#…