AlphaEarth Foundations GCS verileri

gs://alphaearth_foundations GCS paketi, AlphaEarth Foundations'ın yıllık uydu yerleştirme veri kümesini oluşturan COG (Cloud Optimized GeoTIFF) dosyalarını içerir. 2017-2025 yılları arasındaki yıllık yerleştirmeleri içerir.

Google, yıllık uydu yerleştirme katmanlarının sürekli olarak üretilmesini sağlamayı taahhüt eder. Ayrıca, USGS ve ESA'dan gelen ve veri kümesi üretiminin dayandığı giriş veri akışlarının sürekli olarak kullanılabilir olması koşuluyla, teslimatta beklenen değişikliklerle ilgili en az bir yıl önceden bildirimde bulunur.

Lisans

Bu veri kümesi CC-BY 4.0 kapsamında lisanslanmıştır ve şu ilişkilendirme metnini gerektirir: "AlphaEarth Foundations Satellite Embedding veri kümesi Google ve Google DeepMind tarafından üretilmiştir."

Bu paket, Temmuz 2026 itibarıyla "sağlayıcı öder" olarak ayarlanmıştır.

Dizin yapısı

Yıllara göre dizinlere ayrılırlar. Her yılın dizini, UTM bölgesi başına bir tane olmak üzere 120 alt dizine ayrılır. Bu alt dizinlerin adları, bölge numarasını ve yarım küreyi (N veya S) yansıtır.

Her dizinde bir dizi COG dosyası bulunur. Bu dosyalar, söz konusu UTM bölgesiyle ilgili tüm piksel verilerini içerir.

Dosya yapısı

Her dosya 64 kanallı ve 8.192x8.192 pikseldir. Her pikselin büyüklüğü, nicelikten arındırma eşlemesi uygulandıktan sonra (aşağıya bakın) 1 Öklid uzunluğuna sahip olacak şekilde normalleştirilmiştir.

Dosyalar, 4096x4096 piksel, 2048x2048 piksel ve bu şekilde devam ederek 1x1 piksel boyutuna kadar genel bakış katmanları içerir. Bu genel bakış katmanları, her bir genel bakış pikselinin, o genel bakış pikselinin altındaki en yüksek çözünürlüklü piksellerin ortalaması olacak şekilde oluşturulur. Ortalamanın büyüklüğü, uzunluğu 1 olacak şekilde normalleştirilir.

Kanallar, sırasıyla Satellite Embedding veri kümesinin A00 ile A63 eksenlerine karşılık gelir. COGS'de kanallar için bu adlandırma da yer alır.

Her kanal için her pikselin değeri, işaretli 8 bitlik bir tam sayıdır. Bu değerlerin, yerleştirme işlemlerinin yerel değerleriyle ([-1, 1] aralığında) eşlenme şekli De-quantization (De-kuantizasyon) bölümünde açıklanmaktadır.

-128 değeri, maskelenmiş bir piksele karşılık gelir. Bir kanalda varsa tüm kanallarda bulunur. COGS'ler bunu yansıtır (ör. NoData değeri -128 olarak ayarlanmıştır).

Her dosyanın adı da bazı bilgiler içerir. Örneğin, gs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff adlı dosyayı ele alalım. Dosya adından da anlaşılacağı gibi bu dosya, UTM bölgesi 1S (bölge 1, güney yarımküre) için 2019 yıllık yerleştirme işleminin bir parçasıdır. Temel dosya adı olan x8qqwcsisbgygl2ry-0000008192-0000000000, bu dosyayı ilgili Earth Engine uydu yerleştirme resmi adına bağlamak için kullanılır. Bu örnekte, bu dosya Earth Engine görüntüsünün bir bölümüne karşılık gelir GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry. Dosya adının ondalık kısımları, bu COG'nin değerlerinin, Y'deki bir ofset ve ardından X'teki bir ofset olarak Earth Engine görüntüsüne göre nerede olduğunu belirtir. Bu durumda, COG'nin piksel başlangıcı, Earth Engine görüntüsünün başlangıcına göre (0, 8192) konumundadır. Bunun nedeni, ortaya çıkan COG'ların çok hantal olmaması için her bir Earth Engine görüntüsünün (16384x16384 piksel) alt bölümlere ayrılmasının gerekmesidir.

Kuantumdan arındırma

Her pikselin her kanalındaki ham imzalı 8 bitlik değeri (128 "veri yok" değeri olarak ayrıldığından -127 ile 127 arasında olacak) analize hazır kayan nokta değerine (1 ile -1 arasında olacak) dönüştürmek için aşağıdaki eşleme gerçekleştirilir:

  • 127,5'e bölün
  • kare
  • orijinal değerin işaretiyle çarpın.

