La API de JavaScript de Earth Engine se distribuye como un paquete de npm que se aloja en GitHub. En las siguientes instrucciones, se proporciona una descripción general de la instalación de la API de JavaScript de Google Earth Engine. Para usar la API de JavaScript de Earth Engine, deberás instalar la biblioteca cliente y sus dependencias en tu computadora y, luego, configurar las credenciales de autenticación.
La biblioteca cliente de JavaScript no incluye todas las funciones del Editor de código de Earth Engine. En particular, se excluyen las funciones de la interfaz de usuario, como botones, paneles y gráficos.
Instala la biblioteca cliente
1. Configura Node.js y npm
npm es un administrador de paquetes para JavaScript y Node.js. Verifica que tengas Node.js 6 o versiones posteriores, y npm 3 o versiones posteriores.
node --version npm --version
Si es necesario, instálalos con el instalador oficial de tu plataforma.
2. Instala la biblioteca cliente de Earth Engine
La biblioteca cliente se puede instalar desde npm con el siguiente comando:
npm install --save @google/earthengine
Una vez instalada, la biblioteca cliente se coloca dentro del directorio del proyecto actual: node_modules/@google/earthengine/*
. En proyectos futuros, instala el cliente de la misma manera.
3. Usa la biblioteca cliente en una aplicación
En el código de tu aplicación, solicita la API de Earth Engine:
var ee = require('@google/earthengine');
Actualiza la biblioteca cliente
Usa npm para actualizar la biblioteca cliente a la versión más reciente. Desde el directorio del proyecto actual, haz lo siguiente:npm update @google/earthengine
Obtén más información para actualizar bibliotecas con npm.
Desinstala la biblioteca cliente
Para desinstalar con el administrador de paquetes npm, ejecuta el siguiente comando:
npm uninstall --save @google/earthengine
Esto quita node_modules/@google/earthengine
del proyecto actual, pero
no afecta a ningún proyecto en otros directorios de la misma máquina.
Crea un proyecto de Cloud y activa la API de Earth Engine
Sigue estas instrucciones para crear un proyecto de Cloud y habilitar la API de Earth Engine.
Cómo configurar las credenciales de autenticación
Las APIs de Earth Engine usan el protocolo OAuth 2.0 para autenticar clientes basados en navegadores. Para la autenticación del servidor en Node.js, se recomiendan las cuentas de servicio. Las apps web pueden usar cualquiera de estos enfoques, cuyos pros y contras se analizan a continuación.
Autenticación del cliente con OAuth
Con la autenticación del cliente en un navegador web, los usuarios de tu aplicación acceden con sus propias Cuentas de Google. Estos usuarios ya deben tener autorización para acceder a Earth Engine y deben tener permiso para leer los recursos que usa tu aplicación.
Después de crear un ID de cliente de OAuth 2.0, realiza la autenticación como se muestra a continuación:
// 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); });
Autenticación del servidor con una cuenta de servicio
Con la autenticación del servidor, se almacena una clave privada con tu aplicación, lo que le permite acceder a la API de Earth Engine a través de una cuenta de servicio. Los usuarios de tu aplicación no necesitan su propio acceso a Earth Engine y no es necesario que accedan.
En Node.js, la biblioteca cliente solo proporciona autenticación del servidor.
Después de crear una cuenta de servicio nueva, usa tu clave privada JSON para autenticar lo siguiente:
// 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); });
Prueba la instalación
Para probar que la autenticación se configuró correctamente, ejecuta la siguiente secuencia de comandos:
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); });
Si todo está instalado correctamente, se deberían imprimir los metadatos de una imagen.