Инструмент earthengine — это утилита, позволяющая управлять ресурсами и задачами EarthEngine из командной строки. Он устанавливается автоматически при установке API Python . Чтобы проверить, установлен ли инструмент и работает ли он корректно, введите в командной строке следующее:
earthengine
Если инструмент установлен правильно, он выводит краткое описание доступных команд. Для получения справки по конкретной команде используйте:
earthengine command -h
При первой установке Python API необходимо войти в систему, используя команду authenticate описанную ниже. В следующих разделах доступные команды описаны более подробно.
Учетные данные служебной учетной записи
Для использования интерфейса командной строки с учетными данными сервисной учетной записи используйте флаг service_account_file , чтобы указать путь к JSON-файлу, содержащему ключ сервисной учетной записи.
earthengine --service_account_file=service_account_creds.json
Использование в Colab
Инструмент командной строки Earth Engine предустановлен и готов к использованию в Google Colab .
Аутентификация
Аутентификация требуется для каждой новой сессии Colab или в случае прекращения работы виртуальной машины из-за бездействия (учетные данные не сохраняются между сессиями).
Импортируйте клиентскую библиотеку Python и вызовите метод ee.Authenticate() для запуска процесса аутентификации. Следуйте подсказкам для завершения аутентификации. По умолчанию в Colab используется auth_mode colab ; другие параметры см. в руководстве по аутентификации .
import ee
ee.Authenticate()
Выполнение команды
Для запуска утилит командной строки, таких как Earth Engine CLI, необходимо добавлять восклицательный знак перед вызовом команды.
!earthengine -h
Настроить облачный проект
Используйте параметр --project , чтобы задать облачный проект для каждой отдельной команды earthengine .
!earthengine --project my-project <command>
В качестве альтернативы, можно задать проект по умолчанию, который будет использоваться всеми вызовами earthengine , с помощью команды set_project . Проект будет добавлен в файл учетных данных (~/.config/earthengine/credentials) и будет использоваться для последующих команд, если не будет переопределен.--project . Устанавливает проект по умолчанию для каждой новой сессии Colab или в случае прекращения работы виртуальной машины из-за бездействия (учетные данные не сохраняются между сессиями).
!earthengine set_project my-project
Справочник команд
аутентифицировать
Проводит аутентификацию инструмента командной строки и клиентской библиотеки Python в Earth Engine. Пример:
earthengine authenticate
Earth Engine использует протокол OAuth 2.0 для аутентификации клиентов. Команда earthengine authenticate проведет вас через процесс аутентификации с помощью веб-браузера.
Если вы используете стандартный режим аутентификации gcloud, вам потребуется установить gcloud . См. другие режимы аутентификации, доступные через параметр auth_mode , в руководстве по аутентификации .
акл
Выводит на экран или обновляет список контроля доступа (ACL) для объекта Earth Engine. ACL определяет, кто может читать или записывать данные в объект. Примеры:
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
Подкоманда ` get выводит JSON-описание списка контроля доступа (ACL). Подкоманда ` set устанавливает ACL, предоставленный в файле с тем же JSON-форматом. Вы можете скопировать ACL из одного ресурса в другие, сохранив вывод команды get и передав его команде ` set .
Подкоманда set также принимает два специальных имени ACL:
-
private: Снимает права доступа со всех пользователей, кроме владельца. -
public: Предоставляет всем пользователям разрешение на чтение.
Подкоманда ch позволяет вносить индивидуальные изменения в список контроля доступа (ACL). Чтобы предоставить разрешение на чтение, укажите -u username@gmail.com:R , чтобы предоставить разрешение на запись, укажите -u username@gmail.com:W , а чтобы удалить разрешения пользователя, укажите -d username@gmail.com . Специальный идентификатор пользователя AllUsers может использоваться для предоставления или отзыва разрешения на чтение всем пользователям. (Обратите внимание, что отзыв разрешений AllUsers не отменяет никаких дополнительных разрешений, которые вы могли также предоставить отдельным пользователям.)
объект
Выводит на экран или обновляет метаданные, связанные с объектом Earth Engine. Примеры:
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
Подкоманда info выводит подробную информацию об активе, включая его метаданные, в формате JSON. Подкоманда set устанавливает отдельные свойства метаданных для актива.
Значения свойств метаданных, которые вы задаете, могут быть как числами, так и строками. При задании имен свойств с помощью флага --property или -p разделяйте имя свойства и значение знаком равенства. Тип данных определяется автоматически, или вы можете указать его явно, добавив к имени свойства префикс (string) , (number) или (date) . Например, это задает строковое значение свойства со значением "42" :
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
(Кавычки в этом примере не позволяют оболочке интерпретировать скобки. Они могут быть необходимы или нет, в зависимости от вашей оболочки и платформы.)
Чтобы удалить свойство, установите для него значение null без указания типа:
earthengine asset set -p name=null projects/my-project/assets/asset_id
Свойства даты представляют собой просто числа, обозначающие количество миллисекунд с момента начала эпохи Unix ( например, полночь 1 января 1970 года) и могут быть указаны непосредственно в виде числа или в одном из следующих форматов:
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
Предполагается, что используется часовой пояс UTC. Вы можете задать специальные параметры времени начала и окончания с помощью флагов --time_start и --time_end :
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
цп
Копирует актив. Пример:
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
создавать
Создает новые папки и коллекции изображений. Пример:
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
Используйте подкоманду folder для создания папок и команду collection для создания коллекций изображений. При необходимости можно указать параметр -p для рекурсивного создания родительских папок. Вновь созданные папки и изображения по умолчанию имеют частные списки контроля доступа (ACL).
лс
Выводит список содержимого одной или нескольких папок или коллекций. Пример:
earthengine ls users/username
Опция -l запрашивает подробный формат с информацией о каждом ресурсе (в настоящее время только его тип). Вы можете указать --max_items number (или сокращенно -m ), чтобы ограничить количество элементов из каждой папки или коллекции, которые вы перечисляете:
earthengine ls -m 10 projects/my-project/assets/my_large_collection
Выполнение команды ls без аргументов отобразит список папок верхнего уровня, принадлежащих вам.
модель
Инструмент для работы с сохраненными моделями TensorFlow.
model prepare
Подготовьте сохраненную модель для использования в Earth Engine. В частности, это преобразует вашу SavedModel в формат, подходящий для обработки запросов из Earth Engine. ( Подробнее о SavedModel .)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
Подробнее о моделях платформы ИИ можно узнать здесь . Полный пример можно посмотреть здесь .
мв
Перемещает или переименовывает актив. Пример:
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
проект_конфигурация
Задает значения параметров конфигурации проекта. Перед использованием этой команды обязательно задайте проект с помощью set_project .
получать
Для просмотра конфигурации проекта используйте подкоманду ` get :
earthengine alpha project_config get
Если у вас есть разрешение на просмотр настроек пакетной обработки задач проекта , в выходных данных будет содержаться следующее:
-
maxConcurrentExports: число, указывающее максимальное количество пакетных задач, которые могут выполняться параллельно всеми пользователями для данного проекта. По умолчанию установлено максимальное значение, разрешенное тарифным планом соответствующей учетной записи.
Кроме того, если у вас есть разрешение на просмотр конфигурации плана , в выходных данных будет содержаться следующее:
-
planMaxConcurrentExports— число, указывающее максимальное количество пакетных задач, которые могут выполняться параллельно для всех пользователей и проектов, использующих учетную запись для выставления счетов.
набор
Для обновления конфигурации проекта используйте подкоманду set . Можно настроить следующие параметры:
-
max_concurrent_exports— параметр для управления максимальным уровнем параллелизма пакетных задач в проекте.- требуется наличие соответствующих прав доступа
Например, чтобы настроить проект таким образом, чтобы параллельно выполнялось не более 10 задач:
earthengine alpha project_config set --max_concurrent_exports=10
В результате выполнения отображается обновленная конфигурация проекта, идентичная той, что возвращает функция get .
Для получения дополнительной информации о параллельной обработке пакетных задач см. страницу квот Earth Engine .
рм
Удаляет один или несколько активов. Пример:
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
Флаг -r позволяет рекурсивно удалять содержимое папки или коллекции. Для большей безопасности при удалении нескольких ресурсов можно использовать флаг --dry_run , чтобы точно определить, что будет удалено, не удаляя при этом ничего фактически.
set_project
Задает проект Google Cloud, через который будут маршрутизироваться запросы на вычисления.
earthengine set_project foo-project
Эта команда необходима перед выполнением команд, требующих функциональности облачных сервисов, например, model .
задача
Выводит информацию о длительных задачах или управляет ими. Примеры:
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
Подкоманда list отображает основную информацию о задачах, которые вы недавно отправили. Опция -l запрашивает расширенный формат с более подробной информацией о каждой задаче. Подкоманда info выводит подробную информацию об отдельных задачах. Подкоманда cancel отменяет одну или несколько выполняющихся задач.
загрузить
Загружает изображения или таблицы из Google Cloud Storage в Earth Engine или создает ресурсы, используя в качестве основы внешние изображения.
изображение
Чтобы загрузить изображение, используя настройки по умолчанию:
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
Если вы укажете несколько входных файлов изображений, они будут интерпретированы как фрагменты одного графического ресурса. Подробнее о параметрах загрузки изображений в Earth Engine можно узнать в разделе «Загрузка графических ресурсов: расширенные параметры» .
Политику уменьшения пирамиды можно задать с помощью флага --pyramiding_policy , который может принимать одно из значений: mean (по умолчанию), sample , mode , min или max . Это будет определять, как Earth Engine будет генерировать пирамиду из версий изображения с более низким разрешением:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
Параметр --last_band_alpha позволяет указать, что маска изображения должна быть взята из альфа-канала в последнем канале:
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
Вы можете указать значение «нет данных» с помощью флага --nodata_value . Это замаскирует все пиксели изображения с этим значением:
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
Вы также можете указать свойства метаданных, которые необходимо установить для ресурса, используя те же флаги, которые принимаются командой asset set описанной выше . Эти параметры также описаны в руководстве по манифестам изображений .
стол
Для загрузки файла Shapefile, CSV или TFRecord из Google Cloud Storage в табличный ресурс Earth Engine можно использовать любой из следующих способов:
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
Существует множество вариантов интерпретации CSV- и TFRecord-файлов. Полный список вариантов загрузки таблиц можно найти в руководстве по манифесту таблиц или с помощью:
earthengine upload table -h
внешний_изображение
Для создания ресурса, поддерживаемого внешним изображением, выполните команду upload_image с манифестом:
earthengine upload external_image --manifest /tmp/foo.json
Пример манифеста:
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
Более подробную информацию о создании манифеста см. в руководствах Cloud GeoTIFF и Image Manifest .