Bilddaten aus Earth Engine abrufen
Wenn Sie Bilddaten aus Earth Engine in Google Drive, Cloud Storage oder ein Earth Engine-Asset übertragen möchten, können Sie Export
verwenden. Der Job wird dann vollständig von Earth Engine verarbeitet. Wenn bei Ihren Exportjobs Skalierungsprobleme auftreten (z.B. wenn sie länger als einen Tag dauern oder Speicher- oder Zeitüberschreitungsfehler zurückgeben) oder Sie bereits mit einem Framework wie Apache Beam, Spark oder Dask vertraut sind, sollten Sie die hier beschriebenen Methoden zur Datenextraktion verwenden. In diesen Frameworks implementierte Workflows können mit Google Cloud-Tools wie Dataflow oder Dataproc skaliert werden.
In diesem Leitfaden werden insbesondere Methoden zum manuellen Stellen von Anfragen für Bilddaten mit getPixels
oder computePixels
beschrieben.
Hier bezeichnet „Bilddaten“ mehrdimensionale Arrays von Pixelwerten mit einheitlichem Maßstab und einheitlicher Projektion. Region, Maßstab, Projektion und/oder Dimensionen werden in der Anfrage angegeben. Auf der Seite ImageFileFormat sind die möglichen Ausgabeformate aufgeführt. Ausgabeziele können Cloud Storage oder ein lokal bereitgestelltes Verzeichnis sein. Manuelle Anfragen erhöhen die Komplexität, können aber auf größere Arbeitslasten skaliert werden.
Bilddaten aus vorhandenen Assets abrufen
Verwenden Sie getPixels
, um Bilddaten aus vorhandenen Earth Engine-Assets abzurufen. Sie geben die Asset-ID direkt an die Anfrage weiter, sodass Sie keine Berechnungen an den Pixeln vornehmen können, bevor sie extrahiert werden. Es wird ein Pixelblock in der angegebenen Region, im angegebenen Maßstab, in der angegebenen Projektion und im angegebenen Format zurückgegeben. Im folgenden Beispiel wird gezeigt, wie Sie mit getPixels
Zeitreihen von NDVI aus einer MODIS-Bildersammlung abrufen.
Bilddaten aus berechneten Bildern abrufen
Verwenden Sie computePixels
, um Bilddaten aus einem berechneten Bild zu erhalten, z. B. einem zusammengesetzten Bild. Mit computePixels
übergeben Sie ein berechnetes ee.Image
-Objekt über den Parameter expression
. Es wird ein Block berechneter Pixel in der angegebenen Region, im angegebenen Maßstab, in der angegebenen Projektion und im angegebenen Format zurückgegeben. Im folgenden Beispiel wird gezeigt, wie Sie Patches mit Multispektraldaten aus einem wolkenfreien Sentinel-2-Composite abrufen.
Manuelle Parallelisierung von Anfragen
Sie können Anfragen für beliebige Zwecke und in beliebigem Umfang stellen. Bei größeren Workflows sollten Sie sie jedoch parallelisieren. Wenn Sie viele solcher Anfragen parallel stellen möchten, sollten Sie den Earth Engine-Endpunkt für hohes Volumen verwenden. Die Anzahl der parallelen Anfragen wird durch Ihr Kontingent für gleichzeitige interaktive Anfragen festgelegt. Weitere Informationen dazu, wann Sie den Endpunkt für hohes Volumen verwenden sollten, finden Sie auf der Earth Engine-Seite zu hohem Volumen.
Multithreading
Mithilfe von Threads können Sie parallele Anfragen stellen. Dieser Ansatz wird in den Beispiel-Notebooks getPixels
und computePixels
veranschaulicht.
Apache Beam
Sie können Apache Beam-Pipelines verwenden, um Anfragen zu parallelisieren. Diese Pipelines können lokal oder als Google Dataflow-Jobs ausgeführt werden. Beispiele finden Sie in diesem Geo for Good-Training oder in dieser Demonstration zu „Mensch, Planet und KI“. Alternativ gibt es noch andere Parallelisierungsbibliotheken wie Dask und Apache Spark.