代码如下:
import arcpy
from arcpy import env
from arcpy.sa import *
import sys
reload(sys)
sys.setdefaultencoding('utf8')
arcpy.CheckOutExtension("ImageAnalyst") # 检查许可
arcpy.CheckOutExtension("spatial") # 检查许可
env.workspace = r"D:NDVINDVI样地MOSAIC2016" # 数据存放目录
outfile = r'D:NDVI排除值paichu2016' # 输出数据存放路径
whereClause = "VALUE = -3000" # 设空函数条件
for file1 in arcpy.ListFiles("*.tif"): # 循环列表下的tif文件
s = file1
print(s)
C_outfile = outfile + '\' + s # 输出的文件名,完整路径
print (C_outfile)
inRaster = Raster(s)
outSetNull = SetNull(inRaster, inRaster, whereClause) * 0.0001 # 去除无效值并乘以0.0001
outSetNull.save(C_outfile) # 保存数据
print ('over')
这样就可以批量处理MODIS下载下来的-3000的无效值,同时可以乘以0.0001
具体前一步参考青灯常伴古佛的博客: