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

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

Клиентская библиотека 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 пройдите аутентификацию, как показано ниже (замените my-project на идентификатор вашего проекта Google Cloud):

// 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);
  }, null, 'my-project');
};

// 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 для аутентификации (замените my-project на идентификатор вашего проекта Google Cloud):

// 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);
  }, null, 'my-project');
};

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

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

Чтобы проверить правильность настройки аутентификации, запустите следующий скрипт (замените my-project на идентификатор вашего проекта Google Cloud):

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(null, null, null, null, null, 'my-project');

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

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