Com o Google App Engine, é possível criar e executar seus próprios aplicativos personalizados nos servidores do Google. Os aplicativos do App Engine são fáceis de criar, manter e escalonar de acordo com as mudanças necessárias no tráfego e no armazenamento de dados. Basta fazer upload do código-fonte do aplicativo para começar. Se você não tem experiência com o desenvolvimento para o App Engine, confira o início rápido do App Engine em Python ou Node.js antes de continuar.
O Earth Engine e o App Engine podem ser usados juntos para criar aplicativos geoespaciais escalonáveis. Normalmente, o código do App Engine inclui a biblioteca de cliente Python do Earth Engine e faz solicitações ao back-end do Earth Engine usando uma conta de serviço. Isso é vantajoso porque permite que qualquer pessoa use seu app sem fazer login ou ser um usuário registrado do Earth Engine. Os limites de uso padrão do Earth Engine se aplicam a cada conta de serviço.
Outra abordagem de desenvolvimento é usar a autenticação do lado do cliente em vez de uma conta de serviço. Com essa abordagem, os visitantes do aplicativo precisam se registrar no Earth Engine e fazer login. O benefício é que as solicitações ao Earth Engine são feitas usando as credenciais do usuário final, o que reduz a probabilidade de atingir os limites de uso. O desafio é que os usuários precisam se inscrever no Earth Engine e fazer login antes de usar o aplicativo.
O diretório de demonstrações do Earth Engine no App Engine no GitHub contém um conjunto de exemplos úteis do App Engine. Consulte a página de apps de exemplo para uma breve descrição de cada exemplo. Este documento fornece instruções sobre como configurar e implantar os exemplos ou apps personalizados que você criar.
Como implantar apps do App Engine com o Earth Engine
As instruções a seguir explicam como implantar os apps de demonstração. As instruções em Python são destinadas ao Mac OS e ao Linux. Se você estiver usando Python no Windows, tente isso.
Ative a API Earth Engine no seu projeto na nuvem do Google Cloud
Crie ou selecione um projeto na nuvem do Google Cloud e ative a API Earth Engine de acordo com estas instruções.
Configurar credenciais
Conta de serviço
Uma conta de serviço pode ser usada para autorizar solicitações ao Earth Engine em nome de quem estiver usando seu app. O arquivo config.py contém código de autenticação usando o endereço de e-mail da conta de serviço e um arquivo de chave privada. Para configurar a autenticação com uma conta de serviço, siga estas instruções para criar a conta de serviço e o arquivo de chave privada. Nomeie o arquivo de chave .private-key.json e mova-o para o diretório do projeto.
Python
Se ainda não tiver feito isso, primeiro configure a API Python do Earth Engine. Teste a conta de serviço de acordo com estas instruções.
Se o teste for bem-sucedido, atualize config.py (ou um arquivo equivalente no seu código-fonte) com o endereço de e-mail da conta de serviço. O caminho para o arquivo de chave não deve mudar, já que ele está no diretório do projeto.
Node.js
Instale as dependências do projeto executando npm install. A API Node.js do Earth Engine e outras dependências serão copiadas para uma pasta ./node_modules no diretório do projeto. Se a instalação falhar, verifique se uma versão recente do Node.js está instalada. Autentique e inicialize a biblioteca,
substituindo my-project pelo ID do projeto do Google Cloud:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
ID do cliente OAuth 2.0
Se você quiser que os usuários se autentiquem por conta própria (em vez de usar uma conta de serviço), configure um ID do cliente OAuth no seu projeto do Cloud. Para fazer isso, siga estas etapas:
- Configure um ID do cliente de acordo com estas instruções.
- Atualize
static/script.js(ou um arquivo equivalente no código-fonte) para usar seu ID do cliente. - Verifique se
ee_api_js.jsestá disponível no diretório/static/(ou equivalente). Faça o download diretamente do GitHub, instale pelo npm ou, se você já tiver clonado todo o repositório da API EE, copie deearthengine-api/javascript/buildno seu sistema de arquivos local.
Configurar o ambiente de desenvolvimento local
Python
Siga as instruções em cada diretório de exemplo no GitHub para baixar e criar o
projeto. Se houver um arquivo build.sh, execute-o na pasta raiz do aplicativo
com o comando:
./build.sh
O script de configuração vai baixar dependências e instalar as ferramentas de linha de comando do Google, se elas ainda não existirem no seu sistema. A API Python do Earth Engine e as dependências dela serão copiadas para uma pasta ./lib no diretório do projeto.
Verifique se as ferramentas de linha de comando do App Engine estão disponíveis executando:
dev_appserver.py
Se o comando não for encontrado, tente baixar e instalar manualmente o SDK do Google App Engine para Python. Se o comando estiver disponível, ele vai falhar com "error: too few arguments".
Node.js
Não é necessário configurar.
Executar no local
Depois que sua conta de serviço for registrada para acesso ao Earth Engine, você poderá usá-la para autenticar (consulte config.py) ao testar os exemplos. Primeiro, teste os exemplos localmente. Para isso, acesse o diretório do projeto e execute:
Python
dev_appserver.py .
Node.js
npm install npm start
Acesse http://localhost:8080 no navegador para ver o app em execução em um servidor local. Todas as mudanças feitas (e salvas) serão capturadas automaticamente quando você atualizar a página.