基于arcpy批量操作(七)
1. 使用arcpy进行批量tif格式数据的重采样
此代码使用了最近邻(“NEAREST”)插值方法进行重采样,如果您需要使用其他插值方法,请相应地修改arcpy.Resample_management函数的第四个参数。
import arcpy
from arcpy.sa import *
# 设置工作空间
arcpy.env.workspace = r"C:\path\to\your\workspace"
# 输入文件夹路径
input_folder = r"C:\path\to\input\folder"
# 输出文件夹路径
output_folder = r"C:\path\to\output\folder"
# 设置重采样分辨率
resampling_resolution = "1000"
# 列出输入文件夹中的所有tif文件
tif_list = arcpy.ListFiles("*.tif")
# 循环处理每个tif文件
for tif_file in tif_list:
# 构建输入和输出路径
input_path = input_folder + "\\" + tif_file
output_path = output_folder + "\\" + tif_file
# 执行重采样
arcpy.Resample_management(input_path, output_path, resampling_resolution, "NEAREST")
print output_path
print("Finish!")
2.方差计算
ArcGIS中的像元统计(Cell Statistics)工具的VARIETY选项用于计算给定的多幅栅格图像对应像元的不同像元值的数量。可以反应不同栅格图像的差异。
import arcpy
from arcpy import env
from arcpy.sa import *
arcpy.CheckOutExtension('Spatial')
# Set environment settings
env.workspace = "C:/User/Desktop/Data/Bio_Topo/4km_variance"
# Set local variables
inRaster01 = "envi1.tif"
inRaster02 = "envi2.tif"
inRaster03 = "envi3.tif"
inRaster04 = "envi4.tif"
inRaster05 = "envi5.tif"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CellStatistics
outCellStatistics = CellStatistics([inRaster01, inRaster02, inRaster03, inRaster04, inRaster05],
"STD", "DATA")
# Save the output
outCellStatistics.save("C:/User/Desktop/Data/Bio_Topo/4km_variance/variance/variance_STD.tif")
print("Variance raster saved")