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); });
Если все установлено правильно, метаданные изображения должны быть распечатаны.