GEE Ordering & Delivery

last updated: September 07, 2022

Ordering and delivery

Delivery to GEE (beta) follows a similar structure as delivery to a cloud-storage bucket from Planet’s Orders API.

Delivering to GEE assumes that you’ve already found the images (denoted by image ids) you’re looking for, using either Planet’s Data API, Planet Explorer, or one of Planet’s GIS integrations. You need download quota to use Planet's GEE Delivery Integration.

Additionally, the GEE ImageCollection you are delivering to must already exist before placing an order to GEE. You can create an ImageCollection using the Earth Engine code editor or CLI.

Supported item and asset types

Planet’s GEE Delivery beta supports the following items and order bundles.

Item Type Supported Order Bundles Limitations
PSScene analytic_8b_sr_udm2, analytic_sr_udm2, analytic_8b_udm2, analytic_udm2, visual
PSScene4Band analytic, analytic_sr, analytic_udm2, analytic_sr_udm2
SkySatScene analytic, analytic_udm2, analytic_sr_udm2, visual, pansharpened_udm2, panchromatic_dn_udm2
SkySatCollect analytic, analytic_udm2, analytic_sr_udm2, visual, pansharpened_udm2, panchromatic_dn_udm2 SkySatCollects may take an hour per item to ingest
PSOrthoTile analytic_5b

Learn more about Planet items and assets here.

Supported raster operations

Planet's GEE Delivery Integration supports the clip and harmonization Order operations. The clip operation can be used to reduce your download quota consumption by reducing the size of your imagery order.

The option to “harmonize” improves the spectral consistency across Planet’s three generations of Doves (Dove Classics, Dove-R, SuperDove) approximately matching a Sentinel-2 spectral response. Harmonization is only available for surface reflectance PlanetScope Scenes (PSScene) bundles.

All other Order operations are unsupported at this time. Placing an order with another operation in your delivery request results in the following response.

{
   "message": "Unable to accept order: GEE delivery does not support tools"
}

Example GEE delivery payloads

The below payload delivers PSScene analytic_8b_sr_udm2 images to Planet’s GEE account. analytic_8b_sr_udm2 is an Orders bundle type that delivers a surface reflectance corrected PlanetScope image, learn more about bundles here.

The two GEE fields you must specify in the delivery node are "project" and "collection". Project corresponds to your GEE Cloud Project, and collection to your GEE Image Collection that will receive the images.

The Orders REST URL

https://api.planet.com/compute/ops/orders/v2

Simple delivery

{
    "name": "PSScene 8-band order Miami",
    "products": [{
        "item_ids": [
            "20220118_154923_68_2424"
        ],
        "item_type": "PSScene",
        "product_bundle": "analytic_8b_sr_udm2"
    }],
    "delivery": {
        "google_earth_engine": {
            "project": "your-cloud-project-name",
            "collection": "your-image-collection-name",
            "notifications": {
                "email": true
            }
        }
    }
}

Delivery with clip and harmonization applied

{
    "name": "PSScene 8-band order Miami",
    "products": [{
        "item_ids": [
            "20220118_154923_68_2424"
        ],
        "item_type": "PSScene",
        "product_bundle": "analytic_8b_sr_udm2"
    }],
    "tools": [{
      "harmonize": {
        "target_sensor": "Sentinel-2"
      }
    },{
        "clip": {
            "aoi": {
                "type": "Polygon",
                "coordinates": [
                    [
                        [-80.176302, 25.758621],
                        [-80.140075, 25.758621],
                        [-80.140075, 25.802288],
                        [-80.176302, 25.802288],
                        [-80.176302, 25.758621]
                    ]
                ]
            }
        }
    }],
    "delivery": {
        "google_earth_engine": {
            "project": "your-cloud-project",
            "collection": "your-image-collection",
            "notifications": {"email": true}
        }
    }
}

Example GEE delivery response

Example API response

