盘点那些使用MRT过程中的 ” 不走心“ 带来的ERROR
~~知错能改,善莫大焉~~~
疑难杂症浅录
ERROR 1: 执行投影时,读参数文件报错
MODIS Reprojection Tool (v4.1 March 2009)
Start Time: Wed Oct 26 15:47:25 2022
------------------------------------------------------------------
Error: ReadParameterFile : Reading Input Parameter File
: Invalid field 6233756.hdf
Fatal Error, Terminating...
要求:下载MOD13A1 KM 16天 NDVI 一年的数据
共23个 tif
在多次尝试后,都出现了同样的问题,苦苦搜寻直到看到了下述解答
才了然
MRT批量处理最受限 我要下载的MOD13A2 16天的产品
一次性最多处理半年
再次感谢
ERROR 2: 找不到 .prm文件
C:\MRT\bin>java -jar MRTBatch.jar -d D:\MODIS666\batchmodis_try -p D:\MODIS666\9.prm -o D:\w.tif
ERROR: Could not find prm file "D:\MODIS666\9.prm".
看看是不是和外面的重复了!!!
TIPS: 要将current directon 转化成MRT 的bin里面
TIPS: win+R 调出cmd 并转到MRTbin 就可以批量 mosaic resample projection
java -jar MRTBatch.jar -d D:\MODIS666\batchmodis_try -p D:\MODIS666\9.prm -o D:\w.tif
MRTBatch.bat
https://ladsweb.modaps.eosdis.nasa.gov/search/order/3
THIS IS 下数据的网址 以及批量下载的MATLAB代码
clear all
path1=('D:\MODIS666\batchmodis_try\');%input address of MOD13A2 folder
inputfile1=dir(path1);%输入文件
path3=('D:\MODIS666\666\');%output file location
m=ls('D:\MODIS666\batchmodis_try\'); %input address of MOD05 folder
for i=1:size(m,1)
daystart(i,1:22)=m(i,1:22);
end
for i=3:numel(inputfile1)%批量生成prm
prm=[path3,inputfile1(i).name,'.prm'];
fid=fopen(prm,'wt');
filename1=[path1,inputfile1(i).name];
% filename2=[path2,inputfile2(i).name];
fprintf(fid,'\nINPUT_FILENAME =%s\n',[filename1]');
% fprintf(fid,'\nGEOLOCATION_FILENAME =%s\n',[filename2]');
fprintf(fid,'\nINPUT_SDS_NAME =1 km 16 days NDVI\n' );
fprintf(fid,'\nOUTPUT_SPATIAL_SUBSET_TYPE = LAT_LONG' );
% fprintf(fid, '\nSPATIAL_SUBSET_UL_CORNER=<(UL_lineUL_sample),(UL_latUL_lon),(UL_proj_xUL_proj_y)>\n' );
% fprintf(fid, '\nSPATIAL_SUBSET_LR_CORNER=<(LR_lineLR_sample),(LR_latLR_lon),(LR_proj_xLR_proj_y)>\n' );
fprintf(fid, '\nOUTPUT_FILENAME = %s', [path3,daystart(i,1:22)]);
fprintf(fid, '\nOUTPUT_FILE_FORMAT = GEOTIFF_FMT\n' );
fprintf(fid, '\nKERNEL_TYPE (CC/BI/NN) = NN\n' );
fprintf(fid, '\nOUTPUT_PROJECTION_NUMBER = GEO\n' );
fprintf(fid, '\nOUTPUT_PROJECTION_PARAMETER = 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n' );
fprintf(fid, '\nOUTPUT_PROJECTION_SPHERE = 8\n' );
% fprintf(fid, '\nOUTPUT_PIXEL_SIZE = 0.01\n' );
fclose(fid);
str = ['swath2grid -pf=',prm];
dos (sprintf('%s',str)); %运行dos命令
end