Bu, NumPy'de şu şekilde ifade edilir:

  # values is a NumPy array of raw pixel values
  de_quantized_values = ((values / 127.5) ** 2) * np.sign(values)

Earth Engine'de ilgili işlem şu şekilde olur:

  var de_quantized_values = values.divide(127.5).pow(2).multiply(values.signum());

Alt örneklenmiş piramitler oluşturma

Bu COG'ların temel çözünürlük katmanından kendi alt örneklenmiş sürümlerinizi veya harici genel görünümlerinizi oluşturmayı planlıyorsanız (ör. birkaç dosyayı mozaikleme işleminden sonra) aşağıdaki prosedürü kullanmanız gerekir. Standart raster piramit oluşturma teknikleri (ör. ham tamsayı değerlerinde -r average ile gdaladdo kullanma) doğru sonuçlar vermez.

  1. Kuantiteyi kaldırma: Kuantiteyi kaldırma bölümünde açıklanan yöntemi kullanarak ham 8 bitlik tam sayıları kayan noktalı sayılara dönüştürün.
  2. Vektörleri Toplama: Nicemlenmesi kaldırılmış vektörlerin öğe bazında toplamını gerçekleştirin.
  3. Normalleştirme: Ortaya çıkan toplam vektörün Öklid normunu hesaplayın ve birim uzunluğuna yeniden normalleştirmek için normu bu değere bölün.
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.

COG'lardaki genel bakış katmanları bu prosedür kullanılarak oluşturulmuştur. İhtiyaçlarınıza uygunsa bu genel bakış katmanlarını ek hesaplama yapmadan hemen kullanabilirsiniz.

Manifest ve dizin

Bu veri kümesindeki dosyaların listesini gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt adresinde bulabilirsiniz.

Dosya adlarından hangi dünya bölgesini kapsadıkları belirlenemediğinden, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.parquet, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkg ve gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.csv dosyalarında üç biçimde (GeoParquet, GeoPackage ve CSV) bir dizin de sağlanmıştır. Bu dizinde, veri kümesindeki her dosya için bir giriş bulunur. Her dosya için sağlanan bilgiler

  • Dosyanın WGS84 olarak geometrisi (ör. EPSG:4326) poligonu. CSV biçiminde bu, WKT sütunundadır. Hesaplama ayrıntıları için Geometri işleme başlıklı makaleyi inceleyin.
  • crs: Bu görüntünün ait olduğu UTM bölgesinin EPSG kodu olarak CRS'si (ör. EPSG:32610).
  • year: Resmin kapsadığı yıl.
  • utm_zone: Resmin UTM bölgesi (ör. 10N).
  • utm_west, utm_south, utm_east, utm_north: Ham piksel dizisinin UTM sınırları. Bu, herhangi bir geometri işlemeyi yansıtmaz ve geçerli olup olmadıklarına bakılmaksızın tüm pikselleri içerir.
  • wgs84_west, wgs84_south, wgs84_east, wgs84_north: WGS84 geometrisinin minimum ve maksimum boylam ve enlemi.

Geometri işleme

Piksel dizisi, bazı UTM bölgelerinde doğal olarak bulunduğundan bu UTM bölgelerinde piksel dizisinin sınırlayıcı kutusu basit bir dikdörtgendir. Bu sınırlayıcı kutu, WGS84'te bir poligona dönüştürülür. Bu çokgen, kenarlarının WGS84'teki eğri çizgileri yakından takip etmesi için bir dizi ek nokta içerir. Bu eğri çizgiler, UTM'deki düz çizgilerin dönüştürüldüğü çizgilerdir. Bu çokgen, resimdeki piksellerin geçerliliğini dikkate almaz. Yalnızca resmin piksel dizisinin sınırlarını dikkate alır.

Ardından, poligon, görüntünün UTM bölgesinin minimum ve maksimum boylamına göre kırpılır. Pratikte bu durum, UTM bölgesinin kenarından taşan birkaç geçerli pikselin dahil edilmemesine neden olabilir. Bu piksellerin dizinden çıkarılması herhangi bir soruna neden olmamalıdır: Komşu UTM bölgesindeki bir resim bu alanı kapsamalıdır.

UTM bölgesinin minimum ve maksimum boylamına kırpmanın, hiçbir poligonun antimeridyeni geçmediği anlamına geldiğini unutmayın. Bu da dosyanın işlenmesini biraz daha kolaylaştırır.