Dane GCS AlphaEarth Foundations

Zasobnik GCS gs://alphaearth_foundations zawiera pliki COG (Cloud Optimized GeoTIFF), które razem tworzą roczny zbiór danych Satellite Embedding AlphaEarth Foundations. Zawiera osadzenia roczne z lat 2017–2024 włącznie.

Licencja

Ten zbiór danych jest objęty licencją CC-BY 4.0 i wymaga podania tego tekstu atrybucji: „Zbiór danych AlphaEarth Foundations Satellite Embedding został utworzony przez Google i Google DeepMind”.

Ten zasobnik jest skonfigurowany jako „płatność po stronie żądającego”, więc pobieranie danych może wiązać się z opłatami za ruch wychodzący i innymi opłatami.

Struktura katalogu

Są one podzielone na katalogi według roku. Każdy katalog roczny jest podzielony na 120 podkatalogów, po jednym na każdą strefę UTM. Nazwy podkatalogów odzwierciedlają numer strefy i półkulę (N lub S).

W każdym katalogu znajduje się kilka plików COG. Te pliki zawierają wszystkie dane pikseli dla danej strefy UTM.

Struktura pliku

Każdy plik ma wymiary 8192 x 8192 pikseli i 64 kanały. Wartość każdego piksela po zastosowaniu mapowania dekwantyzacji (patrz poniżej) została znormalizowana tak, aby jej długość euklidesowa wynosiła 1.

Pliki zawierają warstwy przeglądowe o rozdzielczości 4096 x 4096 pikseli, 2048 x 2048 pikseli itd. aż do warstwy przeglądowej najwyższego poziomu o rozdzielczości 1 x 1 piksela. Te warstwy przeglądowe są tworzone w taki sposób, aby każdy piksel przeglądowy był średnią pikseli o najwyższej rozdzielczości znajdujących się pod nim, a wartość średniej była znormalizowana do długości 1.

Kanały odpowiadają kolejno osiom A00A63 zbioru danych osadzania satelitarnego. W COGS też używamy tej nazwy kanałów.

Wartość każdego piksela w przypadku każdego kanału jest 8-bitową liczbą całkowitą ze znakiem. Sposób, w jaki te wartości są mapowane na wartości natywne (w zakresie [-1, 1]) osadzeń, opisaliśmy poniżej.

Wartość -128 odpowiada zamaskowanemu pikselowi. Jeśli występuje w jednym kanale, będzie występować we wszystkich kanałach. Odzwierciedla to wartość COG (czyli wartość NoData ustawioną na -128).

Nazwa każdego pliku zawiera też pewne informacje. Weźmy na przykład plik o nazwiegs://alphaearth_foundations/satellite_embedding/v1/annual/2019/1S/x8qqwcsisbgygl2ry-0000008192-0000000000.tiff. Jak opisano powyżej, ten plik jest częścią rocznego osadzania z 2019 roku i znajduje się w strefie UTM 1S (strefa 1, półkula południowa). Nazwa pliku podstawowego, x8qqwcsisbgygl2ry-0000008192-0000000000, służy do powiązania tego pliku z odpowiednią nazwą obrazu osadzonego z satelity Earth Engine. W tym przykładzie ten plik odpowiada części obrazu Earth EngineGOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL/x8qqwcsisbgygl2ry. Dwie części dziesiętne nazwy pliku określają, gdzie wartości tego pliku COG znajdują się w stosunku do obrazu Earth Engine, jako przesunięcie w osi Y, a następnie przesunięcie w osi X. W tym przypadku piksel COG znajduje się w punkcie (0, 8192) względem punktu początkowego obrazu Earth Engine. Wynika to z konieczności podzielenia każdego obrazu Earth Engine (który ma wymiary 16384 x 16384 piksele), aby powstałe pliki COG nie były zbyt duże.

De-kwantyzacja

Aby przekształcić surową 8-bitową wartość ze znakiem (która będzie mieścić się w zakresie od -127 do 127 włącznie, ponieważ wartość -128 jest zarezerwowana jako wartość „brak danych”) w każdym kanale każdego piksela na wartość zmiennoprzecinkową gotową do analizy (która będzie mieścić się w zakresie od -1 do 1), należy wykonać mapowanie

  • podziel przez 127,5
  • kwadrat
  • pomnóż przez znak pierwotnej wartości,

W NumPy można to wyrazić jako

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

W Earth Engine odpowiednia operacja to

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

Manifest i indeks

Listę plików w tym zbiorze danych znajdziesz w gs://alphaearth_foundations/satellite_embedding/v1/annual/manifest.txt.

Ponieważ na podstawie nazw plików nie można określić, jakiego obszaru świata dotyczą, udostępniliśmy też indeks w 3 formatach (GeoParquet, GeoPackage i CSV) w plikach gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.parquet, gs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.gpkggs://alphaearth_foundations/satellite_embedding/v1/annual/aef_index.csv. Ten indeks zawiera 1 wpis dla każdego pliku w zbiorze danych. Informacje podane o każdym pliku to:

  • geometria pliku w formacie WGS84 (czyli EPSG:4326). W formularzu CSV jest to kolumna WKT. Poniżej znajdziesz szczegółowe informacje o sposobie obliczania tej geometrii.
  • crs: układ współrzędnych strefy UTM, do której należy ten obraz, w postaci kodu EPSG, np. EPSG:32610.
  • year: rok, którego dotyczy obraz.
  • utm_zone: strefa UTM obrazu, np. 10N.
  • utm_west, utm_south, utm_east, utm_north: granice UTM surowej tablicy pikseli. Nie uwzględnia to przetwarzania geometrii i obejmuje wszystkie piksele, niezależnie od tego, czy są prawidłowe.
  • wgs84_west, wgs84_south, wgs84_east, wgs84_north: minimalna i maksymalna długość i szerokość geograficzna geometrii WGS84.

Przetwarzanie geometrii

Tablica pikseli jest natywnie w pewnej strefie UTM, więc w tej strefie UTM pole ograniczające tablicy pikseli jest prostym prostokątem. Ta ramka ograniczająca jest przekształcana w wielokąt w systemie WGS84. Ten wielokąt zawiera wiele dodatkowych punktów, dzięki czemu jego krawędzie ściśle przylegają do zakrzywionych linii w układzie WGS84, w które przekształcają się proste linie w układzie UTM. Ten wielokąt nie uwzględnia ważności/nieważności pikseli na obrazie, a jedynie granice tablicy pikseli obrazu.

Wielokąt jest następnie przycinany do minimalnej i maksymalnej długości geograficznej strefy UTM obrazu. W praktyce może to spowodować, że nie uwzględni kilku prawidłowych pikseli, które znajdują się na krawędzi strefy UTM. Pominięcie tych pikseli w indeksie nie powinno powodować żadnych problemów: obszar ten powinien być pokryty przez obraz z sąsiedniej strefy UTM.

Pamiętaj, że przycinanie do minimalnej i maksymalnej długości geograficznej strefy UTM oznacza, że żaden wielokąt nie przecina antypołudnika, co powinno nieco uprościć przetwarzanie tego pliku.