AlphaEarth

Visualize AlphaEarth satellite embeddings in 3D
Google DeepMind has released a new satellite embedding dataset called AlphaEarth. This dataset contains annual satellite embeddings from 2017 to 2024, with each pixel representing a 10x10 meter area. The dataset is available on Google Earth Engine, and can be used to train machine learning models to classify satellite imagery.
- News release: https://deepmind.google/discover/blog/alphaearth-foundations-helps-map-our-planet-in-unprecedented-detail/
- Dataset: https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_SATELLITE_EMBEDDING_V1_ANNUAL#description
- Paper: https://storage.googleapis.com/deepmind-media/DeepMind.com/Blog/alphaearth-foundations-helps-map-our-planet-in-unprecedented-detail/alphaearth-foundations.pdf
- Blog post: https://medium.com/google-earth/ai-powered-pixels-introducing-googles-satellite-embedding-dataset-31744c1f4650
- Tutorials: https://developers.google.com/earth-engine/tutorials/community/satellite-embedding-01-introduction
- Similarity search: https://earthengine-ai.projects.earthengine.app/view/embedding-similarity-search
- Clustering: https://code.earthengine.google.com/b0871454add885294f633f731b90f946
Uncomment the following line to install leafmap if needed.
| # %pip install -U leafmap
|
| import ee
import leafmap.maplibregl as leafmap
|
To use the AlphaEarth satellite embeddings, you will need to authenticate with Earth Engine.
If you don't have an Earth Engine account, you can create one at https://earthengine.google.com.
Once you have an Earth Engine account, you can authenticate with Earth Engine by running the following code:
| ee.Authenticate()
ee.Initialize(project="your-ee-project")
|
| m = leafmap.Map(projection="globe", sidebar_visible=True)
m.add_basemap("USGS.Imagery")
m.add_alphaearth_gui()
m
|

| m = leafmap.Map(projection="globe", sidebar_visible=True)
m.add_basemap("USGS.Imagery")
m
|
| lon = -121.8036
lat = 39.0372
m.set_center(lon, lat, zoom=12)
|
| point = ee.Geometry.Point(lon, lat)
dataset = ee.ImageCollection("GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL")
|
| image1 = dataset.filterDate("2017-01-01", "2018-01-01").filterBounds(point).first()
image2 = dataset.filterDate("2024-01-01", "2025-01-01").filterBounds(point).first()
|
| vis_params = {"min": -0.3, "max": 0.3, "bands": ["A01", "A16", "A09"]}
m.add_ee_layer(image1, vis_params, name="Year 1 embeddings")
m.add_ee_layer(image2, vis_params, name="Year 2 embeddings")
|
| dot_prod = image1.multiply(image2).reduce(ee.Reducer.sum())
|
| vis_params = {"min": 0, "max": 1, "palette": ["white", "black"]}
m.add_ee_layer(dot_prod, vis_params, name="Similarity")
m
|
