Установка НПМ

API JavaScript Earth Engine распространяется в виде пакета npm , размещенного на GitHub . В следующих инструкциях представлен обзор установки API JavaScript Google Earth Engine. Чтобы использовать JavaScript API Earth Engine, вам необходимо установить клиентскую библиотеку и ее зависимости на свой компьютер, а затем настроить учетные данные для аутентификации .

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

Установка клиентской библиотеки

1. Настройте Node.js и npm.

npm — менеджер пакетов для JavaScript и Node.js. Убедитесь, что у вас установлены Node.js 6+ и npm 3+.

node --version
npm --version

При необходимости установите оба, используя официальный установщик для вашей платформы .

2. Установите клиентскую библиотеку Earth Engine.

Клиентскую библиотеку можно установить из npm с помощью следующей команды:

npm install --save @google/earthengine

После установки клиентская библиотека помещается в текущий каталог проекта: node_modules/@google/earthengine/* . В будущих проектах устанавливайте клиент таким же образом.

3. Используйте клиентскую библиотеку в приложении

В коде вашего приложения потребуется API Earth Engine:

var ee = require('@google/earthengine');

Обновление клиентской библиотеки

Используйте npm, чтобы обновить клиентскую библиотеку до последней версии. Из текущего каталога проекта:
npm update @google/earthengine

Узнайте больше об обновлении библиотек с помощью npm .

Удаление клиентской библиотеки

Чтобы удалить с помощью менеджера пакетов npm, выполните следующую команду:

npm uninstall --save @google/earthengine

Это удалит node_modules/@google/earthengine из текущего проекта, но не затронет проекты в других каталогах на том же компьютере.

Создайте облачный проект и активируйте API Earth Engine.

Следуйте этим инструкциям , чтобы создать облачный проект и включить API Earth Engine.

Настройка учетных данных аутентификации

API Earth Engine используют протокол OAuth 2.0 для аутентификации клиентов на основе браузера. Для аутентификации на стороне сервера в Node.js рекомендуется использовать учетные записи служб. Веб-приложения могут использовать любой подход, плюсы и минусы которого обсуждаются ниже.

Аутентификация на стороне клиента с помощью OAuth

Благодаря аутентификации на стороне клиента в веб-браузере пользователи вашего приложения входят в систему со своими учетными записями Google. Этим пользователям уже должен быть разрешен доступ к Earth Engine, а также разрешение на чтение ресурсов, используемых вашим приложением.

После создания идентификатора клиента OAuth 2.0 выполните аутентификацию, как показано ниже:

// Load client library.
var ee = require('@google/earthengine');

// Initialize client library and run analysis.
var initialize = function() {
  ee.initialize(null, null, function() {
    // ... run analysis ...
  }, function(e) {
    console.error('Initialization error: ' + e);
  });
};

// Authenticate using an OAuth pop-up.
ee.data.authenticateViaOauth(YOUR_CLIENT_ID, initialize, function(e) {
  console.error('Authentication error: ' + e);
}, null, function() {
  ee.data.authenticateViaPopup(initialize);
});

Аутентификация на стороне сервера с помощью учетной записи службы

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

В Node.js клиентская библиотека обеспечивает только аутентификацию на стороне сервера.

После создания новой учетной записи службы используйте свой закрытый ключ JSON для аутентификации:

// Require client library and private key.
var ee = require('@google/earthengine');
var privateKey = require('./.private-key.json');

// Initialize client library and run analysis.
var runAnalysis = function() {
  ee.initialize(null, null, function() {
    // ... run analysis ...
  }, function(e) {
    console.error('Initialization error: ' + e);
  });
};

// Authenticate using a service account.
ee.data.authenticateViaPrivateKey(privateKey, runAnalysis, function(e) {
  console.error('Authentication error: ' + e);
});

Тестирование установки

Чтобы проверить правильность настройки аутентификации, запустите следующий скрипт:

var ee = require('@google/earthengine');

// Authenticate using one (but not both) of the methods below.
ee.data.authenticateViaOauth(YOUR_CLIENT_ID);
ee.data.authenticateViaPrivateKey(YOUR_PRIVATE_KEY);

ee.initialize();

// Run an Earth Engine script.
var image = new ee.Image('srtm90_v4');
image.getMap({min: 0, max: 1000}, function(map) {
  console.log(map);
});

Если все установлено правильно, метаданные изображения должны быть распечатаны.