diff --git a/R/sits_merge.R b/R/sits_merge.R index 80cd07b73..5756b86f6 100644 --- a/R/sits_merge.R +++ b/R/sits_merge.R @@ -203,17 +203,24 @@ sits_merge.raster_cube <- function(data1, data2, ...) { return(data1) } -.merge_single_timeline <- function(data1, data2){ - # Get data1 timeline. - d1_tl <- unique(as.Date(.cube_timeline(data1)[[1]])) - # Create new `file_info` using dates from `data1` timeline. - fi_new <- purrr::map(sits_timeline(data1), function(date_row) { - fi <- .fi(data2) - fi[["date"]] <- as.Date(date_row) - fi +.merge_single_timeline <- function(data1, data2) { + tiles <- .cube_tiles(data1) + # update the timeline of the cube with single time step (`data2`) + data2 <- purrr::map_dfr(tiles, function(tile_name) { + tile_data1 <- .cube_filter_tiles(data1, tile_name) + tile_data2 <- .cube_filter_tiles(data2, tile_name) + # Get data1 timeline. + d1_tl <- unique(as.Date(.cube_timeline(tile_data1)[[1]])) + # Create new `file_info` using dates from `data1` timeline. + fi_new <- purrr::map(sits_timeline(tile_data1), function(date_row) { + fi <- .fi(tile_data2) + fi[["date"]] <- as.Date(date_row) + fi + }) + # Assign the new `file_into` into `data2` + tile_data2[["file_info"]] <- list(dplyr::bind_rows(fi_new)) + tile_data2 }) - # Assign the new `file_into` into `data2` - data2[["file_info"]] <- list(dplyr::bind_rows(fi_new)) # Merge cubes and return .cube_merge(data1, data2) }