其实DTW算法更多应用于手势识别、语音信号处理等领域,但是在近年来,研究发现该算法在遥感时序数据处理方面,也具有一定的优势,例如不同的作物,虽然其NDVI时序曲线的变化趋势相同,但是不同地方播种时间会有所差异,而DTW算法刚好可以弥补这个差异,以达到更好的分类于提取效果。

采用2018-2020年MODIS 植被指数合成产品MOD13A2,该数据时间间隔为16d,每年23期,三年共69期,空间分辨率为1KM。(来源:​​https://ladsweb.modaps.eosdis.nasa.gov/​​ ,选择数据产品,选择时间和区域,就能够下载HDF文件)

MODIS数据产品预处理:

MODIS数据下载的格式均为HDF文件,不便处理,因此需要通过其他工具统一拼接投影,并转换成较易于处理和使用的TIF或DAT格式,可以采用NASA官网提供的MODIS Reprojection Tool(MRT)对MODIS数据进行批量镶嵌、投影处理,并转为TIF格式。

HDF数据拼接、转换与投影:

首先打开modis tool工具,并导入任意一期的数据,进行参数的预设置,选择需要提取的指数类型(本次为ndvi),设置输出格式和投影信息等(本次选择了UTM投影,并定义坐标系为WGS84,选择49带),之后保存设置文件,点击“Save Parameter File”,保存prm格式的工程文件(后面批量处理时要用到),最后点击“RUN”。

动态时间规整算法(DTW)与遥感影像地物分类(一)时序数据的下载及预处理_数据

这样就得到了一期拼接投影后的tif影像:

动态时间规整算法(DTW)与遥感影像地物分类(一)时序数据的下载及预处理_cmd命令_02

HDF数据批处理:

实际操作过程中往往数据量比较大,这时候可以通过批处理命令批量调用MRT工具处理数据,第一种方方法是通过写dat文件,调用保存的设置批量完成处理,不过当时操作的时候,在投影阶段出了一点问题。第二种:通过直接调用cmd命令,相比而言调用cmd命令代码量较少,比较方便,本次通过调用cmd命令完成数据批量处理。 按下Win+R,打开运行界面,输入cmd,打开命令提示符,按顺序输入以下代码:

cd/d D:\MRT\MRT_download_Win\bin    //MRT工具文件夹
java -jar MRTBatch.jar -d C:\Users\shao\Desktop\modisdata2018\DATA -p C:\Users\shao\Desktop\modisdata2018\mod18.prm -o C:\Users\shao\Desktop\modisdata2018\modis_mosaic //选择数据文件夹、工程设置文件夹、结果存放文件夹
D:\MRT\MRT_download_Win\bin\MRTBatch.bat //调用MRTBatch工具

动态时间规整算法(DTW)与遥感影像地物分类(一)时序数据的下载及预处理_数据_03

这里注意,其中第一行位置,是你安装MRT的位置,第二行 -d后面,输入存放原始数据的文件夹;-p后面,输入存放上一步生成的prm工程文件位置;-o后面,是输出的文件夹。最后一行输入MRTBatch.bat即可。运行后,就得到了所有NDVI影像:

动态时间规整算法(DTW)与遥感影像地物分类(一)时序数据的下载及预处理_数据_04

到这里,MODIS数据预处理环节就告一段落了,下一步是对数据进行滤波除噪、异常值处理,以及裁剪目标区域影像,后续更新!