You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python导出ESRI地形图层小区域并获取对应代码?

解决大ESRI地形图层裁剪并获取Python代码的方法
  • 用ArcPy Raster对象直接切片
    这种方法无需加载整个大栅格到内存,ArcGIS会自动分块处理,避免内存溢出,代码也可直接复用。
    示例代码:

    import arcpy
    
    # 替换为你的实际路径
    input_terrain = r"C:\data\large_esri_terrain.tif"
    output_cropped = r"C:\output\cropped_terrain.tif"
    clip_polygon = r"C:\data\clip_boundary.shp"
    
    # 从裁剪多边形获取范围
    clip_extent = arcpy.Describe(clip_polygon).extent
    
    # 执行裁剪并保存
    cropped_raster = arcpy.Raster(input_terrain).clip(clip_extent)
    cropped_raster.save(output_cropped)
    
  • 用Extract by Rectangle工具+分块环境
    若偏好使用地理处理工具,先在ArcGIS Pro的环境设置里配置分块大小(Geoprocessing > Environments > Raster Storage > Tile Size,比如设为256x256),再运行Extract by Rectangle工具,选择大地形图层和裁剪多边形的范围。运行完成后,在地理处理历史里找到该操作,右键即可导出对应的Python代码。
    自动生成的代码示例:

    import arcpy
    from arcpy.sa import *
    
    arcpy.env.workspace = r"C:\your_workspace"
    # 开启分块处理
    arcpy.env.tileSize = "256 256"
    
    input_raster = r"C:\data\large_esri_terrain.tif"
    clip_extent = arcpy.Describe(r"C:\data\clip_boundary.shp").extent
    output_extract = "cropped_terrain"
    
    # 执行提取
    out_extract = ExtractByRectangle(input_raster, clip_extent, "INSIDE")
    out_extract.save(output_extract)
    
  • 用「导出栅格」工具而非右键菜单
    放弃右键图层的导出操作,直接在Geoprocessing面板搜索「导出栅格」工具,设置好输入图层、输出路径,在「范围」参数里选择你的裁剪多边形。运行后,地理处理历史会记录该操作,右键历史条目就能导出Python代码。同样记得在环境设置里开启分块,避免大栅格处理失败。

内容的提问来源于stack exchange,提问作者Geno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 03:51:12