使用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文件:详细步骤和代码示例

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

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