ArcGIS10.X影像智能下载!迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!

上周我们分享了 我写的一个ArcGIS Pro版批量下载高清影像(谷歌、天地图、ESRI等)工具给大家,Deepseek+我!写一个ArcGIS Pro批量下载高清影像(谷歌、天地图、ESRI等)工具给大家-CSDN博客文章浏览阅读130次。深夜,我盯着屏幕上的高清影像(谷歌、天地图、ESRI),手指在键盘上犹豫不决。项目需要下载某县全域0.5米分辨率的影像,但ArcGIS Pro原生的导出工具要么崩溃,要么输出模糊的图片。我打开对话窗口,写下了第一行求助:------这成了我与AI搭档共同攻克技术难题的起点。其实关于这个问题,2022年的时候我们用ArcGIS自己写过一个工具,现在只是借助AI在ArcGIS Pro实现,当然吗,现在要实现的更多。如果你需要用ArcGIS的话,请看我么之前的文章。高精度遥感影像已成为GIS分析的基石。https://blog.csdn.net/kinghxj/article/details/146319996?spm=1011.2415.3001.5331

因为工具不支持ArcGIS版本,所以今天我把ArcGIS Pro的脚本工具,进行改造以制作------智能影像下载工具ArcGIS版。

(工具获取见最后)

下面我将智能影像下载工具从ArcGIS Pro迁移至ArcGIS Desktop(ArcMap)版本涉及以下核心逻辑和技术问题,总结以及工具的运行设置注意点。列出如下:

  • 1、ArGIS Pro迁移至ArcMap的核心要点

  • 2、工具运行设置

  • 3、工具获取与测试数据获取

01 ArGIS Pro迁移至ArcMap的核心要点

一、核心逻辑差异

1. 地图文档操作接口
  • **Pro (arcpy.mp) vs ArcMap (arcpy.mapping)**

    • Pro通过arcpy.mp.MapProject管理工程,而ArcMap使用arcpy.mapping.MapDocument

    • 关键代码差异: python

      复制代码
      # Pro
      aprx = arcpy.mp.ArcGISProject("CURRENT")
      map= aprx.activeMap
      
      # ArcMap
      mxd = arcpy.mapping.MapDocument("CURRENT")
      df = arcpy.mapping.ListDataFrames(mxd)[0]
2. 视图范围控制
  • Pro需处理Camera对象的三维坐标,ArcMap直接操作二维Extent

    python

    复制代码
    # ArcMap范围设置
    df.extent = arcpy.Extent(xmin, ymin, xmax, ymax)
3. 导出地图方法
  • Pro

    : exportToJPEG/TIFF()需通过LayoutMapFrame对象

  • ArcMap : 直接通过arcpy.mapping.ExportToTIFF

    python

    复制代码
    arcpy.mapping.ExportToTIFF(mxd, output_path, df,...)

二、关键技术问题

1. Python版本兼容性
2. 地理处理工具参数差异

MosaicToNewRaster为例:

python

复制代码
# Pro可能需要的参数顺序
arcpy.management.MosaicToNewRaster(input_rasters, output_location,...)

# ArcMap需注意参数类型:
arcpy.MosaicToNewRaster_management(  # 注意后缀"_management"
    ";".join(raster_list),  # 输入需合并为字符串
    output_path,
    pixel_type="8_BIT_UNSIGNED",  # 关键字参数可能不兼容
    ...
)
3. 空间参考处理
  • Pro

    :自动识别GCS/WGS84等新坐标系

  • ArcMap :需显式处理CGCS2000等国内坐标系

    复制代码
    python
    复制代码
    # 显式定义投影(ArcMap示例)
    ifnot sr.name =="CGCS2000_3_Degree_GK_CM_123E":
        arcpy.DefineProjection_management(in_feature, sr)
4. 临时文件管理
  • 路径格式

    :ArcMap对长路径支持较差,需限制为<260字符

  • 清理机制 :ArcMap需更严格的手动清理

    python

    复制代码
    # 安全删除临时文件(ArcMap)
    import shutil
    shutil.rmtree(temp_dir, ignore_errors=True)

三、用户界面适配

1. 参数验证逻辑
2. 动态参数控制

python

复制代码
# ArcMap的updateParameters需更严格
defupdateParameters(self, parameters):
    if parameters[2].value =="按分辨率":
        parameters[3].enabled =True  # 分辨率参数激活
    else:
        parameters[4].enabled =True  # 比例尺参数激活

四、性能优化点

  1. 分块策略优化

    python

    复制代码
    tile_size =min(4096,int(arcpy.GetSystemMetrics("RAM")/1e8))  # 动态调整
    • ArcMap内存限制更严格,建议分块尺寸不超过4096x4096
  2. 并行处理限制

    • ArcMap不支持真正的多线程,需避免concurrent.futures等库
  3. 显示刷新控制

    python

    复制代码
    arcpy.RefreshActiveView()  # 频繁调用影响性能,需间隔使用

五、错误处理增强

ArcMap特有错误类型
异常处理示例

python

复制代码
try:
    arcpy.MosaicToNewRaster_management(...)
except arcpy.ExecuteError as e:
    if"000859"in e.message:  # 输出文件已存在
        arcpy.AddWarning("强制覆盖已存在文件...")
        arcpy.Delete_management(out_raster)
        self.execute(parameters, messages)  # 重试

‍‍‍02 工具运行设置

1、在ArcMap中加载面要素和在线地图

2、打开工具箱选择本工具

3、观察参数界面:

    • 输入要素必须手动选择

    • 输出路径必须手动指定

    • 其他参数显示默认值

4、执行工具验证分块导出功能

注意事项:

  • 输出路径建议使用全英文路径

  • 输入面要素必须与数据框坐标系一致

  • 处理超大范围时注意系统内存限制

03 视频演示

更新支持ArcGIS!迁移ArcGIS Pro批量智能高清影像(谷歌、天地图、ESRI等)下载工具至ArcGIS!分享给大家

‍‍‍04 工具获取与测试数据获取

迁移ArcGIS Pro批量智能高清影像下载工具至ArcGIS!分享给大家改造ArcGIS Pro智能高清影像下载工具支持ArcGIS 10.X版本!快来获取吧!https://mp.weixin.qq.com/s/CvM69g9rCY5bs9zLI083pA

相关推荐
计算机编程小央姐10 小时前
数据安全成焦点:基于Hadoop+Spark的信用卡诈骗分析系统实战教程
大数据·hadoop·python·spark·毕业设计·课程设计·dash
max50060010 小时前
本地部署开源数据生成器项目实战指南
开发语言·人工智能·python·深度学习·算法·开源
wanzhong233310 小时前
ArcGIS答疑-如何消除两张栅格图片中间的黑缝
arcgis
MonkeyKing_sunyuhua10 小时前
mac怎么安装uv工具
python·macos·uv
孤狼程序员10 小时前
DeepSeek文献太多太杂?一招制胜:学术论文检索的“核心公式”与提问艺术
人工智能·文献搜索·deepseek
Source.Liu10 小时前
【Python基础】 19 Rust 与 Python if 语句对比笔记
笔记·python·rust
工业互联网专业11 小时前
基于Spark的新冠肺炎疫情实时监控系统_django+spider
python·spark·django·vue·毕业设计·源码·课程设计
Yh87020311 小时前
2025年经济学专业女生必考证书指南:打造差异化竞争力
python
BYSJMG11 小时前
大数据毕业设计推荐:基于Spark的零售时尚精品店销售数据分析系统【Hadoop+python+spark】
大数据·hadoop·python·spark·django·课程设计
醉方休11 小时前
python 自动化在web领域应用
python