Instalación de NPM

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.