Usage | Returns |
---|---|
Export.image.toDrive(image, description, folder, fileNamePrefix, dimensions, region, scale, crs, crsTransform, maxPixels, shardSize, fileDimensions, skipEmptyTiles, fileFormat, formatOptions, priority) |
Argument | Type | Details |
---|---|---|
image | Image | The image to export. |
description | String, optional | A human-readable name of the task. May contain letters, numbers, -, _ (no spaces). Defaults to "myExportImageTask". |
folder | String, optional | The Google Drive Folder that the export will reside in. Note: (a) if the folder name exists at any level, the output is written to it, (b) if duplicate folder names exist, output is written to the most recently modified folder, (c) if the folder name does not exist, a new folder will be created at the root, and (d) folder names with separators (e.g. 'path/to/file') are interpreted as literal strings, not system paths. Defaults to Drive root. |
fileNamePrefix | String, optional | The filename prefix. May contain letters, numbers, -, _ (no spaces). Defaults to the description. |
dimensions | Number|String, optional | The dimensions to use for the exported image. Takes either a single positive integer as the maximum dimension or "WIDTHxHEIGHT" where WIDTH and HEIGHT are each positive integers. |
region | Geometry.LinearRing|Geometry.Polygon|String, optional | A LinearRing, Polygon, or coordinates representing region to export. These may be specified as the Geometry objects or coordinates serialized as a string. |
scale | Number, optional | Resolution in meters per pixel. Defaults to 1000. |
crs | String, optional | CRS to use for the exported image. |
crsTransform | List, optional | Affine transform to use for the exported image. Requires "crs" to be defined. |
maxPixels | Number, optional | Restrict the number of pixels in the export. By default, you will see an error if the export exceeds 1e8 pixels. Setting this value explicitly allows one to raise or lower this limit. |
shardSize | Number, optional | Size in pixels of the tiles in which this image will be computed. Defaults to 256. |
fileDimensions | List, optional | The dimensions in pixels of each image file, if the image is too large to fit in a single file. May specify a single number to indicate a square shape, or an array of two dimensions to indicate (width,height). Note that the image will still be clipped to the overall image dimensions. Must be a multiple of shardSize. |
skipEmptyTiles | Boolean, optional | If true, skip writing empty (i.e. fully-masked) image tiles. Defaults to false. Only supported on GeoTIFF exports. |
fileFormat | String, optional | The string file format to which the image is exported. Currently only 'GeoTIFF' and 'TFRecord' are supported, defaults to 'GeoTIFF'. |
formatOptions | ImageExportFormatConfig, optional | A dictionary of string keys to format-specific options. For 'GeoTIFF': 'cloudOptimized' (Boolean), 'noData' (float). For 'TFRecord': see https://developers.google.com/earth-engine/guides/tfrecord#formatoptions |
priority | Number, optional | The priority of the task within the project. Higher priority tasks are scheduled sooner. Must be an integer between 0 and 9999. Defaults to 100. |
Examples
Code Editor (JavaScript)
// A Landsat 8 surface reflectance image. var image = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508') .select(['SR_B.']); // reflectance bands // A region of interest. var region = ee.Geometry.BBox(-122.24, 37.13, -122.11, 37.20); // Set the export "scale" and "crs" parameters. Export.image.toDrive({ image: image, description: 'image_export', folder: 'ee_demos', region: region, scale: 30, crs: 'EPSG:5070' }); // Use the "crsTransform" export parameter instead of "scale" for more control // over the output grid. Here, "crsTransform" is set to align the output grid // with the grid of another dataset. To view an image's CRS transform: // print(image.projection()) Export.image.toDrive({ image: image, description: 'image_export_crstransform', folder: 'ee_demos', region: region, crsTransform: [30, 0, -2493045, 0, -30, 3310005], crs: 'EPSG:5070' }); // If the export has more than 1e8 pixels, set "maxPixels" higher. Export.image.toDrive({ image: image, description: 'image_export_maxpixels', folder: 'ee_demos', region: region, scale: 30, crs: 'EPSG:5070', maxPixels: 1e13 }); // Export a Cloud Optimized GeoTIFF (COG) by setting the "cloudOptimized" // parameter to true. Export.image.toDrive({ image: image, description: 'image_export_cog', folder: 'ee_demos', region: region, scale: 30, crs: 'EPSG:5070', formatOptions: { cloudOptimized: true } }); // Define a nodata value and replace masked pixels with it using "unmask". // Set the "sameFootprint" parameter as "false" to include pixels outside of the // image geometry in the unmasking operation. var noDataVal = -9999; var unmaskedImage = image.unmask({value: noDataVal, sameFootprint: false}); // Use the "noData" key in the "formatOptions" parameter to set the nodata value // (GeoTIFF format only). Export.image.toDrive({ image: unmaskedImage, description: 'image_export_nodata', folder: 'ee_demos', region: image.geometry(), // full image bounds scale: 2000, // large scale for minimal demo crs: 'EPSG:5070', fileFormat: 'GeoTIFF', formatOptions: { noData: noDataVal } });
import ee import geemap.core as geemap
Colab (Python)
# A Landsat 8 surface reflectance image. image = ee.Image( 'LANDSAT/LC08/C02/T1_L2/LC08_044034_20210508' ).select(['SR_B.']) # reflectance bands # A region of interest. region = ee.Geometry.BBox(-122.24, 37.13, -122.11, 37.20) # Set the export "scale" and "crs" parameters. task = ee.batch.Export.image.toDrive( image=image, description='image_export', folder='ee_demos', region=region, scale=30, crs='EPSG:5070' ) task.start() # Use the "crsTransform" export parameter instead of "scale" for more control # over the output grid. Here, "crsTransform" is set to align the output grid # with the grid of another dataset. To view an image's CRS transform: # print(image.projection().getInfo()) task = ee.batch.Export.image.toDrive( image=image, description='image_export_crstransform', folder='ee_demos', region=region, crsTransform=[30, 0, -2493045, 0, -30, 3310005], crs='EPSG:5070' ) task.start() # If the export has more than 1e8 pixels, set "maxPixels" higher. task = ee.batch.Export.image.toDrive( image=image, description='image_export_maxpixels', folder='ee_demos', region=region, scale=30, crs='EPSG:5070', maxPixels=1e13 ) task.start() # Export a Cloud Optimized GeoTIFF (COG) by setting the "cloudOptimized" # parameter to true. task = ee.batch.Export.image.toDrive( image=image, description='image_export_cog', folder='ee_demos', region=region, scale=30, crs='EPSG:5070', formatOptions={ 'cloudOptimized': True } ) task.start() # Define a nodata value and replace masked pixels with it using "unmask". # Set the "sameFootprint" parameter as "false" to include pixels outside of the # image geometry in the unmasking operation. nodata_val = -9999 unmasked_image = image.unmask(value=nodata_val, sameFootprint=False) # Use the "noData" key in the "formatOptions" parameter to set the nodata value # (GeoTIFF format only). task = ee.batch.Export.image.toDrive( image=unmasked_image, description='image_export_nodata', folder='ee_demos', region=image.geometry(), # full image bounds scale=2000, # large scale for minimal demo crs='EPSG:5070', fileFormat='GeoTIFF', formatOptions={ 'noData': nodata_val } ) task.start()