{
    "_links": {
        "_self": "https://api.planet.com/compute/ops/orders/v2/9aedcc50-6e29-4880-8dcf-7f168214cca3"
    },
    "created_on": "2022-02-01T23:04:14.251Z",
    "delivery": {
        "google_earth_engine": {
            "collection": "your-image-collection",
            "credentials": "<REDACTED>",
            "project": "your-cloud-project"
        }
    },
    "error_hints": [],
    "id": "9aedcc50-6e29-4880-8dcf-7f168214cca3",
    "last_message": "Preparing order",
    "last_modified": "2022-02-01T23:04:14.251Z",
    "name": "PSScene 8-band order Miami",
    "products": [
        {
            "item_ids": [
                "20220118_154923_68_2424"
            ],
            "item_type": "PSScene",
            "product_bundle": "analytic_8b_sr_udm2"
        }
    ],
    "state": "queued",
    "tools": [
        {
            "harmonize": {
                "target_sensor": "Sentinel-2"
            }
        },
        {
            "clip": {
                "aoi": {
                    "coordinates": [
                        [
                            [
                                -80.176302,
                                25.758621
                            ],
                            [
                                -80.140075,
                                25.758621
                            ],
                            [
                                -80.140075,
                                25.802288
                            ],
                            [
                                -80.176302,
                                25.802288
                            ],
                            [
                                -80.176302,
                                25.758621
                            ]
                        ]
                    ],
                    "type": "Polygon"
                }
            }
        }
    ]
}

Delivery success

You can pull the URL in the API response provided after submitting an order to check on your order status. Once the order status is “success” your images should be available in your EE image collection. You may need to refresh the EE assets to see the new images.

{
    "\_links": {
        "\_self": "https://ordersv2.next.prod.planet-labs.com/compute/ops/orders/v2/4711cf34-1e88-4d99-877c-a25d62418b64",
        "results": [
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:31:11.591Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_163210_103c_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_163210_103c_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:32:02.502Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_162019_0f1a_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_162019_0f1a_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:32:29.749Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_162016_0f1a_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_162016_0f1a_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:32:56.820Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_163212_103c_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_163212_103c_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:31:37.810Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_163213_103c_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_163213_103c_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:31:25.155Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_163211_103c_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_163211_103c_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:31:35.339Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_162018_0f1a_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_162018_0f1a_3B_AnalyticMS_SR.tif"
            },
            {
                "delivery": "success",
                "expires_at": "2020-06-25T02:32:19.476Z",
                "location": "projects/your_cloud_project_name/assets/your_ee_image_collection_name/20180716_162017_0f1a_3B_AnalyticMS_SR",
                "name": "PSScene4Band/20180716_162017_0f1a_3B_AnalyticMS_SR.tif"
            }
        ]
    },
    "created_on": "2020-06-24T02:27:30.935Z",
    "delivery": {
        "google_earth_engine": {
            "collection": "your_ee_image_collection_name",
            "project": "your_cloud_project_name"
        }
    },
    "error_hints": [],
    "id": "4711cf34-1e88-4d99-877c-a25d62418b64",
    "last_message": "Delivery completed",
    "last_modified": "2020-06-24T02:34:18.645Z",
    "name": "PS Cropland Delivery to GEE",
    "products": [
        {
            "item_ids": [
                "20180716_163213_103c",
                "20180716_163212_103c",
                "20180716_163211_103c",
                "20180716_163210_103c",
                "20180716_162019_0f1a",
                "20180716_162018_0f1a",
                "20180716_162017_0f1a",
                "20180716_162016_0f1a"
            ],
            "item_type": "PSScene4Band",
            "product_bundle": "analytic_sr"
        }
    ],
    "state": "success"
}

Bring your own Service account

You may want to use your own Google Service Account (SA) to deliver your images to GEE. Using your own SA, as opposed to the default Planet SA, offers a dedicated queue for your Orders. When using the default SA from Planet, your orders compete with other orders in the queue. Each SA has a ~3K queue depth limit when delivering to GEE.

Creating your Service Account

You can learn more about creating and managing a Google Service Account in these Google Docs. A few requirements to keep in mind: * You must enroll your SA to Earth Engine using this sign up page * Your Service Account must have EE Resource Writer IAM Roles (See Step 3 of our Setup Instructions for more details)

Deliver with your Service Account

To submit your GEE Delivery Order with your own Service Account, add a new credentials field to your payload.

{
    "name": "Miami 8-band Image - BYOS",
    "products": [
        {
            "item_ids": [
                "20220118_154923_68_2424"
            ],
            "item_type": "PSScene",
            "product_bundle": "analytic_8b_sr_udm2"
        }
    ],
    "delivery": {
        "google_earth_engine": {
            "project": "your_cloud_project_name",
            "collection": "your_ee_image_collection_name",
            "credentials": "<base64 credential>"
        }
    }
}

Planet recommends using a command line tool like “base64” to encode your credentials, and avoid using online tools that may leak those credentials. Leaving the “credentials” field blank functions as if it’s not set.


Rate this guide: