GEE Ordering & Delivery

last updated: June 14, 2021

Ordering & 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 will need download quota to use Planet's GEE Delivery Integration.

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

Supported Item & Asset Types

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

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

Learn more about Planet items & assets here.

Supported Raster Operations

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

All other Orders API operations are unsupported in V1 of the GEE Delivery Integration. Placing an order with another operation in your Orders API payload will result in this response.

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

Example GEE Delivery Payloads

The below payload delivers 8 PlanetScope4Band analytic_sr images to Planet’s GEE account. analytic_sr 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 stanza are "project" & "collection". Project corresponds to your GEE Cloud Project, and collection to your GEE Image Collection that will receive the images.

The Orders Rest url is:

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

Simple Delivery

{
    "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_udm2"
        }
    ],
    "delivery": {
        "google_earth_engine": {
            "project": "your_cloud_project_name",
            "collection": "your_ee_image_collection_name"
        }
    }
}

Delivery with Clip

{
  "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_udm2"
    }
  ],
  "tools": [
    {
      "clip": {
        "aoi": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -93.12698364257812,
                42.71675017681163
              ],
              [
                -92.99514770507812,
                42.71675017681163
              ],
              [
                -92.99514770507812,
                42.79943131987838
              ],
              [
                -93.12698364257812,
                42.79943131987838
              ],
              [
                -93.12698364257812,
                42.71675017681163
              ]
            ]
          ]
        }
      }
    }
  ],
  "delivery": {
    "google_earth_engine": {
      "project": "your_cloud_project_name",
      "collection": "your_ee_image_collection_name"
    }
  }
}

Example GEE Delivery Response

Example API Response

{
    "\_links": {
        "\_self": "https://ordersv2.next.prod.planet-labs.com/compute/ops/orders/v2/4711cf34-1e88-4d99-877c-a25d62418b64"
    },
    "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": "Preparing order",
    "last_modified": "2020-06-24T02:27:30.935Z",
    "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": "queued"
}

Delivery Success

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. Example success response:

{
    "\_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, will offer a dedicated queue for your Orders. When using the default SA will from Planet, your orders will compete with other orders in the queue. Each SA has ~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": "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_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 will function as if it’s not set