Google Earth Engine Data API

GDAL/OGR >= 2.4

The driver supports read-only operations to list images and their metadata as a vector layer, using Google Earth Engine REST API.

Dataset name syntax

The minimal syntax to open a datasource is :

where collection is something like projects/earthengine-public/assets/COPERNICUS/S2.

Open options

The following open options are available :

Authentication methods

The following authentication methods can be used:

Configuration options

The following configuration options are available :


The layer field definition is built by requesting a single image from the collection and guessing the schema from its "properties" element. The "eedaconf.json" file from the GDAL configuration will also be read to check if the collection schema is described in it, in which case the above mentioned schema guessing will not done.

The following attributes will always be present:

Field name Type Meaning Server-side filter compatible
nameStringImage name (e.g. projects/earthengine-public/assets/COPERNICUS/S2/20170430T190351_20170430T190351_T10SEG)No
idStringImage ID; equivalent to name without the "projects/*/assets/" prefix (e.g. users/USER/ASSET)No
pathString(Deprecated) Image path; equivalent to idNo
gdal_datasetStringGDAL dataset name (e.g. EEDAI:projects/earthengine-public/assets/COPERNICUS/S2/20170430T190351_20170430T190351_T10SEG)
that can be opened with the Google Earth Engine Data API Image driver
timeDateTimeAcquisition dateYes
updateTimeDateTimeUpdate dateNo
sizeBytesInteger64File size in bytesNo
band_countIntegerNumber of bandsNo
band_max_widthIntegerMaximum width among bandsNo
band_max_heightIntegerMaximum height among bandsNo
band_min_pixel_sizeRealMinimum pixel size among bandsNo
band_upper_left_xRealX origin (only set if equal among all bands)No
band_upper_left_yRealY origin (only set if equal among all bands)No
band_crsStringCRS as EPSG:XXXX or WKT (only set if equal among all bands)No
other_propertiesStringSerialized JSon dictionary with key/value pairs where key is not a standalone field.No

"Server-side filter compatible" means that when this field is included in an attribute filter, it is forwarded to the server (otherwise only client-side filtering is done).


The footprint of each image is reported as a MultiPolygon with a longitude/latitude WGS84 coordinate system (EPSG:4326).


The driver will forward any spatial filter set with SetSpatialFilter() to the server. It also makes the same for simple attribute filters set with SetAttributeFilter(). The 3 boolean operators (AND, OR, NOT) and the comparison operators (=, <>, <, <=, > and >=) are supported.


Features are retrieved from the server by chunks of 1000 by default (and this is the maximum value accepted by the server). This number can be altered with the EEDA_PAGE_SIZE configuration option.

Extent and feature count

The reported extent and feature count will always be respectively (-180,-90,180,90) and -1, given there is no way to get efficient answer to those queries from the server.


  • Listing all images available:
    ogrinfo -ro -al "EEDA:" -oo COLLECTION=projects/earthengine-public/assets/COPERNICUS/S2 --config EEDA_CLIENT_EMAIL "my@email" --config EEDA_PRIVATE_KEY_FILE my.pem
    ogrinfo -ro -al "EEDA:projects/earthengine-public/assets/COPERNICUS/S2" --config EEDA_CLIENT_EMAIL "my@email" --config EEDA_PRIVATE_KEY_FILE my.pem

  • Listing all images under a point of (lat,lon)=(40,-100) :
    ogrinfo -ro -al "EEDA:projects/earthengine-public/assets/COPERNICUS/S2" -spat -100 40 -100 40 --config EEDA_CLIENT_EMAIL "my@email" --config EEDA_PRIVATE_KEY_FILE my.pem

  • Listing all images available matching criteria :
    ogrinfo -ro -al "EEDA:projects/earthengine-public/assets/COPERNICUS/S2" -where "time >= '2015/03/26 00:00:00' AND CLOUDY_PIXEL_PERCENTAGE < 10" --config EEDA_CLIENT_EMAIL "my@email" --config EEDA_PRIVATE_KEY_FILE my.pem

    See Also: