簡體   English   中英

如何使用此R函數拼接相同的HDF文件?

[英]How to mosaic the same HDF files using this R function?

文件夾中有1,000多個MODIS HDF圖像:

M:\join

他們的名字告訴我們哪些文件必須拼接在一起。

例如,在以下文件中, 2009090表示這三個圖像必須鑲嵌在一起:

MOD05_L2.A2009090.0420.051.2010336084010
MOD05_L2.A2009090.0555.051.2010336100338
MOD05_L2.A2009090.0600.051.2010336100514

或這兩個日期是同一日期2009091

MOD05_L2.A2009091.0555.051.2010336162871
MOD05_L2.A2009091.0600.051.2010336842395

我將使用此功能(功能來源 )將它們鑲嵌:

mosaicHDF(hdfNames, filename, MRTpath, bands_subset, delete=FALSE)

如何將我的HDF文件引入hdfNames

我應該用文件名寫什么?

我試圖找到此功能的手冊,但沒有任何內容。

謝謝你的幫助。

幸運的是,我確實找到了答案。 謝謝你的幫助。

hdfs <- c('MOD05_L2.A2009090.0420.051.2010336084010.hdf',
          'MOD05_L2.A2009090.0555.051.2010336100338.hdf',
          'MOD05_L2.A2009090.0600.051.2010336100514.hdf')

mosaicHDF(hdfNames=hdfs, filename='newhdf.hdf', MRTpath='C:/MRT/bin',bands_subset="1 0 0 0", delete=FALSE) 

但是我有一個新問題:-)

由於該文件夾中有數千個HDF文件,

如何編寫循環以將所有HDF文件引入該函數?

僅供參考:我對R很陌生。

這個問題已經很老了,但我認為我會張貼要求的R代碼Canada2015。 因此,對於2000年至2016年的循環,假設文件名仍為A <YEAR> <MONTH> <DAY>。 格式。 此代碼將所有圖塊拼接在一起,以產生一個用於當前年份的新文件。 如果您必須在一年中拼接許多圖塊,則可以將pattern =參數更改為類似“ .hdf”的常規名稱

for(i in 2000:2016){
  HDFs <- list.files(path = "F:/PATHTOFILES/HDFs/", pattern = paste("A",i,sep = ""))
  mosaicHDF(hdfNames = HDFs, filename = paste('newhdf',i,'.hdf',sep = ""), MRTpath = 'C:/MRT/bin',bands_subset="1 0 0 0", delete=FALSE)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM