python如何調(diào)用HEG工具批量處理MODIS數(shù)據(jù)-創(chuàng)新互聯(lián)

這篇文章主要介紹了python如何調(diào)用HEG工具批量處理MODIS數(shù)據(jù),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的臨朐網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

下面的代碼主要用于使用python語(yǔ)言調(diào)用NASA官方的MODIS處理工具HEG進(jìn)行投影坐標(biāo)轉(zhuǎn)換與重采樣批量處理
主要參考

  • HEG的用戶手冊(cè):https://newsroom.gsfc.nasa.gov/sdptoolkit/HEG/HEG215/EED2-TP-030_Rev01_HEG_UsersGuide_2.15.pdf

  • HEG批處理幫助:https://newsroom.gsfc.nasa.gov/sdptoolkit/HEG/HEG_Batch_job_Help.htm

主要的注意事項(xiàng)如下:

  1. 首先按照官方指南安裝HEG工具,具體安裝步驟可參考我的上篇博客:https://www.cnblogs.com/yhpan/p/11298595.html

  2. 根據(jù)HEG用戶手冊(cè)批量生成批處理參數(shù)文件,可以在HEG工具中生成一個(gè)文件,拿來(lái)自己改改用用

  3. 具體調(diào)用哪一個(gè)工具,參數(shù)文件如何寫,請(qǐng)一定仔細(xì)閱讀用戶手冊(cè),東西全都在上面。一般常用的是resample.exe和swtif.exe,如果實(shí)在無(wú)法判斷可以先用HEG的GUI處理一個(gè)自己的數(shù)據(jù),保存一個(gè)prm文件,然后根據(jù)這個(gè)文件中的參數(shù),對(duì)照著用戶手冊(cè)一個(gè)一個(gè)的找,就可以了。

  4. 生成參數(shù)文件寫入時(shí)一定要注意,設(shè)定換行符為‘\n',fo=open(prmfilename,'w',newline='\n'),否則由于在windows系統(tǒng)下默認(rèn)換行符為‘\r\n',程序無(wú)法運(yùn)行成功

下面是源碼分享

# -*- coding: utf-8 -*-
"""
Created on Sun Feb 16 11:27:19 2020
調(diào)用HEG相關(guān)工具批處理MODIS數(shù)據(jù),主要完成投影坐標(biāo)轉(zhuǎn)換與重采樣
@author: pan
"""
import os

# 設(shè)置HEG相關(guān)環(huán)境變量
os.environ['MRTDATADIR']='D:/MyApps/HEG/HEG_Win/data'
os.environ['PGSHOME']='D:/MyApps/HEG/HEG_Win/TOOLKIT_MTD'
os.environ['MRTBINDIR']='D:/MyApps/HEG/HEG_Win/bin'

# 設(shè)置HEG的bin路徑
hegpath = 'D:/MyApps/HEG/HEG_Win/bin'
# 指定處理模塊的可執(zhí)行程序文件路徑,此處采用resample.exe,可以根據(jù)具體的處理問(wèn)題設(shè)置
hegdo = os.path.join(hegpath, 'resample.exe')
hegdo = hegdo.replace('\\', '/') # 全路徑以“/”連接

# 指定輸入數(shù)據(jù)的路徑
inpath = r'C:\Users\pan\Desktop\Py_ex\data\hdf'
inpath = inpath.replace('\\', '/')
# 指定輸出數(shù)據(jù)的路徑
outpath = r'C:\Users\pan\Desktop\Py_ex\data\hdf\out'
outpath = outpath.replace('\\', '/')
# os.chdir(inpath) #改變當(dāng)前工作目錄到輸入數(shù)據(jù)目錄

# 獲取當(dāng)前文件夾下的所有hdf文件
allfiles = os.listdir(inpath)
allhdffiles = []
for eachfile in allfiles:
  if os.path.splitext(eachfile)[1] =='.hdf':
    allhdffiles.append(eachfile)
print('--'*20)
print('文件數(shù)量為:', len(allhdffiles),',所有hdf文件如下')
print(' '+'\n '.join(allhdffiles))
print('--'*20)

# prm文件設(shè)置模塊,需要首先在HEG工具中生成一個(gè)參考的prm文件,示例如下
# 設(shè)置prm文件存儲(chǔ)路徑
prmpath = r"C:\Users\pan\Desktop\Py_ex\data\hdf\prm"
prmpath = prmpath.replace('\\', '/')
for eachhdf in allhdffiles:
  prm=['NUM_RUNS = 1\n',
   'BEGIN\n',
   'INPUT_FILENAME = ' + inpath+'/'+eachhdf+'\n',
   'OBJECT_NAME = MODIS_Grid_8Day_1km_LST|\n',
   'FIELD_NAME = LST_Day_1km\n',
   'BAND_NUMBER = 1\n','SPATIAL_SUBSET_UL_CORNER = ( 90.0 -180.0 )\n',
   'SPATIAL_SUBSET_LR_CORNER = ( -90.0 180 )\n',
   'RESAMPLING_TYPE = BI\n',
   'OUTPUT_PROJECTION_TYPE = ALBERS\n',
   'ELLIPSOID_CODE = WGS84\n',
   'OUTPUT_PROJECTION_PARAMETERS = ( 0.0 0.0 25.0 47.0 105.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 )\n',
   'OUTPUT_PIXEL_SIZE = 500.0\n',
   'OUTPUT_FILENAME = ' + outpath+'/'+eachhdf+'_out.tif\n',
   'OUTPUT_TYPE = GEO\n',
   'END\n']
  prmfilename=prmpath +'/'+ eachhdf+'.prm'
  prmfilename=prmfilename.replace('\\', '/')
  #這里一定要注意,設(shè)定換行符為‘\n',否則由于在windows系統(tǒng)下默認(rèn)換行符為‘\r\n',則無(wú)法運(yùn)行成功
  fo=open(prmfilename,'w',newline='\n')
  fo.writelines(prm)
  fo.close()

for eachhdf in allhdffiles:
  prmfilepath=prmpath +'\\'+ eachhdf + '.prm'
  prmfilepath=prmfilepath.replace('\\', '/')
  try:
    resamplefiles = '{0} -P {1}'.format(hegdo, prmfilepath)
    os.system(resamplefiles)    
    print(eachhdf + ' has finished')
  except:
    # 提示錯(cuò)誤信息
    print(eachhdf + 'was wrong')

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python如何調(diào)用HEG工具批量處理MODIS數(shù)據(jù)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)頁(yè)題目:python如何調(diào)用HEG工具批量處理MODIS數(shù)據(jù)-創(chuàng)新互聯(lián)
文章地址:http://muchs.cn/article30/cspgpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、電子商務(wù)、微信公眾號(hào)、網(wǎng)站改版虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化