网站dns多久刷新,wordpress小工具是什么意思,京东云 wordpress,网站建设目标定位HEG其实可以批处理可以看我另外一篇博文#xff0c;不需要写代码。但是对于300以上数量的MODIS影像非常容易自动停止#xff0c;而且越来越慢。还是打算利用python每个调用。
只提取了MODIS数据当中的IST一个波段#xff0c;输出成tif#xff0c;其他什么都没做。在处理前…HEG其实可以批处理可以看我另外一篇博文不需要写代码。但是对于300以上数量的MODIS影像非常容易自动停止而且越来越慢。还是打算利用python每个调用。
只提取了MODIS数据当中的IST一个波段输出成tif其他什么都没做。在处理前判断这个文件是否已经被处理出tif。注意出来的tif是没有进行拉伸的应该乘以0.01才是真正的IST的值。
处理和直接调用HEG命名是一样的注意处理前要先在HEG中生成一个参数化文件。
参考了https://blog.csdn.net/qq_44900916/article/details/116741205 # -*- coding: utf-8 -*-Created on Tue Nov 14 23:56:18 2023author: Asus
# -*- coding: utf-8 -*-调用HEG相关工具批处理MODIS数据import os# 设置HEG相关环境变量\
os.environ[MRTDATADIR] D:\\HEG\\HEG_Win\\data
os.environ[PGSHOME] D:\\HEG\\HEG_Win\\TOOLKIT_MTD
os.environ[MRTBINDIR] D:\\HEG\\HEG_Win\\bin# 设置HEG的bin路径
hegpath D:\\HEG\\HEG_Win\\bin
# 指定处理模块的可执行程序文件路径此处采用swtif.exe可以根据具体的处理问题设置
hegdo os.path.join(hegpath, swtif.exe)# 指定输入数据的路径
inpath rE:\MODIS\previous
# 指定输出数据的路径
outpath rE:\MODIS\HEGOUT
# os.chdir(inpath) #改变当前工作目录到输入数据目录# 获取当前文件夹下的所有hdf文件
allfiles os.listdir(inpath)
allhdffiles []
for eachfile in allfiles:if os.path.splitext(eachfile)[1] .hdf:if not os.path.exists(outpath/eachfile.replace(.hdf, )_HEGOUT.tif):allhdffiles.append(eachfile)
print(--*20)
print(文件数量为:, len(allhdffiles), ,所有hdf文件如下)
print( \n .join(allhdffiles))
print(--*20)# prm文件设置模块需要首先在HEG工具中生成一个参考的prm文件示例如下
# 设置prm文件存储路径
prmpath rE:\heatflux\evaluateERAandMODIS\mosaic2019\PRM
#prmpath prmpath.replace(\\, /)
for eachhdf in allhdffiles:prm [NUM_RUNS 1\n,BEGIN\n,INPUT_FILENAME inpath\\eachhdf\n,OBJECT_NAME MOD_Swath_Sea_Ice\n,FIELD_NAME Ice_Surface_Temperature|\n,BAND_NUMBER 1\n,OUTPUT_PIXEL_SIZE_X 1000.0\n,OUTPUT_PIXEL_SIZE_Y 1000.0\n,SPATIAL_SUBSET_UL_CORNER ( 89.931801 -179.999954 )\n,SPATIAL_SUBSET_LR_CORNER ( 65.863754 179.999481 )\n,RESAMPLING_TYPE NN\n,OUTPUT_PROJECTION_TYPE PS\n,ELLIPSOID_CODE DEFAULT\n,OUTPUT_PROJECTION_PARAMETERS ( 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,OUTPUT_FILENAME outpath\\eachhdf.replace(.hdf, )_HEGOUT.tif\n,OUTPUT_TYPE GEO\n,END\n]prmfilename prmpath \\ eachhdf.replace(.hdf, ).prm# 这里一定要注意设定换行符为‘\n’,否则由于在windows系统下默认换行符为‘\r\n’,则无法运行成功foopen(prmfilename,w,newline\n)fo.writelines(prm)fo.close()for eachhdf in allhdffiles:prmfilepath prmpath \\ eachhdf.replace(.hdf, ) .prmtry:resamplefiles {0} -P {1}.format(hegdo, prmfilepath)os.system(resamplefiles)print(eachhdf has finished)except:# 提示错误信息print(eachhdf was wrong)