Извлечение данных изображения

Получение данных изображения из Earth Engine

Чтобы перенести данные изображения из Earth Engine на Google Диск, в облачное хранилище или в ресурс Earth Engine, вы можете использовать Export , и задание будет полностью обработано Earth Engine. Если ваши задания экспорта имеют проблемы с масштабированием (например, занимают больше дня, возвращают память или ошибки тайм-аута) или вы уже знакомы с такой платформой, как Apache Beam , Spark или Dask , вы можете предпочесть методы извлечения данных, описанные здесь. Рабочие процессы, реализованные в этих платформах, можно масштабировать с помощью инструментов Google Cloud, таких как Dataflow или Dataproc .

В частности, в этом руководстве описаны методы ручного выполнения запросов данных изображения с помощью getPixels или computePixels . Здесь «данные изображения» означают многомерные массивы значений пикселей с согласованным масштабом и проекцией. В запросе указывается регион, масштаб, проекция и/или размеры. На странице ImageFileFormat перечислены возможные выходные форматы. Целями вывода являются Cloud Storage или любой локально смонтированный каталог. Ручные запросы усложняют работу, но могут масштабироваться для более крупных рабочих нагрузок.

Получение данных изображения из существующих ресурсов

Используйте getPixels , чтобы получить данные изображения из существующих ресурсов Earth Engine. Вы передаете идентификатор актива непосредственно в запрос, поэтому вы не можете выполнять какие-либо вычисления с пикселями перед их извлечением. Возвращается блок пикселей в указанной области, масштабе, проекции и формате. В следующем примере показано получение временных рядов NDVI из коллекции изображений MODIS с помощью getPixels .

Получение данных изображения из вычисленных изображений

Используйте computePixels для получения данных изображения из вычисленного изображения, например составного. Используя computePixels , вы передаете вычисленный объект ee.Image через параметр expression . Возвращается блок вычисленных пикселей в указанной области, масштабе, проекции и формате. В следующем примере показано получение фрагментов мультиспектральных данных из безоблачного композита Sentinel-2.

Ручное распараллеливание запросов

Хотя вы можете отправлять запросы для любых целей в любом объеме, вы можете захотеть распараллелить запросы для более крупных рабочих процессов. Чтобы выполнять множество таких запросов параллельно, следует использовать конечную точку большого объема Earth Engine . Количество параллельных запросов, которое вы можете иметь, определяется вашей квотой одновременных интерактивных запросов . Подробную информацию о том, когда использовать конечную точку большого объема, см. на странице большого объема Earth Engine .

Многопоточность

Вы можете использовать потоки для выполнения параллельных запросов. Этот подход продемонстрирован в примерах блокнотов getPixels и computePixels .

Апачский луч

Вы можете использовать конвейеры Apache Beam для распараллеливания запросов. Эти конвейеры можно запускать локально или как задания Google Dataflow. Примеры см. в этом тренинге «Geo for Good» или в этой демонстрации «Люди, планета и искусственный интеллект» . Альтернативно, другие библиотеки распараллеливания включают Dask и Apache Spark .