Инструмент командной строки

Инструмент earthengine — это служебная программа, которая позволяет управлять активами и задачами Earth Engine из командной строки. Он устанавливается автоматически при установке Python API . Чтобы проверить, правильно ли установлен и работает инструмент, введите в командной строке следующее:

    earthengine

Если инструмент установлен правильно, он распечатывает краткую сводку доступных команд. Чтобы получить справку по конкретной команде, используйте:

    earthengine command -h

При первой установке API Python вам необходимо войти в систему, используя команду authenticate описанную ниже. В следующих разделах доступные команды описаны более подробно.

Учетные данные сервисной учетной записи

Чтобы использовать CLI с учетными данными учетной записи службы, используйте флаг service_account_file , чтобы указать на файл JSON, содержащий ключ учетной записи службы.

    earthengine --service_account_file=service_account_creds.json

Использование в Колабе

Инструмент командной строки Earth Engine предустановлен и готов к использованию в Google Colab .

Аутентификация

Выполняйте аутентификацию для каждого нового сеанса Colab или в случае истечения срока действия виртуальной машины из-за бездействия (учетные данные не сохраняются между сеансами).

Импортируйте клиентскую библиотеку Python и вызовите ee.Authenticate() , чтобы запустить поток аутентификации. Следуйте инструкциям для завершения аутентификации. По умолчанию в Colab используется auth_modecolab , другие параметры см. в руководстве по аутентификации .

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

Печатает или обновляет список управления доступом (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 печатает описание ACL в формате JSON. Подкоманда 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 для рекурсивного создания родительских папок по мере необходимости. Вновь созданные папки и изображения по умолчанию имеют частные списки управления доступом.

лс

Перечисляет содержимое одной или нескольких папок или коллекций. Пример:

    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 . Можно настроить следующие параметры:

Например, чтобы настроить проект так, чтобы одновременно разрешалось параллельное выполнение только 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 описанной выше . Эти параметры также описаны в руководстве по манифесту изображения .

стол

Чтобы загрузить шейп-файл, 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 alpha 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 и руководстве по манифесту изображения .