Pliki Cloud Optimized GeoTIFF (COG) w Earth Engine

Earth Engine umożliwia pracę z danymi rastrowymi przechowywanymi w Twoich zasobnikach Google Cloud Storage (GCS). Dzięki korzystaniu z plików Cloud Optimized GeoTIFF (COG) możesz uzyskiwać dostęp do danych i analizować je bezpośrednio w Earth Engine bez konieczności importowania pikseli do magazynu zasobów Earth Engine.

Takie podejście korzystające głównie z chmury ma wiele zalet, zwłaszcza w przypadku zarządzania dużymi zbiorami danych lub integrowania Earth Engine z szerszymi przepływami pracy Google Cloud albo narzędziami i platformami zewnętrznymi.

Dlaczego warto używać Cloud Storage i plików COG?

  • Elastyczność i interoperacyjność: przechowuj dane w standardowych zasobnikach Cloud Storage, do których mogą mieć dostęp inne narzędzia i usługi. Niezależnie od tego, czy przesyłasz dane bezpośrednio, czy eksportujesz je z Earth Engine, Cloud Storage jest jedynym źródłem wiarygodnych danych zarówno dla Earth Engine, jak i zewnętrznych przepływów pracy.
  • Zarządzanie danymi i ruch wychodzący: przechowywanie danych w Cloud Storage zapewnia standardowe możliwości zarządzania magazynem obiektów. Dzięki temu możesz pobierać, migrować, lub udostępniać dane za pomocą funkcji Cloud Storage, takich jak płatność przez żądającego lub zasobniki publiczne, oraz zarządzać dostępem za pomocą standardowej usługi Cloud IAM.
  • Elastyczna skalowalność: unikaj limitów miejsca na dane w Earth Engine storage limits. Cloud Storage zapewnia praktycznie nieograniczoną, samodzielną skalowalność miejsca na dane do poziomu petabajtów.
  • Brak oczekiwania na import: rejestracja pliku COG przebiega szybko, ponieważ Earth Engine odczytuje tylko metadane (takie jak projekcja i wymiary) z nagłówka pliku na potrzeby indeksowania i weryfikacji. Rzeczywiste dane pikseli pozostają w Cloud Storage i są odczytywane na żądanie podczas obliczeń, co eliminuje potrzebę wykonywania osobnego zadania importu.

Przepływy pracy z plikami COG w Earth Engine

Earth Engine obsługuje dwukierunkowe przepływy pracy z plikami COG w Cloud Storage: możesz odczytywać pliki COG bezpośrednio z GCS do Earth Engine oraz zapisywać wyniki obliczeń z Earth Engine bezpośrednio w GCS jako pliki COG.

Odczytywanie plików COG z Cloud Storage

Aby przenieść pliki COG hostowane w GCS do Earth Engine, masz 2 opcje:

  1. Bezpośrednie wczytywanie (ee.Image.loadGeoTIFF): wczytaj pojedynczy obraz bezpośrednio za pomocą jego identyfikatora URI w GCS. Najlepiej sprawdza się w przypadku szybkich testów, analiz ad hoc lub danych tymczasowych:

    JavaScript

    var image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif');
    

    Python

    image = ee.Image.loadGeoTIFF('gs://google-sample-bucket/my_image.tif')
    

    Pełne przykłady znajdziesz w artykule Obrazy z Cloud GeoTIFF.

  2. Zarejestrowane zasoby: zarejestruj co najmniej 1 plik COG jako zasób Earth Engine za pomocą manifestu przesyłania (patrz przewodnik rejestracji plików COG). Jest to zalecana ścieżka w przypadku przepływów pracy w środowisku produkcyjnym, zwłaszcza podczas tworzenia kolekcji obrazów.

Funkcja Bezpośrednie wczytywanie (loadGeoTIFF) Zarejestrowany zasób (manifest)
Konfiguracja Brak (tylko identyfikator URI w GCS) Manifest (klient Python, interfejs wiersza poleceń lub REST)
Wydajność Standardowa (odczytuje nagłówek podczas odczytu) Zoptymalizowana (indeksowana podczas tworzenia)
Zarządzanie Nie utworzono zasobu Wlicza się do limitu liczby zasobów, a nie miejsca na dane.
Przypadek użycia Prototypowanie, analiza ad hoc Przepływy pracy w środowisku produkcyjnym wymagające szybkiego odczytu.

Zapisywanie plików COG w Cloud Storage

Aby zapisać wyniki obliczeń Earth Engine jako pliki COG w zasobniku Cloud Storage, użyj Export.image.toCloudStorage funkcji eksportu zbiorczego (patrz eksportowanie obrazów) i ustaw parametr cloudOptimized na true w formatOptions. Dzięki temu Earth Engine skompiluje obraz i zapisze go bezpośrednio w Twoim zasobniku GCS jako w pełni zgodny plik COG.

