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