使用arcpy实现以上功能,可以按照以下步骤进行操作:

  1. 导入arcpy模块和其他所需的模块:
import arcpy
import os
  1. 设置工作空间为目标目录:
arcpy.env.workspace = "目标目录路径"
  1. 获取目标目录下所有的.tif文件:
tif_files = arcpy.ListRasters("*", "TIF")
  1. 遍历每个.tif文件,裁剪并投影保存:
for tif_file in tif_files:
    # 获取.tif文件的名称(不包括文件扩展名)
    tif_name = os.path.splitext(tif_file)[0]
    
    # 构建.shp文件路径
    shp_file = os.path.join(arcpy.env.workspace, tif_name + ".shp")
    
    # 构建输出.tif文件路径
    output_tif_file = os.path.join(arcpy.env.workspace, tif_name + "_projected.tif")
    
    # 裁剪.tif文件
    arcpy.Clip_management(tif_file, "#", shp_file, "#", "#", "NONE")
    
    # 获取参考.tif文件的坐标系
    reference_tif_file = "参考.tif文件路径"
    reference_tif_desc = arcpy.Describe(reference_tif_file)
    coordinate_system = reference_tif_desc.spatialReference
    
    # 投影.tif文件到参考.tif文件的坐标系
    arcpy.ProjectRaster_management(tif_file, output_tif_file, coordinate_system)

以上代码将目录下的每个.tif文件根据同名的.shp文件进行裁剪,并将裁剪后的.tif文件投影到参考.tif文件的坐标系,并保存为同名的"_projected.tif"文件。你需要将"目标目录路径"和"参考.tif文件路径"替换为实际的目录路径和参考.tif文件的路径。

注意:在执行投影操作之前,需要确保参考.tif文件的坐标系与.tif文件的坐标系一致,否则可能导致投影结果不准确。

使用arcpy实现首先将目录下的tif使用同名称的shp裁剪然后将该tif投影到参考tif相同的坐标系最后存储该tif

原文地址: https://www.cveoy.top/t/topic/i9iv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录