时间序列S-G滤波之Python
根据上上篇博文(MODIS系列之NDVI(MOD13Q1)五:NDVI处理流程)做出的NDVI。我们求NDVI时间序列图,但该NDVI时序图为地表各土地类型综合的NDVI时序图。(详情同样参考该系列五博文的文底)
建议:大家应该也能发现从网上粘贴的代码,大部分在各自实际运行中会出现报错,不能运行。这其中有代码本身的错误,但也不乏运行环境的欠缺、误操作、电脑自身特点等原因。本博客的所有代码都经过实际运行再上传,哪怕比较熟悉的代码,再上传前都会尽可能实际运行。目的便是给大家减少参考困难及错误信息。因为己所不欲勿施于人么。不足之处,还请见谅,并留下建议。
1. 完整代码如下(实际运行成功):
import matplotlib.pyplot as plt
from osgeo import gdal
from gdalconst import *
import matplotlib
import numpy
import time
import os
import os.path
def Gettiff(getpath):
tiff=[]
os.system("dir "+getpath+"\\"+"*.tif /b /s>tiff.TXT")
tifftxt = open("tiff.TXT").readlines()
for i in tifftxt:
tiff.append(i.strip())
return tiff
def greater(data,dt,r,c):
count=0
for i in range(r):
for j in range(c):
if data[i][j]!=dt:
count=count+1
else:
continue
return count
def getsum(data,c,r,nodata):
sum1=0
for i in range(c):
for j in range(r):
if data[i][j]==nodata:
continue
else:
sum1=sum1+data[i][j]
return sum1
def write_img(savepath,filename,im_proj,im_geotrans,im_data):
#gdal数据类型包括
#gdal.GDT_Byte,
#gdal