Google Cloud Projects and Earth Engine Integration at Universities: A Practical Guide

Samapriya Roy
6 min readJan 31, 2023

--

If you’ve followed the developments in Google’s Earth Engine, you may have noticed a shift from legacy collections to Cloud Project in your assets tab and accounts. The shift has brought about some exciting new features. One of the most notable is the improved flexibility in billing for commercial projects. Creating multiple projects within Earth Engine also allows for greater organization and collaboration.

By creating different projects, you can now invite other users with varying levels of access and permissions, as well as keep project environments separate. These updates make using Google Projects with Earth Engine more powerful and user-friendly.

Google Cloud Project add/change project.

Google Cloud Projects offer many benefits, but it’s essential to keep in mind that there are also some limitations.

  • Google Cloud projects differ from Google Cloud Storage buckets (which usually require a billing account & credit card). Google Cloud Storage buckets are frequently utilized with GEE accounts for storing data for ingestion or as Cloud Optimized Geotiffs for registering into an image collection. This is a crucial difference, allowing everyone to access Google projects regardless of whether they have a billable account.
Creating a new Google Cloud Project
  • While Google Cloud Projects are technically free, the number of free projects you can have depends on your account and can vary greatly. You can submit a form to get your number of projects increased as needed, but the rate of success on that varies. On a personal Google account, you can expect to have around 10–20 free projects by default.
Increasing the number of projects available to you
  • Another thing to remember is that Google Earth Engine has changed its authentication process for use in notebooks, the python command line tool, and the SDK. Now, all GEE computing is linked to a single project at any time.

In summary, while Google Projects are free for personal use, commercial entities like companies and universities may have different restrictions on creating and managing Google Project accounts.

In this blog post, we will dive deeper into the process of creating a Google Project account, linking it to a separate Google account, such as a university account, and discussing limitations to keep in mind as you go through the steps. It’s important to carefully consider these limitations and plan accordingly when using Google Cloud Projects and Earth Engine, especially in a commercial or institutional setting.

Note: Cloud projects refer to Google Cloud Projects

Balancing University Policies and Cloud Project Needs

For most university accounts, students and researchers rarely have access to the process of creating a new cloud project. While the methodology to create a cloud project in a personal and official work setup is exactly the same, it is the policies that make this process nearly impossible. Though I recommend working with your university teams if they are open to opening this feature up for you. It can range from a complete inability to access Google Cloud consoles to getting to the project creation and management page; visit console.cloud.google.com

No permissions page when you cannot go to the Google Cloud Console

Another common issue is the inability for you to select an organization setup that permits you to create a Google project. For example, the two setups explored below

Starting with the GCS console

In the case above, while I am able to log into the Google Cloud console, creating ,new projects may still be a problem

Unable to create google projects in the cloud console

It’s important to note that while I will be using examples of university accounts with varying degrees of permissions and policy restrictions, similar limitations and challenges can apply to many agencies and companies.

1. Creating a Google Cloud Project on your Personal account

This is relatively easier and requires you to log into the GCS console click on the projects dropdown and click on “New Project”. The project is created in a few seconds

Creating your Google Cloud Project

2. Enabling Google Earth Engine API on your Personal account

To ensure that your newly created Google Cloud Project is compatible with GEE, you’ll need to enable the Earth Engine API. To do this, navigate to the API and Services section in your Google Cloud account and click on “Enabled API & Services.” From there, click on “Enable API” and search for “Earth Engine.” Once you’ve located it, enable the API. Keep in mind that it may take a few minutes for the changes to propagate. In this example, I am performing these steps on my personal account, as I have full control over the policies here.

Enabling Earth Engine API

3. Assigning Earth Engine Roles to Personal Cloud Projects

Earth Engine comes with several preconfigured roles and permissions, which can be found on the Earth Engine roles definition page. Although you can configure fine-grained permissions, the Earth Engine resource writer role should be sufficient for sharing the project with your university account. Keep in mind, however, that permissions may take a few minutes to propagate, so be sure to wait before attempting to add the shared Google Cloud project to your university Earth Engine account.

Adding the right Google Earth Engine role

4. Adding Personal Google Cloud Project to University GEE account

Once you have set up the roles, simply add the cloud project you created with the proper APIs enabled and roles defined to your university GEE account.

Adding personal Google Cloud project to university GEE account

This should be it; it will now grant you access to the folder for collecting your assets. In the next section, we see how asset-level and project-level configurations differ and how they can be configured properly if needed.

Optional: Configuring Asset and Project-Level Permissions for Your Personal Account

While it is possible to use your Google Earth Engine account without a Cloud project, doing so may limit your access to certain features and resources. For example, the Earth Engine resource writer role should be sufficient for basic usage; however, if you decide to use a Cloud project with your Earth Engine account or use GEE in notebook settings or while calling the REST API using the python library. You may need to grant additional permissions, such as the Service Usage Consumer role.

This is not typically required for university account setups and while using the code editor. But it’s something to keep in mind if you’re planning on migrating your computation and linking it to an individual project.

Setting Service Usage Consumer

If you are adding the extra role and would like to migrate your computation to a cloud project, you can now choose the project again in the user dropdown

Adding personal project to your university GEE account

Wrap-Up and Key Takeaways

By linking a Google Cloud Project from your personal account to your university Google Earth Engine account, you can now easily share project spaces and resources with multiple users. One handy tip is to share the entire Google project and make the other account a co-owner, giving you full permission to manage roles and definitions from either account. This does send an email to the co-owner and you must accept the Google project. But that trick and exploring its benefit are for a different day.

If you’re using Google Earth Engine, don’t forget to check out the Awesome GEE Community Catalog for additional datasets apart from the GEE Master Catalog

Awesome GEE community catalog

Explore other projects on my Github page. Follow me on Linkedin, Twitter or Mastodon to stay updated with more.

--

--

Samapriya Roy

Remote sensing applications, large scale data processing and management, API applications along with network analysis and geostatistical methods