Exemples d'applications App Engine

Vous trouverez ci-dessous des exemples dans le répertoire des démonstrations Earth Engine sur GitHub. Le titre de chaque exemple est un lien vers la source sur GitHub. Les exemples sont organisés en fonction de la méthode d'authentification utilisée avec Earth Engine. Pour en savoir plus sur les options d'authentification et sur le déploiement de ces applications, consultez la présentation d'App Engine et d'Earth Engine.

Authentication avec des comptes de service

server-auth-python

éléments

Pour commencer, considérez cet exemple comme le "Hello World" des applications Earth Engine sur la plate-forme App Engine. L'application affiche une carte interactive avec une image Earth Engine (altitude SRTM). Inspectez le fichier config.py, en notant qu'il doit être modifié avec les identifiants du compte de service de votre projet. Le seul code spécifique à Earth Engine se trouve dans server.py (deux lignes). Notez qu'Earth Engine obtient un mapid pour l'image à afficher sur la page de l'application, puis transmet cette valeur au modèle Jinja utilisé pour afficher la page.


server-auth-nodejs

Comme dans l'exemple ci-dessus, mais en utilisant Node.js. Le fichier server.js charge les identifiants du compte de service à partir d'un fichier .private-key.json et obtient un mapid pour l'image à afficher sur la page de l'application.


trendy-lights

éléments

Il s'agit d'un exemple plus complexe d'utilisation de l'authentification par serveur. Il ajoute plusieurs polygones à la carte et affiche des informations à leur sujet lorsqu'un utilisateur clique dessus. Il utilise l'API Google Visualization pour créer des graphiques et une technique appelée AJAX pour récupérer de nouvelles données sur le serveur sans avoir à actualiser la page.


cloud-functions

éléments

Cet exemple utilise une fonction Cloud Node.js pour l'authentification du serveur. Avec l'API Earth Engine et TurfJS, la fonction crée un fichier GeoJSON pour une visualisation en histogramme hexagonal. La page Web est statique (hébergée dans Cloud Storage) et affiche la visualisation en histogramme hexagonal sur une carte. Contrairement aux autres exemples, cette démonstration n'utilise pas App Engine.


Authentification avec OAuth2

client-auth

éléments

Cet exemple illustre le flux OAuth pour l'authentification à partir du client. Plus précisément, un utilisateur devra s'authentifier en tant que lui-même (c'est-à-dire qu'il est déjà un utilisateur Earth Engine) pour utiliser l'application. Pour que cela fonctionne, les origines JavaScript et les redirections autorisées doivent être définies à partir de la console du développeur.


map-layer

éléments

Cet exemple utilise également le flux d'autorisation du client. Il montre comment utiliser ee.MapLayerOverlay pour ajouter des données Earth Engine à la carte avec une fonction de rappel pour suivre le nombre de tuiles chargées. (Toutes les fonctionnalités de mappage de cette démonstration peuvent être effectuées avec des mapids générés sur le serveur, comme dans la démonstration de l'authentification du serveur).


polygon-drawing

éléments

Cet exemple utilise également le flux d'autorisation du client. L'exemple montre comment dessiner un polygone sur la carte, effectuer une réduction de région avec le polygone dans Earth Engine et afficher la moyenne du polygone. (Toutes les fonctionnalités de mappage de cette démonstration peuvent être effectuées avec des mapids générés sur le serveur, comme dans la démonstration de l'authentification du serveur).


export-to-drive

éléments

Il s'agit d'un exemple relativement complexe. Il illustre l'utilisation de deux flux d'authentification, l'un pour Earth Engine à l'aide des identifiants de l'application et l'autre pour Google Drive à l'aide des identifiants personnels de l'utilisateur. Il permet à l'utilisateur de sélectionner un calque, de dessiner un polygone et d'exporter le calque rogné par le polygone vers Drive.