alphaearth_foundations_change_detection
Use AlphaEarth Foundations Satellite Embeddings in Google Earth Engine (GEE) for change detection.
- License 许可
- Apache-2.0
- 最近更新
- 2026-11-12
- Stars
- ★ 832
- Forks
- 916
01 前言 Front Matter
- name
- alphaearth_foundations_change_detection
- description
- Use AlphaEarth Foundations Satellite Embeddings in Google Earth Engine (GEE) for change detection.
02 资源文件 8
- 参考文档steps/step-01-document-discovery.md4.8 KB
- 参考文档steps/step-02-prd-analysis.md4.4 KB
- 参考文档steps/step-03-epic-coverage-validation.md4.0 KB
- 参考文档steps/step-04-ux-alignment.md3.2 KB
- 参考文档steps/step-05-epic-quality-review.md6.6 KB
- 参考文档steps/step-06-final-assessment.md3.2 KB
- 参考文档templates/readiness-report-template.md95 B
- 参考文档workflow.md2.8 KB
03 SKILL.md 正文
See introduction in alphaearth_foundations_core.
1. Basic Dot Product (Cosine Similarity) & Visualization
Because the bands in GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL are already unit vectors, their cosine similarity (dot product) is calculated simply by element-wise multiplication followed by a band sum.
To select input, use .first() for point-based queries or .mosaic() for
larger geographic regions.
dataset = ee.ImageCollection('GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL')
# --- OPTION A: For a Point of Interest (POI) ---
point = ee.Geometry.Point([-121.8036, 39.0372])
image1 = dataset.filterDate('2023-01-01', '2024-01-01') \
.filterBounds(point) \
.first()
image2 = dataset.filterDate('2024-01-01', '2025-01-01') \
.filterBounds(point) \
.first()
# --- OPTION B: For a Large Area of Interest (AOI) ---
# image1 = dataset.filterDate('2023-01-01', '2024-01-01').mosaic()
# image2 = dataset.filterDate('2024-01-01', '2025-01-01').mosaic()
# 1. Qualitative Visualization (Pseudo-RGB parameters)
# Three specific axes of the 64D embedding space provide qualitative surface context.
vis_params = {'min': -0.3, 'max': 0.3, 'bands': ['A01', 'A16', 'A09']}
# 2. Quantitative Similarity (Dot Product)
# Calculates a single-band similarity map from -1.0 to 1.0.
dot_product = image1.multiply(image2).reduce(ee.Reducer.sum())
2. Vectorizing and Filtering Change Polygons
To extract change polygons:
similarity_threshold = 0.8
area_threshold = 20000
scale = 100
# Mask out pixels that did not undergo change (similarity above threshold)
change_mask = dot_product.lt(similarity_threshold).selfMask()
# Convert changed pixels to polygons
# aoi: User-supplied ee.Geometry Area of Interest
change_vectors = change_mask.reduceToVectors(
reducer=ee.Reducer.countEvery(),
geometry=aoi,
scale=scale,
maxPixels=1e13
)
# Filter by minimum area threshold
filtered_vectors = change_vectors.map(
lambda feature: ee.Feature(feature).set('area', ee.Feature(feature).geometry().area(1))
).filter(ee.Filter.gt('area', area_threshold))
04 同仓库更多 Skills
gee-adhoc-maps
Build quick interactive HTML maps to inspect Earth Engine results. Use layered overlays on a satellite basemap with per-layer opacity, clear/show-all, and a click-to-get-coordinates tool. Use when you need to eyeball "where / what" (coverage gaps, disagreement, masks) when interacting with Earth Engine outside of the Code Editor or Colab.
alphaearth_foundations_core
Core information for AlphaEarth Foundations Satellite Embeddings in Google Earth Engine (GEE).