使用arcpy实现首先将目录下的tif使用同名称的shp裁剪然后将该tif投影到参考tif相同的坐标系最后存储该tif
使用arcpy实现以上功能,可以按照以下步骤进行操作:
- 导入arcpy模块和其他所需的模块:
import arcpy
import os
- 设置工作空间为目标目录:
arcpy.env.workspace = "目标目录路径"
- 获取目标目录下所有的.tif文件:
tif_files = arcpy.ListRasters("*", "TIF")
- 遍历每个.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文件的坐标系一致,否则可能导致投影结果不准确。
原文地址: https://www.cveoy.top/t/topic/i9iv 著作权归作者所有。请勿转载和采集!