# -*- coding: UTF-8 -*-
import arcpy
import os
import glob
arcpy.CheckExtension("ImageAnalyst")
arcpy.CheckExtension("Spatial")
inws=r"E:\pre_data"
OutputFile=open('mean_Pre.csv', 'w')
raseters=glob.glob(os.path.join(inws, '*.tif'))
# 设置异常值的筛选条件。如果没有异常值,像我这样注释掉这一行就可以
# whereClause="Vaule=0"
for ras in raseters:
# outSetNull=SetNull(ras,ras,where_Clause)
#如果前面没有设置异常值,就和我一样把下面这一行注释掉。如果前面设置了异常值,就取消下面的这行注释
# meanValueInfo = arcpy.GetRasterProperties_management(outSetNull, 'MEAN')
arcpy.CalculateStatistics_management(ras)
#如果前面设置了异常值,就把下面这一行注释掉
meanValueInfo=arcpy.GetRasterProperties_management(ras, 'MEAN')
# MINIMUM —输入栅格中所有像元的最小值。
# MAXIMUM —输入栅格中所有像元的最大值。
# MEAN —输入栅格中所有像元的平均值。
# STD —输入栅格中所有像元的标准差。
# TOP —范围的顶部值或Y最大值(YMax)。
# LEFT —范围的左侧值或X最小值(XMin)。
# RIGHT —范围的右侧值或X最大值(XMax)。
meanValue = meanValueInfo.getOutput(0)
print os.path.basename(ras).split('_')[1] + ',' + str(meanValue) + '\n'
OutputFile.write(os.path.basename(ras).split('_')[1] + ',' + str(meanValue) + '\n')
OutputFile.close()
print("All project is OK!")
代码就是上面的代码,小伙伴们可以根据自己的需求进行参数的修改,希望可以帮助到有需要的小伙伴!