Bộ chứa gs://alphaearth_foundations GCS chứa các tệp COG (Cloud Optimized
GeoTIFF) kết hợp với nhau để tạo thành tập dữ liệu Satellite
Embedding
(Nhúng vệ tinh) hằng năm của AlphaEarth Foundations. Tập dữ liệu này chứa các dữ liệu nhúng hằng năm từ năm 2017 đến năm 2025.
Google cam kết tiếp tục sản xuất các lớp Satellite Embedding hằng năm và sẽ thông báo trước ít nhất một năm về mọi thay đổi dự kiến trong quá trình phân phối, tuỳ thuộc vào việc các luồng dữ liệu đầu vào từ USGS và ESA mà quá trình sản xuất tập dữ liệu dựa vào có tiếp tục hay không.
Giấy phép
Tập dữ liệu này được cấp phép theo CC-BY 4.0 và yêu cầu phải có văn bản ghi công sau: "Tập dữ liệu Satellite Embedding của AlphaEarth Foundations do Google và Google DeepMind tạo ra".
Kể từ tháng 7 năm 2026, bộ chứa này được thiết lập là "nhà cung cấp trả tiền".
Cấu trúc thư mục
Các tệp này được chia thành các thư mục theo năm; thư mục của mỗi năm được chia thành 120 thư mục con, mỗi thư mục con cho một vùng UTM, có tên phản ánh số vùng và bán cầu (N hoặc S).
Trong mỗi thư mục có một số tệp COG. Các tệp này chứa tất cả dữ liệu pixel cho vùng UTM đó.
Cấu trúc tệp
Mỗi tệp có kích thước 8192x8192 pixel, với 64 kênh. Độ lớn của mỗi pixel, sau khi áp dụng quá trình ánh xạ khử lượng tử hoá (xem bên dưới), đã được chuẩn hoá để có độ dài Euclid là 1.
Các tệp này chứa các lớp tổng quan ở kích thước 4096x4096 pixel, 2048x2048 pixel, v.v., cho đến lớp tổng quan cấp cao nhất 1x1. Các lớp tổng quan này được xây dựng sao cho mỗi pixel tổng quan là giá trị trung bình của các pixel có độ phân giải cao nhất trong pixel tổng quan đó, trong đó độ lớn của giá trị trung bình đã được chuẩn hoá để có độ dài là 1.
Các kênh này tương ứng theo thứ tự với các trục A00 đến A63 của tập dữ liệu Satellite Embedding. Các tệp COG cũng chứa tên này cho các kênh.
Giá trị của mỗi pixel cho mỗi kênh là một số nguyên 8 bit có dấu. Cách các giá trị này được ánh xạ đến các giá trị gốc (trong phạm vi [-1, 1]) của dữ liệu nhúng được giải thích trong phần Khử lượng tử hoá.
Giá trị -128 tương ứng với một pixel được che. Nếu có trong một kênh, thì giá trị này sẽ có trong tất cả các kênh. Các tệp COG phản ánh điều này (tức là chúng có giá trị NoData được đặt thành -128).
Tên của mỗi tệp cũng mang một số thông tin. Ví dụ: hãy xem xét tệp có tên gs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff.
Như tên tệp cho thấy, tệp này là một phần của dữ liệu nhúng hằng năm năm 2019, cho vùng UTM 1S (vùng 1, bán cầu nam). Tên tệp cơ sở x8qqwcsisbgygl2ry-0000008192-0000000000 dùng để liên kết tệp này với tên Hình ảnh nhúng vệ tinh tương ứng của Earth Engine. Trong ví dụ này, tệp này tương ứng với một phần của hình ảnh Earth Engine GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry. Hai phần thập phân của tên tệp chỉ định vị trí tương đối của các giá trị COG này so với Hình ảnh Earth Engine đó, dưới dạng độ lệch theo Y, sau đó là độ lệch theo X. Trong trường hợp này, gốc pixel của COG nằm ở (0, 8192) so với gốc của Hình ảnh Earth Engine.
Điều này là do cần phải chia nhỏ từng Hình ảnh Earth Engine (có kích thước 16384x16384 pixel) để các tệp COG kết quả không quá cồng kềnh.
Khử lượng tử hoá
Để chuyển đổi giá trị 8 bit có dấu thô (nằm trong khoảng từ -127 đến 127, vì -128 được dành riêng làm giá trị "không có dữ liệu") trong mỗi kênh của mỗi pixel thành giá trị dấu phẩy động sẵn sàng cho phân tích (nằm trong khoảng từ -1 đến 1), bạn cần thực hiện quá trình ánh xạ
- chia cho 127,5
- bình phương
- nhân với dấu của giá trị ban đầu
Điều này sẽ được biểu thị trong NumPy là
# values is a NumPy array of raw pixel values
de_quantized_values = ((values / 127.5) ** 2) * np.sign(values)
Trong Earth Engine, thao tác tương ứng sẽ là
var de_quantized_values = values.divide(127.5).pow(2).multiply(values.signum());
Tạo kim tự tháp lấy mẫu xuống
Nếu bạn dự định tạo các phiên bản lấy mẫu xuống hoặc tổng quan bên ngoài của riêng mình từ lớp độ phân giải cơ sở của các tệp COG này (ví dụ: sau khi ghép nhiều tệp), bạn phải sử dụng quy trình sau. Các kỹ thuật tạo kim tự tháp raster tiêu chuẩn (ví dụ: sử dụng gdaladdo với -r average trên các giá trị số nguyên thô) sẽ không tạo ra kết quả chính xác.
- Khử lượng tử hoá: chuyển đổi số nguyên 8 bit thô thành số thực bằng phương thức được mô tả trong phần Khử lượng tử hoá.
- Tổng vectơ: Thực hiện tổng theo từng phần tử của các vectơ đã khử lượng tử hoá.
- Chuẩn hoá: Tính chuẩn Euclid của vectơ tổng kết quả và chia cho chuẩn để chuẩn hoá lại thành độ dài đơn vị.
import numpy as np
# Assuming 'raw_values' is a NumPy array of shape (N, 64)
# containing the raw signed 8-bit integers from N pixels.
# N = 4 for a 2x2 aggregation, for example.
# 1. De-quantize
de_quantized_values = ((raw_values / 127.5) ** 2) * np.sign(raw_values)
# 2. Sum the de-quantized vectors
sum_vec = np.sum(de_quantized_values, axis=0) # Shape (64,)
# 3. Normalize the sum vector
norm = np.linalg.norm(sum_vec)
# Add epsilon to prevent division by zero
pyramided_vec = sum_vec / (norm + 1e-9)
# 'pyramided_vec' is the correctly downsampled 64-dimensional unit vector.
Các lớp tổng quan trong các tệp COG đã được tạo bằng quy trình này; nếu phù hợp với nhu cầu của bạn, bạn có thể sử dụng ngay các lớp tổng quan đó mà không cần tính toán thêm.
Tệp kê khai và chỉ mục
Bạn có thể xem danh sách các tệp trong tập dữ liệu này tại gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt.
Vì không thể xác định vùng nào trên thế giới mà các tệp này bao phủ dựa trên tên tệp, nên một chỉ mục cũng đã được cung cấp ở 3 dạng (GeoParquet, GeoPackage và CSV) trong các tệp gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.parquet, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkg và gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.csv. Chỉ mục này chứa một mục cho mỗi tệp trong tập dữ liệu. Thông tin được cung cấp cho mỗi tệp là
- dạng hình học của tệp dưới dạng đa giác WGS84 (tức là EPSG:4326). Ở dạng CSV, thông tin này nằm trong cột
WKT. Hãy xem phần Xử lý hình học để biết thông tin chi tiết về quá trình tính toán. crs: CRS của vùng UTM mà hình ảnh này thuộc về dưới dạng mã EPSG, chẳng hạn nhưEPSG:32610.year: Năm mà hình ảnh bao phủ.utm_zone: Vùng UTM của hình ảnh, chẳng hạn như10N.utm_west,utm_south,utm_east,utm_north: Các giới hạn UTM của mảng pixel thô. Thông tin này không phản ánh bất kỳ quá trình xử lý hình học nào và bao gồm tất cả các pixel, bất kể chúng có hợp lệ hay không.wgs84_west,wgs84_south,wgs84_east,wgs84_north: Kinh độ và vĩ độ tối thiểu và tối đa của hình học WGS84.
Xử lý hình học
Mảng pixel vốn có ở một số vùng UTM, vì vậy, trong vùng UTM đó, hộp giới hạn của mảng pixel là một hình chữ nhật đơn giản. Hộp giới hạn đó được chuyển đổi thành một đa giác trong WGS84. Đa giác này bao gồm một số điểm bổ sung để các cạnh của nó bám sát các đường cong trong WGS84 mà các đường thẳng trong UTM chuyển đổi thành. Đa giác này không tính đến tính hợp lệ của các pixel trong hình ảnh, mà chỉ tính đến các giới hạn của mảng pixel của hình ảnh.
Sau đó, đa giác sẽ được cắt theo kinh độ tối thiểu và tối đa của vùng UTM của hình ảnh. Trong thực tế, điều này có thể khiến đa giác không bao gồm một số pixel hợp lệ kéo dài quá cạnh của vùng UTM. Việc bỏ qua các pixel này khỏi chỉ mục sẽ không gây ra vấn đề gì: một số hình ảnh từ vùng UTM lân cận sẽ bao phủ vùng đó.
Xin lưu ý rằng việc cắt theo kinh độ tối thiểu và tối đa của vùng UTM có nghĩa là không có đa giác nào cắt ngang đường kinh tuyến gốc, điều này sẽ giúp quá trình xử lý tệp này trở nên đơn giản hơn một chút.