关于下载的资源中NDVI如何让去除异常值以及除以10000
因为在做NDVI时有些时间段的没用上,但是下载和筛选的时候,将中国范围内的基本隔一个月都会下载,那么很多产品在下载下来时并未做处理,存在异常值以及数据范围在-2000~10000之间,包括很多在我资源里下载的朋友们也会遇到这种情况,这几天在处理数据时,发现了一位老哥发布的代码能够较好的解决这个问题,下面给出代码,以及作者原文链接。
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:\NDVI\NDVI样地\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')
我看到的这个代码作者为:蓝色大螃蟹
原文链接在:https://www.cnblogs.com/shirleysu90/p/13144426.html
各位在下载我的资源时可以尝试参考这样处理异常值