For-loop中的区域统计中的多个栅格?

时间:2016-05-02 15:34:07

标签: python loops for-loop arcpy

我正在为我的初学者制作一个项目' Python类已经有点卡住了。我有三个.tif文件,我想做区域统计,但我收到一个错误。这是我的剧本:

import arcpy
import os
from arcpy import env
from arcpy.sa import *
env.workspace = r'C:\Users\alvaremi\Documents\Final Project_Python'
path = r'C:\Users\alvaremi\Documents\Final Project_Pythonn'
env.overwriteOutput = 1
arcpy.CheckOutExtension('Spatial')

in_zone_data = 'counties_in_cog.shp'
zone_field = 'NAME'

impervious = os.listdir(env.workspace + '\ImpvClipped')
print impervious

for year in impervious:
  if year.endswith(".tif"):
    outZonalStatistics = ZonalStatistics(in_zone_data, zone_field, year, "MEAN", "NODATA")
    outZonalStatistics.save(year[:8] + 'zonalstats')

print 'Done'

当我运行它时,我收到此错误:     ExecuteError:无法执行。参数无效。     错误000865:输入值栅格:2001impvclipped.tif不存在。     执行失败(ZonalStatistics)。

我也不确定如何保存新文件以便他们保留日期。我想要运行Zonal Stats的文件是" 2001impclipped"," 2006impclipped"和" 2011impclipped"。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要将完整的目录路径添加到文件名中,以便Python找到它。

fileName = env.workspace + '\ImpvClipped\' + year
ZonalStatistics(in_zone_data, zone_field, fileName, "MEAN", "NODATA")