Obsługiwane lokalizacje zasobników Cloud Storage

Aby Earth Engine mógł uzyskać dostęp do Twojego zasobnika Cloud Storage, musi on znajdować się w jednym z tych regionów lub regionów obejmujących wiele centrów danych:

  • us wiele regionów
  • Dowolny region podwójny w USA, który obejmuje region us-central1
  • Region us-central1

Jeśli Twój zasobnik znajduje się w innym regionalnym centrum danych, Earth Engine odrzuci rejestrację i żądania odczytu. Earth Engine uzyskuje dostęp do plików COG przechowywanych wyłącznie w zasobnikach Google Cloud Storage. Zewnętrzni dostawcy usług przechowywania w chmurze i ogólne adresy URL HTTP nie są obsługiwane.

Kwestie związane z kosztami i klasy pamięci

Podczas analizowania zarejestrowanych zasobów COG odczyty z Earth Engine nie powodują naliczania opłat za operacje odczytu w Cloud Storage ani za pobieranie danych w projekcie Google Cloud.

Cloud Storage nalicza opłaty głównie za standardowe miesięczne przechowywanie danych w stanie spoczynku (GB/miesiąc) oraz za przesyłanie danych przez klientów zewnętrznych lub ruch wychodzący w sieci (w zależności od lokalizacji zasobnika i konfiguracji sieci klienta).

Zalecenia dotyczące klasy pamięci

  • Standardowa pamięć (zalecana): standardowa pamięć najlepiej nadaje się do aktywnych przepływów pracy Earth Engine. Ponieważ nie ma minimalnych reguł dotyczących czasu przechowywania, możesz swobodnie zastępować, aktualizować lub usuwać tymczasowe pliki COG bez ponoszenia kar za przedwczesne usunięcie. Ponadto, jeśli Ty lub Twoi współpracownicy uzyskujecie dostęp do zasobnika za pomocą oprogramowania GIS na komputerze, skryptów GDAL lub notatników do uczenia maszynowego poza Earth Engine, standardowa pamięć nie powoduje naliczania dodatkowych opłat za pobieranie.
  • Pamięć Nearline, Coldline i Archive: wszystkie klasy pamięci Cloud Storage zapewniają taki sam dostęp z niskim opóźnieniem i przepustowość jak standardowa pamięć, więc korzystanie z chłodniejszych warstw pamięci w Earth Engine nie powoduje obniżenia wydajności odczytu. Obliczenia Earth Engine mogą również odczytywać te warstwy bez naliczania opłat za pobieranie danych, ale reguły Cloud Storage wymagają ścisłych minimalnych czasów przechowywania (30 dni w przypadku Nearline, 90 dni w przypadku Coldline i 365 dni w przypadku Archive). Modyfikowanie lub usuwanie plików przed upływem minimalnego czasu przechowywania powoduje naliczanie dodatkowych opłat za przedwczesne usunięcie. Ponadto dostęp do zimnych obiektów z dowolnego zewnętrznego narzędzia klienckiego wiąże się z wysokimi opłatami za pobieranie danych.

Szczegółowe informacje o cenach i zasadach dotyczących minimalnego czasu przechowywania znajdziesz w przewodniku po cenach Google Cloud Storage.

Ogólny przepływ pracy

Typowe przepływy pracy związane z używaniem plików COG w Earth Engine obejmują te czynności:

Importowanie danych zewnętrznych:

  • Optymalizacja: przekonwertuj pliki rastrowe na format COG za pomocą narzędzi zewnętrznych (takich jak GDAL, skrypty na lokalnej stacji roboczej lub potoki przetwarzania w chmurze).
  • Przesyłanie: prześlij pliki COG do obsługiwanego zasobnika Cloud Storage znajdującego się w regionie us-central1 lub w regionie obejmującym wiele regionów w USA.
  • Uprawnienia: upewnij się, że Ty i wszyscy współpracownicy projektu macie dostęp do odczytu plików w Cloud Storage (patrz uprawnienia do plików COG).
  • Rejestracja: zarejestruj pliki COG jako zasoby Earth Engine za pomocą biblioteki klienta Python, earthengine narzędzia wiersza poleceń lub interfejsu REST API (patrz rejestracja plików COG).

Eksportowanie wyników:

  • Eksportowanie: uruchom eksport zbiorczy z Earth Engine do Cloud Storage z cloudOptimized ustawionym na true (patrz eksportowanie obrazów).
  • Rejestracja (opcjonalnie): zarejestruj wyeksportowany plik COG z powrotem w Earth Engine jako nowy zasób do dalszej analizy (patrz rejestracja plików COG).

Zaczynamy? Aby zarejestrować swój pierwszy zasób, postępuj zgodnie ze szczegółowym przewodnikiem rejestracji plików COG.