Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中发布同名镶嵌图像_R_Raster_Gdal_R Raster_Rgdal - Fatal编程技术网

在R中发布同名镶嵌图像

在R中发布同名镶嵌图像,r,raster,gdal,r-raster,rgdal,R,Raster,Gdal,R Raster,Rgdal,你好,我有4个包含modis图像的文件夹,每个文件夹都有以相同方式命名的时间序列图像,例如: Folder 1 : MCD19A2_Optical_Depth_047_2019_032.tif MCD19A2_Optical_Depth_047_2019_033.tif MCD19A2_Optical_Depth_047_2019_034.tif MCD19A2_Optical_Depth_047_2019_035.tif MCD19A2_Optical_Depth_047_2019_036.t

你好,我有4个包含modis图像的文件夹,每个文件夹都有以相同方式命名的时间序列图像,例如:

Folder 1 :
MCD19A2_Optical_Depth_047_2019_032.tif
MCD19A2_Optical_Depth_047_2019_033.tif
MCD19A2_Optical_Depth_047_2019_034.tif
MCD19A2_Optical_Depth_047_2019_035.tif
MCD19A2_Optical_Depth_047_2019_036.tif
MCD19A2_Optical_Depth_047_2019_037.tif
...

Folder 2 :
MCD19A2_Optical_Depth_047_2019_032.tif
MCD19A2_Optical_Depth_047_2019_033.tif
MCD19A2_Optical_Depth_047_2019_034.tif
MCD19A2_Optical_Depth_047_2019_035.tif
MCD19A2_Optical_Depth_047_2019_036.tif
MCD19A2_Optical_Depth_047_2019_037.tif
...

Folder 3 :
MCD19A2_Optical_Depth_047_2019_032.tif
MCD19A2_Optical_Depth_047_2019_033.tif
MCD19A2_Optical_Depth_047_2019_034.tif
MCD19A2_Optical_Depth_047_2019_035.tif
MCD19A2_Optical_Depth_047_2019_036.tif
MCD19A2_Optical_Depth_047_2019_037.tif
...

Folder 4 :
MCD19A2_Optical_Depth_047_2019_032.tif
MCD19A2_Optical_Depth_047_2019_033.tif
MCD19A2_Optical_Depth_047_2019_034.tif
MCD19A2_Optical_Depth_047_2019_035.tif
MCD19A2_Optical_Depth_047_2019_036.tif
MCD19A2_Optical_Depth_047_2019_037.tif
...
我想知道如何将4幅modis图像MCD19A2_Optical_Depth_047_2019_032.tif和4幅MCD19A2_Optical_Depth_2019_033.tif拼接在一起


由于名称中的正常公历日期与朱利安日中的日期不同

因此,最好发布一些您尝试过的代码,以便提出更好的建议。我想你可以试试这样的东西:

dirNames <- c(paste('Folder', 1:4))
filesNames <- c("MCD19A2_Optical_Depth_047_2019_032.tif",
                "MCD19A2_Optical_Depth_047_2019_033.tif",
                "MCD19A2_Optical_Depth_047_2019_034.tif",
                "MCD19A2_Optical_Depth_047_2019_035.tif",
                "MCD19A2_Optical_Depth_047_2019_036.tif",
                "MCD19A2_Optical_Depth_047_2019_037.tif", 
                "MCD19A2_Optical_Depth_047_2019_038.tif")

filesRast <- stringr::str_c(rep(dirNames, length(filesNames)), 
                            '/', filesNames)

filesFolders <-lapply(dirNames, 
                      function(x) {
                        y <- filesRast[stringr::str_detect(pattern = x, string = filesRast)]
                        y <- sort(y)
                        })

for(i in 1:length(dirNames)){
  name <- lapply(filesFolders, function(x) x[i])
  dateOrig <- gsub('_', '',gsub(paste0('.*MCD19A2_Optical_Depth_047_|.tif'), '', name[1]))
  dateGreg <- as.Date(dateOrig, "%y%j")
  r <- raster::raster(name[1])
  for(j in 2:length(name)){
    r <- raster::mosaic(r, raster::raster(name[i]))
  }
  raster::writeRaster(r, paste0('out/folder/', 'MCD19A2_mosaic_', dateGreg, '.tif'))
}
dirname