Move results of an EE task saved in Google Cloud Storage to a local directory.

ee_gcs_to_local(
  task,
  dsn,
  public = FALSE,
  metadata = FALSE,
  overwrite = TRUE,
  quiet = FALSE
)

Arguments

task

List generated after the EE task is correctly finished. See details.

dsn

Character. Output filename. If missing, a temporary file (i.e. tempfile()) will be assigned.

public

Logical. If TRUE, a public link to Google Cloud Storage resource is created. "Public Access Prevention" may need to be removed. In addition, the bucket access control configuration must be "fine-grained". See GCS public files documentation for more details.

metadata

Logical. If TRUE, export the metadata related to the Google Cloud Storage resource. See details.

overwrite

A boolean argument that indicates whether "filename" should be overwritten. By default TRUE.

quiet

Logical. Suppress info message

Value

If metadata is FALSE, will return the filename of the Google Cloud Storage resource on their system. Otherwise, a list with two elements (dns and metadata) is returned.

Details

The task argument requires a status of "COMPLETED" because the parameters required to identify EE items in Google Drive are retrieved from ee$batch$Export$*$toCloudStorage(...)$start()$status().

If the argument metadata is TRUE, a list containing the following elements is exported and appended to the output filename (dsn):

  • ee_id: Name of the Earth Engine task.

  • gcs_name: Name of the Table in Google Cloud Storage.

  • gcs_bucket: Name of the bucket.

  • gcs_fileFormat: Format of the table.

  • gcs_public_link: Download link to the table.

  • gcs_URI: gs:// link to the table.

See also

Other generic download functions: ee_drive_to_local()

Examples

if (FALSE) {
library(rgee)
library(stars)
library(sf)

ee_users()
ee_Initialize(gcs = TRUE)

# Define study area (local -> earth engine)
# Communal Reserve Amarakaeri - Peru
rlist <- list(xmin = -71.13, xmax = -70.95,ymin = -12.89, ymax = -12.73)
ROI <- c(rlist$xmin, rlist$ymin,
         rlist$xmax, rlist$ymin,
         rlist$xmax, rlist$ymax,
         rlist$xmin, rlist$ymax,
         rlist$xmin, rlist$ymin)
ee_ROI <- matrix(ROI, ncol = 2, byrow = TRUE) %>%
  list() %>%
  st_polygon() %>%
  st_sfc() %>%
  st_set_crs(4326) %>%
  sf_as_ee()


# Get the mean annual NDVI for 2011
cloudMaskL457 <- function(image) {
  qa <- image$select("pixel_qa")
  cloud <- qa$bitwiseAnd(32L)$
    And(qa$bitwiseAnd(128L))$
    Or(qa$bitwiseAnd(8L))
  mask2 <- image$mask()$reduce(ee$Reducer$min())
  image <- image$updateMask(cloud$Not())$updateMask(mask2)
  image$normalizedDifference(list("B4", "B3"))
}

ic_l5 <- ee$ImageCollection("LANDSAT/LT05/C01/T1_SR")$
  filterBounds(ee$FeatureCollection(ee_ROI))$
  filterDate("2011-01-01", "2011-12-31")$
  map(cloudMaskL457)

# Create simple composite
mean_l5 <- ic_l5$mean()$rename("NDVI")
mean_l5 <- mean_l5$reproject(crs = "EPSG:4326", scale = 500)
mean_l5_Amarakaeri <- mean_l5$clip(ee_ROI)

# Move results from Earth Engine to Drive
task_img <- ee_image_to_gcs(
   image = mean_l5_Amarakaeri,
   bucket = "rgee_dev",
   fileFormat = "GEO_TIFF",
   region = ee_ROI,
   fileNamePrefix = "my_image_demo"
)

task_img$start()
ee_monitoring(task_img)

# Move results from Drive to local
img <- ee_gcs_to_local(task = task_img)
}