当前位置: 首页 > news >正文

AI赋能ArcGIS Pro——水系网络AI智能提取 | GIS人工智能制图技术解析

我们之前做了做了几期的AI+GIS的分享。我们今天要再次做一个分享。

AI赋能ArcGIS Pro——水系网络智能提取全解析

  • DeepSeek结合ArcGIS Pro制作一个批量建库的脚本工具(代码一字未改,直接运行)

  • 看老外如何玩DeepSeek!15分钟快速创建GIS动态数据可视化仪表盘

  • AI辅助编程!DeepSeek vs ChatGPT- AI在地图网络分析(最佳路径)上的应用

  • AI打造智能GIS四至点、四至坐标提取工具。Deepseek × 豆包×腾讯元宝!工具与测试数据分享

  • Deepseek × 豆包×ArcGIS Pro 强强联手!AI赋能GIS-10分钟搞定经纬度与平面互转工具编写

  • deepseek接入的GIS地图应用,真的好用!还得是大厂

  • Deepseek+我!写一个ArcGIS Pro批量下载高清影像(谷歌、天地图、ESRI等)工具给大家

  • 迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!分享给大家

(所有工具获取点击对应获取)

当传统GIS遇上人工智能:5步解锁智能水文制图。

  

图片

「水文网络分析」是地形分析的核心场景,传统方法依赖人工经验参数调整。本文演示如何通过AI思维改造经典工作流,实现:
✅ 阈值智能判定
✅ 流程自动化串联
✅ 成果自适应优化

deepseek赋能ArcGIS Pro

 我对deepseek提取了一个简单的需求,

图片

    我需要生成一个arcgis pro的arcpy python脚本,该脚本在arcgis pro的python nootbook中直接运行,实现的功能是根据提供的dem提取排水网络矢量,生成的各个步骤结果输出到特定的文件夹下,各步骤结果也会自动加载到arcgis pro的地图中,

deepseek给出了标准的基于DEM水网提取的技术路线:首先,提取排水网络通常包括几个步骤:填洼(Fill)、计算流向(Flow Direction)、计算流量累积(Flow Accumulation)、提取河流网络(根据流量阈值)、矢量化河流(Stream to Feature)。这些都是标准的水文分析步骤,所以脚本应该按照这个顺序来。

后续给出了一个在ArcGIS Pro Python Notebook中运行的arcpy脚本示例,用于从DEM提取排水网络并自动加载结果到地图:

import arcpyimport osfrom arcpy import envfrom arcpy.sa import *
# 设置环境参数arcpy.CheckOutExtension("Spatial")  # 检查Spatial Analyst许可env.overwriteOutput = True          # 允许覆盖现有文件
# 用户输入参数dem = r"C:\data\input_dem.tif"               # 输入DEM路径output_folder = r"C:\data\output"            # 输出文件夹路径flow_accumulation_threshold = 1000           # 定义形成河流的最小流量阈值
# 创建输出文件夹(如果不存在)os.makedirs(output_folder, exist_ok=True)
# 设置工作空间到输出文件夹env.workspace = output_folder
try:    # 步骤1:填洼处理 -----------------------------------------------------------    fill_output = os.path.join(output_folder, "filled_dem.tif")    fill_dem = Fill(dem)    fill_dem.save(fill_output)    print("填洼处理完成")
    # 步骤2:计算流向 -----------------------------------------------------------    flow_dir_output = os.path.join(output_folder, "flow_dir.tif")    flow_direction = FlowDirection(fill_dem, "FORCE")    flow_direction.save(flow_dir_output)    print("流向计算完成")
    # 步骤3:计算流量累积 -------------------------------------------------------    flow_acc_output = os.path.join(output_folder, "flow_acc.tif")    flow_accumulation = FlowAccumulation(flow_direction)    flow_accumulation.save(flow_acc_output)    print("流量累积计算完成")
    # 步骤4:提取河流栅格 -------------------------------------------------------    streams_output = os.path.join(output_folder, "streams.tif")    streams = Con(flow_accumulation >= flow_accumulation_threshold, 1)    streams.save(streams_output)    print("河流栅格提取完成")
    # 步骤5:矢量化河流网络 -----------------------------------------------------    streams_vector_output = os.path.join(output_folder, "streams_feature.shp")    StreamToFeature(streams, flow_direction, streams_vector_output, "SIMPLIFY")    print("河流矢量化完成")
    # 自动加载结果到当前地图 ----------------------------------------------------    project = arcpy.mp.ArcGISProject("CURRENT")  # 获取当前工程    active_map = project.activeMap               # 获取活动地图
    # 创建要加载的文件列表    layers_to_add = [        fill_output,        flow_dir_output,        flow_acc_output,        streams_output,        streams_vector_output    ]
    # 添加所有结果图层    for layer_path in layers_to_add:        if arcpy.Exists(layer_path):            active_map.addDataFromPath(layer_path)            print(f"已加载:{os.path.basename(layer_path)}")        else:            print(f"警告:{layer_path} 不存在,未加载")
    print("所有处理步骤已完成!结果已保存至:", output_folder)
except Exception as e:    print("处理过程中出现错误:", str(e))finally:    arcpy.CheckInExtension("Spatial")  # 释放扩展许可

‍‍‍2 ArcGIS Pro中运行

1、在ArcGIS Pro中新建地图,之后选择分析 ,python,打开python notebook

图片

2、粘贴代码,用户输出参数改成自己的数据及输出,点击运行即可

图片

图片

3、ArcGIS Pro中将自动加载成果:

图片

‍‍‍3 视频教学

deepseek+ArcGIS Pro——水系网络AI智能提取

图片

ArcGIS Pro上线!终于和大家见面了······

相关文章:

  • 洛谷 P3367 【模板】并查集 C++
  • [原创](Modern C++)现代C++的关键性概念: std::move()可以理解为把数据进行剪切再粘贴.
  • BGP路由协议之解决 IBGP 水平分割带来的问题
  • 【Tauri2】016——后端Invoke结构体和invoke_key
  • opus+ffmpeg+c++实现录音
  • Windwos的DNS解析命令nslookup
  • Linux系统的不同发行版的常用命令
  • 大储EMS能量管理系统解决方案:助力企业实现智慧能源转型
  • SSM框架相关面试题
  • Vue3实战七、登录认证与退出登录
  • Spring AOP 核心的技术之一:动态代理
  • 其他合成方式介绍
  • nacos集群部署
  • 【redis】summary
  • rust 同时处理多个异步任务,并在一个任务完成退出
  • PythonJSON解析如何优雅处理嵌套JSON字符串
  • springboot中使用async实现异步编程
  • Docker Compose 部署Nginx反向代理 tomcat
  • 每日算法-250407
  • 数字经济产业标杆:树莓集团如何塑造产业服务价值体系
  • 临港新片区将新设5亿元启航基金:专门投向在临港发展的种子期、初创型企业
  • 中国青年报:为见义勇为者安排补考,体现了教育的本质目标
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 商人运作亿元“茅台酒庞氏骗局”,俩客户自认受害人不服“从犯”判决提申诉
  • 秘鲁总理辞职
  • 多条跨境铁路加速推进,谁是下一个“超级枢纽”?