Descripción general de App Engine y Earth Engine

Google App Engine te permite compilar y ejecutar tus propias aplicaciones personalizadas en los servidores de Google. Las aplicaciones de App Engine son fáciles de crear, mantener y escalar a medida que cambian tus necesidades de almacenamiento de datos y tráfico. Solo debes subir el código fuente de tu aplicación, y estará lista para usar. Si es la primera vez que desarrollas para App Engine, asegúrate de consultar la guía de inicio rápido de App Engine para Python o Node.js antes de continuar.

Earth Engine y App Engine se pueden usar juntos para compilar aplicaciones geoespaciales aplicaciones escalables. Por lo general, el código de App Engine incluye la biblioteca cliente de Python de Earth Engine y realiza solicitudes al backend de Earth Engine con una cuenta de servicio. Esto es ventajoso porque permite cualquier persona use tu app sin acceder ni ser un usuario registrado de Earth Engine. Ten en cuenta que los límites de uso estándar de Earth Engine se aplican a cada cuenta de servicio.

Otro enfoque de desarrollo es usar la autenticación del cliente en lugar de una cuenta de servicio. Con este enfoque, los visitantes de tu aplicación deben registrarse en Earth Engine y acceder. El beneficio de este enfoque es que las solicitudes a Earth Engine se realizan con las credenciales del usuario final, por lo que es menos probable que alcances los límites de uso. El desafío es que tus usuarios deben registrarse en Earth Engine y acceder antes de usar la aplicación.

El directorio de demostraciones de Earth Engine App Engine en GitHub contiene un conjunto de ejemplos útiles de App Engine. Consulta la página de aplicaciones de ejemplo para obtener una breve descripción de cada ejemplo. En este documento, se proporcionan instrucciones para configurar y, luego, implementar los ejemplos o las apps personalizadas que crees.

Implementa apps de App Engine con Earth Engine

En las instrucciones a continuación, se explica cómo implementar las apps de demostración. Las instrucciones de Python están destinadas a Mac OS y Linux. Si usas Python en Windows, prueba esto.

Habilita la API de Earth Engine en tu proyecto de Google Cloud

Crea o selecciona un proyecto de Google Cloud y habilita la API de Earth Engine según estas instrucciones.

Configura las credenciales

Cuenta de servicio

Se puede usar una cuenta de servicio para autorizar solicitudes a Earth Engine en nombre de quien use tu app. El config.py archivo contiene código de autenticación con la dirección de correo electrónico de la cuenta de servicio y un archivo de clave privada. Para configurar la autenticación con una cuenta de servicio, sigue estas instrucciones para crear la cuenta de servicio y el archivo de clave privada. Al archivo de claves, asígnale el nombre .private-key.json y muévelo al directorio de tu proyecto.

Python

Si aún no lo hiciste, primero configura la API de Earth Engine Python. Prueba la cuenta de servicio según estas instrucciones.

Si la prueba se realiza correctamente, actualiza config.py (o un archivo equivalente en tu código fuente) con la dirección de correo electrónico de tu cuenta de servicio. (La ruta de acceso al archivo de claves no debe cambiar ya que está en el directorio de tu proyecto).

Node.js

Para instalar las dependencias del proyecto, ejecuta npm install. La API de Earth Engine Node.js y cualquier otra dependencia se copiarán a una carpeta ./node_modules en el directorio de tu proyecto. Si falla la instalación, verifica que esté instalada una versión reciente de Node.js. Autentica e inicializa la biblioteca, reemplazando my-project por el ID de tu proyecto de Google Cloud:

const ee = require('@google/earthengine');
ee.data.authenticateViaPrivateKey('.private-key.json');
ee.initialize(null, null, null, null, null, 'my-project');

ID de cliente de OAuth 2.0

Si deseas que los usuarios se autentiquen por sí mismos (en lugar de usar una cuenta de servicio), debes configurar un ID de cliente de OAuth desde tu proyecto de Cloud. Para eso, sigue estos pasos:

  1. Configura un ID de cliente según estas instrucciones.
  2. Actualiza static/script.js (o un archivo equivalente en tu código fuente) para usar tu ID de cliente.
  3. Asegúrate de que ee_api_js.js esté disponible en el directorio /static/ (o equivalente). Puedes descargarlo directamente desde GitHub, instalarlo desde npm o, si ya clonaste todo el repositorio de la API de EE, cópialo desde earthengine-api/javascript/build en tu sistema de archivos local.

Configura el entorno de desarrollo local

Python

Sigue las instrucciones de cada directorio de ejemplo en GitHub para descargar y compilar el proyecto. Si hay un archivo build.sh, ejecútalo desde la carpeta raíz de la aplicación con el siguiente comando:

./build.sh

La secuencia de comandos de configuración descargará las dependencias y, luego, instalará las herramientas de línea de comandos de Google, si aún no existen en tu sistema. La API de Python de Earth Engine y sus dependencias se copiarán a una carpeta ./lib en el directorio de tu proyecto.

Para verificar que las herramientas de línea de comandos de App Engine estén disponibles, ejecuta lo siguiente:

dev_appserver.py

Si no se encuentra el comando, intenta descargar e instalar manualmente el Google App Engine SDK para Python. Si el comando está disponible, debería fallar con "error: too few arguments".

Node.js

No se necesita configuración.

Ejecuta de forma local

Una vez que tu cuenta de servicio esté registrada para el acceso a Earth Engine, podrás usarla para autenticarte (consulta config.py) cuando pruebes los ejemplos. Intenta probar los ejemplos de forma local primero. Para ello, ve al directorio de tu proyecto y ejecuta lo siguiente:

Python
dev_appserver.py .
Node.js
npm install
npm start

Dirige el navegador a http://localhost:8080 para ver la app que se ejecuta en un servidor local. Los cambios que realices (y guardes) se detectarán automáticamente cuando actualices la página.