Ordering and Delivering to GEE¶
Delivery to GEE follows a similar structure as delivery to a cloud-storage bucket from the Delivery to Cloud Storage.
Delivering to GEE requires that you already have the images and the image ids. Use either the Planet Data API, the Planet Explorer, or either of the Planet GIS integrations. To use the integration, your organization must have download quota. To set up a download quota, Contact Sales.
Also, the GEE ImageCollection being delivered must already exist. Create an ImageCollection by using the Earth Engine code editor or CLI.
Supported Item and Asset Types¶
Item Type | Supported Order Bundles | Limitations |
---|---|---|
PSScene | analytic_8b_sr_udm2, analytic_sr_udm2, analytic_8b_udm2, analytic_udm2, visual | |
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 |
See Items & Assets for more information.
Supported Raster Operations¶
The Planet GEE Delivery Integration supports the clip and harmonization order operations. The clip operation can reduce the download quota consumption by reducing the size of the imagery order.
The option to harmonize improves the spectral consistency across three generations of Planet Doves (Dove Classics, Dove-R, SuperDove) by 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 a delivery request results in the following response.
{
"message": "Unable to accept order: GEE delivery does not support tools"
}
Example GEE delivery payloads¶
The following payload delivers PSScene analytic_8b_sr_udm2
images to the Planet GEE account. analytic_8b_sr_udm2
is an orders bundle type that delivers a surface reflectance corrected PlanetScope image.
Specify the following two GEE fields in the delivery node:
- Project
- Collection Project
The fields must correspond to the GEE Cloud Project, and collection to the 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¶
To check on order status, pull the URL in the API response that was provided after order submission. When the order status is Success, the images are available in your EE image collection. If required, refresh the EE assets to view 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"
}
Use a Google Service Account¶
Imprortant: When creating an order, you must input your credentials for successful delivery of Planet data to cloud storage. This introduces a potential security risk. For secure delivery to cloud storage, limit access to the required delivery path without read/write access for any other storage locations or cloud services.
Use your own Google Service Account (SA) to deliver images to GEE. Using your Google SA, provides a dedicated queue for orders. When using the default SA from Planet, orders compete with other orders in the queue. Each SA has approximately 3000 queue depth limit when delivering to GEE.
Creating a Service Account¶
Managing Service Accounts provides more details.
Considerations:
- Enroll your SA to Earth Engine by using the sign up page
- Assign GEE Writer IAM Roles to your Service Account. See Step 3 for more details
Using 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 such as base64 to encode your credentials. Avoid using online tools that can expose your credentials. Leave the Credentials field blank.
Rate this guide: