Pobieram dane obrazu z Earth Engine
Aby pobrać dane obrazu z Earth Engine na Dysk Google, do Cloud Storage lub do zasobu Earth Engine, możesz użyć Export, a zadanie zostanie w całości obsłużone przez Earth Engine. Jeśli zadania eksportu mają problemy ze skalowaniem (np. trwają dłużej niż dzień, zwracają błędy pamięci lub przekroczenia limitu czasu) lub znasz już platformę taką jak Apache Beam, Spark lub Dask, możesz preferować opisane tutaj metody wyodrębniania danych. Przepływy pracy zaimplementowane w tych platformach można skalować za pomocą narzędzi Google Cloud, takich jak Dataflow lub Dataproc.
W tym przewodniku opisano metody ręcznego wysyłania żądań danych obrazu za pomocą getPixels lub computePixels.
W tym przypadku „dane obrazu” oznaczają wielowymiarowe tablice wartości pikseli o spójnej skali i projekcji. Region, skala, projekcja lub wymiary są określone w żądaniu. Możliwe formaty wyjściowe znajdziesz na stronie ImageFileFormat. Miejsca docelowe danych wyjściowych obejmują Cloud Storage lub dowolny katalog podłączony lokalnie. Ręczne żądania zwiększają złożoność, ale można je skalować do większych zbiorów zadań.
Pobieranie danych obrazu z istniejących komponentów
Użyj getPixels, aby pobrać dane obrazu z istniejących zasobów Earth Engine. Identyfikator zasobu przekazujesz bezpośrednio do żądania, więc nie możesz wykonywać żadnych obliczeń na pikselach przed ich wyodrębnieniem. thought
Zwracany jest blok pikseli w określonym regionie, skali, projekcji i formacie. Poniższy przykład pokazuje, jak za pomocą getPixels uzyskać ciąg czasowy NDVI z kolekcji obrazów MODIS.
Pobieranie danych obrazu z obliczonych obrazów
Użyj computePixels, aby pobrać dane obrazu z obliczonego obrazu, np. kompozytu. W przypadku computePixels przekazujesz obliczony obiekt ee.Image za pomocą parametru expression. Zwracany jest blok obliczonych pikseli w określonym regionie, skali, projekcji i formacie. Poniższy przykład pokazuje, jak pobrać fragmenty danych wielospektralnych z kompozytu Sentinel-2 bez chmur.
Ręczne wczytywanie równoległe żądań
Możesz wysyłać żądania w dowolnym celu i w dowolnej ilości, ale w przypadku większych przepływów pracy warto wysyłać żądania równolegle. Aby wysyłać wiele takich żądań równolegle, użyj punktu końcowego Earth Engine o dużej liczbie żądań. Liczba żądań równoległych, które możesz mieć, jest określana przez limit równoczesnych żądań interaktywnych. Szczegółowe informacje o tym, kiedy używać punktu końcowego o dużej liczbie operacji, znajdziesz na stronie Earth Engine poświęconej dużej liczbie operacji.
Wielowątkowość
Możesz używać wątków do wysyłania równoczesnych żądań. To podejście zostało przedstawione w przykładowych notatnikach getPixels i computePixels.
Apache Beam
Do równoległego przetwarzania żądań możesz używać potoków Apache Beam. Te potoki można uruchamiać lokalnie lub jako zadania Google Dataflow. Przykłady znajdziesz w tym szkoleniu Geo for Good lub w tej prezentacji People, Planet and AI. Inne biblioteki do równoległego przetwarzania to m.in. Dask i Apache Spark.
Uruchom w Google Colab
Wyświetl źródło na GitHubie