【问题标题】:unable to clip raster(ETrF.etrf.tif) in python?无法在 python 中剪辑光栅(ETrF.etrf.tif)?
【发布时间】:2019-10-30 01:00:46
【问题描述】:

我有 50 个栅格保存为 LC81520412017282LGN00_ETrF.etrf.tif ,还有一个多边形 shapefile 保存为 .shp。

尝试在 arcgis 中使用 Clip(Data Management) 剪辑此图像,效果很好。但是要批量处理所有图像,我编写了如下脚本

import os
import arcpy
arcpy.env.workspace = "E:/Project"
for root, dirs, files in os.walk('E:/Project/a/r'):
    for file in files:
        if os.path.splitext(file)[1] == '.tif':
           print (file)
           arcpy.Clip_management(file,"#",
           "E:/Project/be/test.gdb/%file%"
           ,"be/canal.shp","#","Clipping 
           Geometry", "NO_MAINTAIN_EXTENT")

上述脚本抛出“不支持的文件或文件不存在”的错误。

【问题讨论】:

    标签: python-2.7 arcgis arcpy


    【解决方案1】:

    剪辑管理只是将 shapefile 剪辑为使用您必须使用的 shapefile 来“剪切”光栅文件

    ExtractByMask (in_raster, in_mask_data)
    

    这是一个例子

    import arcpy
    from arcpy import env
    from arcpy.sa import *
    env.workspace = "C:/sapyexamples/data"
    outExtractByMask = ExtractByMask("elevation", "mask.shp")
    outExtractByMask.save("C:/sapyexamples/output/maskextract")
    

    【讨论】:

    • 数据管理中还有一个用于光栅图像的剪辑工具。
    猜你喜欢
    • 2019-04-22
    • 2018-07-09
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 2022-01-22
    相关资源
    最近更新 更多