Planet GEE Pipeline GUI
The Planet Pipeline GUI came from the actual CLI (command line interface tools) to enable the use of tools required to access control and download planet labs assets (PlanetScope and RapidEye OrthoTiles) as well as parse metadata in a tabular form which maybe required by other applications.
Table of contents
- Usage examples
- Planet Tools
- Earth Engine Tools
- EE User
- Upload a directory with images and associate properties with each image:
- Upload a directory with images with specific NoData value to a selected destination:
- Task Query
- Task Query during ingestion
- Task Report
- Delete a collection with content:
- Assets Move
- Assets Copy
- Assets Access
- Set Collection Property
- Convert to Fusion Table
- Cleanup Utility
- Cancel all tasks
We assume Earth Engine Python API is installed and EE authorised as desribed here. We also assume Planet Python API is installed you can install by simply running
pip install planet
Further instructions can be found here
You require two important packages for this to run
WxPython(which is what the GUI is built on) for windows(Tested in Windows 10) https://wxpython.org/download.php pip install wxPython for linux(Tested in Ubuntu 16) sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu utopic main restricted universe" sudo apt-get update apt-cache search python-wxgtk3.0 sudo apt-get install python-wxgtk3.0
This toolbox also uses some functionality from GDAL For installing GDAL in Ubuntu
sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update sudo apt-get install gdal-bin
For Windows I found this guide from UCLA
Usage examples have been segmented into two parts focusing on both planet tools as well as earth engine tools, earth engine tools include additional developments in CLI which allows you to recursively interact with their python API. To run the tool open a command prompt window or terminal and type
The Planet Toolsets consists of tools required to access control and download planet labs assets (PlanetScope and RapidEye OrthoTiles) as well as parse metadata in a tabular form which maybe required by other applications.
This tool basically asks you to input your Planet API Key using a password prompt this is then used for all subsequent tools
If using on a private machine the Key is saved as a csv file for all future runs of the tool.
The aoijson tab within the toolset allows you to create filters and structure your existing input file to that which can be used with Planet's API. The tool requires inputs with start and end date, along with cloud cover. You can choose from multiple input files types such as KML, Zipped Shapefile, GeoJSON, WKT or even Landsat Tiles based on PathRow numbers. The geo option asks you to select existing files which will be converted into formatted JSON file called aoi.json. If using WRS as an option just type in the 6 digit PathRow combination and it will create a json file for you.
Activate or Check Asset
The activatepl tab allows the users to either check or activate planet assets, in this case only PSOrthoTile and REOrthoTile are supported because I was only interested in these two asset types for my work but can be easily extended to other asset types. This tool makes use of an existing json file sturctured for use within Planet API or the aoi.json file created earlier
Having metadata helps in organising your asstets, but is not mandatory - you can skip it. The downloadpl tab allows the users to download assets. The platform can download Asset or Asset_XML which is the metadata file to desired folders.One again I was only interested in these two asset types(PSOrthoTile and REOrthoTile) for my work but can be easily extended to other asset types.
The metadata tab is a more powerful tool and consists of metadata parsing for PlanetScope OrthoTile RapiEye OrthoTile along with Digital Globe MultiSpectral and DigitalGlobe PanChromatic datasets. This was developed as a standalone to process xml metadata files from multiple sources and is important step is the user plans to upload these assets to Google Earth Engine. The combine Planet-GEE Pipeline tool will be made available soon for testing.
Earth Engine Tools
The ambition is apart from helping user with batch actions on assets along with interacting and extending capabilities of existing GEE CLI. It is developed case by case basis to include more features in the future as it becomes available or as need arises. This is also a seperate package for earth engine users to use and can be downloaded here
This tool is designed to allow different users to change earth engine authentication credentials. The tool invokes the authentication call and copies the authentication key verification website to the clipboard which can then be pasted onto a browser and the generated key can be pasted back
Upload a directory with images to your myfolder/mycollection and associate properties with each image:
The script will prompt the user for Google account password. The program will also check that all properties in path_to_metadata.csv do not contain any illegal characters for GEE. Don't need metadata? Simply skip this option.
This script counts all currently running and ready tasks along with failed tasks.
Task Query during ingestion
This script can be used intermittently to look at running, failed and ready(waiting) tasks during ingestion. This script is a special case using query tasks only when uploading assets to collection by providing collection pathway to see how collection size increases.
Sometimes it is important to generate a report based on all tasks that is running or has finished. Generated report includes taskId, data time, task status and type
Delete a collection with content:
The delete is recursive, meaning it will delete also all children assets: images, collections and folders. Use with caution!
This script allows us to recursively move assets from one collection to the other.
This script allows us to recursively copy assets from one collection to the other. If you have read acess to assets from another user this will also allow you to copy assets from their collections.
This tool allows you to set asset acess for either folder , collection or image recursively meaning you can add collection access properties for multiple assets at the same time.
Set Collection Property
This script is derived from the ee tool to set collection properties and will set overall properties for collection.
Convert to Fusion Table
Once validated with gdal and google fusion table it can be used to convert any geoObject to google fusion table. Forked and contributed by Gennadii here. The scripts can be used only with a specific google account
This script is used to clean folders once all processes have been completed. In short this is a function to clear folder on local machine.
Cancel all tasks
This is a simpler tool, can be called directly from the earthengine cli as well
JetStream A portion of the work is suported by JetStream Grant TG-GEO160014.
Also supported by Planet Labs Ambassador Program