遥感数据处理方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遥感数据处理方法---案例四、利用MRT批量拼接MODIS数据
来源:夏江周的日志
Q:有大量MODIS 数据需要进行拼接,如何完成这个无聊的工作?
A:利用MODIS Reprojection Tool(MRT)工具批量完成
开始:
操作步骤:
1:新建一个DATA文件夹,将HDF数据拷到DATA文件夹下;
2:在DATA文件夹下再新建个Result文件夹(存放拼接后数据);
3:将以下代码内容粘到一个txt文件中,更改txt文件扩展名为bat即可,假设你命名该bat 文件名为MODISmosaic.bat;程序导读:rem 开始的为注释;MOSAICINPUT.TXT为程序自动生成的,不用管;MRTDATADIR为你的MRT安装文件中data的路径,“c:/MRT/bin/ mrtmosaic.exe”改成你的mrtmosaic.exe的安装路径。"set /a DAY= %DAY% + 16 "则是因为输入数据是16天间隔的,根据数据改你的程序。
rem Set the MRTDATADIR environmental var to the MRT data directory.
set MRTDATADIR=C:\MRT\data
set /a DAY=2000161 rem **batch data start time**
set /a DEADLINE=2000193 rem **batch data end time**
:start
if %DAY% leq %DEADLINE% (goto ORDER) else exit
:ORDER
rem **save the file name into a notepad**
dir *%DAY%.*.hdf/a/b/s > MOSAICINPUT.TXT
rem **execute mosaic **
rem Set the mrtmosaic.exe directory.
c:/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o M OSAIC_TMP_%DAY%.hdf
rem **copy the result to a file and delete the input data**
copy MOSAIC_TMP_%DAY%.hdf Result & del MOSAIC_TMP_%DAY%.hdf
del *%DAY%.*.hdf
set /a DAY= %DAY% + 16
goto start
4:点击MODISmosiac.bat,即可进行拼接操作
备注:该操作数据及BAT文件须放在一个文件夹(文件夹起名请用英文,MRT对中文路径数据会打不开)下。代码未考虑中间天数间断的情况,比如对MODIS时间分辨率为16天的数据,在一个应连续的等差数列中间有数据缺失,存在相差32天的情况,可能会报错,请注意。同时,需要备份好你的输入数据,因为程序运行中会自动删除拼接好的数据,所以不要数据丢了的时候再来怪我哈。
程序拓展:如何处理你的数据?
来看一下MOD13Q1.A2000161.h26v05.005.2008195021701.hdf 的信息,注意红色部分nput Projection Type: SIN
Projection Parameters: ( 6371007.181 0 0 0 0 0 0 0 0 0 0 0 0 0 0 )
Total Number of Bands: 12
Data Type: ( INT16, INT16, UINT16, INT16, INT16, INT16, INT16, INT16, INT16, I NT16, INT16, INT8 )
Pixel size: ( 231.7, 231.7, 231.7, 231.7, 231.7, 231.7, 231.7, 231.7, 231.7, 231.7, 2 31.7, 231.7 )
Number of lines: ( 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4 800, 4800 )
Number of samples: ( 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800, 480 0, 4800, 4800 )
Lat/Long of Upper-Left Corner: ( 39.999999996 104.432583132 )
Lat/Long of Upper-Right Corner: ( 39.999999996 117.486656023 )
Lat/Long of Lower-Left Corner: ( 29.999999997 92.37604306 )
Lat/Long of Lower-Right Corner: ( 29.999999997 103.923048442 )
Datum: NODATUM
来看程序中与红色部分信息对应的代码,
Total Number of Bands: 12
Data Type: ( INT16, INT16, UINT16, INT16, INT16, INT16, INT16, INT16, INT16, I NT16, INT16, INT8 )
c:/MRT/bin/mrtmosaic.exe -i MOSAICINPUT.TXT -s "1 0 0 0 0 0 0 0 0 0 0 0" -o MO SAIC_TMP_%DAY%.hdf
-s "1 0 0 0 0 0 0 0 0 0 0 0" :select input band 1(true) 0(fault)
这行代码与MOD13Q1的波段对应情况:
∙1250m_16_days_NDVI
∙0250m_16_days_EVI
∙0 250m_16_days_VI_Quality
∙0250m_16_days_red_reflectance
∙0250m_16_days_NIR_reflectance
∙0250m_16_days_blue_reflectance
∙0250m_16_days_MIR_reflectance
∙0250m_16_days_view_zenith_angle
∙0250m_16_days_sun_zenith_angle
∙0250m_16_days_relative_azimuth_angle
∙0250m_16_days_composite_day_of_the_year
∙0250m_16_d