提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
下载了日值土壤水分数据,想将其以平均值合称为月值数据,我的数据是以每年为一个文件夹分别存储的,例如一个1985的文件夹有1985年所有的日值数据。
一、基本思路
1.读取每个文件夹即每年的其中1个月的所有日值数据,循环12次
2.取平均值
3.导出数据
二、实现代码
代码如下:
import arcpy
arcpy.CheckOutExtension("spatial")
s=r'E:\DATA\CCI_AP_SM\CCI_AP_SM1979-2020\\'#年文件夹所在路径
for i in range(1985,2021):#左闭右开,共有1985-2020个文件夹
for j in range(1,13):#1-12个月份分别循环
a1 = s + str(i)+"/"#进入年文件夹
arcpy.env.workspace = a1#设为工作路径
print(a1)
a2='CCI_AP_' + str(i) + str(j).zfill(2) + "*"
print(a2)#检查一下
rasters = arcpy.ListRasters(a2, "tif")#读取所有i年j月的日值数据,格式为tif
print(rasters)
out = "E:\\DATA\\CCI_AP_SM\\monthmean\\" + str(i)+str(j).zfill(2)+'_fusion.tif'#输出路径和名称
arcpy.gp.CellStatistics_sa(rasters, out, "MEAN", "DATA")#取平均值,想求最大值可以将MEAN换位MAXIMUM
print(str(i) + " has done")
print("All done,please close!")
总结
自认为比较简单快捷的处理方式,以上只是根据个人需要进行编码,仅供参考,自留保存用。