Apps do Earth Engine

Introdução

Os apps do Earth Engine são interfaces de usuário dinâmicas e compartilháveis para análises do Earth Engine. Com os apps, os especialistas podem usar elementos simples da interface do usuário para aproveitar o catálogo de dados e o poder analítico do Earth Engine, para que especialistas e não especialistas possam usá-los.

Os apps publicados no Earth Engine podem ser acessados pelo URL específico do aplicativo gerado no momento da publicação. Não é necessário ter uma conta do Earth Engine para visualizar ou interagir com um app publicado. Os apps selecionados como destaque pelo criador também estão disponíveis em uma Galeria de Apps específica do usuário (por exemplo, USERNAME.users.earthengine.app).

Criar o app

Os apps do Earth Engine podem aproveitar a maioria das mesmas funções usadas no editor de código, com algumas exceções. Além disso, projetamos a API de interface do usuário pensando nos desenvolvedores de apps. Se você não conhece a API User Interface, confira a visão geral da API UI.

Como publicar seu app

Para publicar um app no editor de código, primeiro carregue o script que você quer transformar em um app e abra o painel de gerenciamento de apps, que pode ser acessado clicando no botão Apps acima da seção de script no editor de código.

Botão "Gerenciar apps"
Botão do app Gerenciar apps

Em seguida, clique no botão NEW APP.

Botão de novo app
Botão "Novo app"

Na caixa de diálogo, escolha o acesso de edição, um nome para o app, selecione um projeto do Google Cloud e especifique o local do código-fonte do app. Restrinja o acesso a este app a um Grupo do Google específico ou mantenha o acesso público usando as opções na guia "Restrição". Para apps acessíveis ao público, também é possível fornecer uma imagem de prévia personalizada para o app, além de uma descrição na guia "Galeria". Clique em "Destacar este app na sua Galeria de Apps" se quiser que ele apareça na sua galeria pública de apps disponível em USERNAME.users.earthengine.app. Se quiser, inclua um logotipo personalizado no canto superior esquerdo do app. Para isso, faça upload de uma imagem na guia "Logotipo".

Escolher o acesso de edição
Escolha o acesso de edição: escolha quem pode editar o app.
Publicar um app, nome e URL
Publique um app: escolha um nome, um ID do app e um projeto na nuvem.
Publicar um app, código-fonte
Publicar um app: selecione o código-fonte do app
Publicar um app, detalhes da publicação
Publicar um app: escolha opções como destacar o app na sua galeria, restrições de acesso e logotipo personalizado

Como gerenciar seus aplicativos

Para gerenciar um app no editor de código, abra o painel de gerenciamento de apps clicando no botão Apps acima da seção de script no editor de código. Aqui, é possível atualizar a configuração do app ou excluí-lo.

Gerenciar apps
Gerenciar apps

Colaborar com outras pessoas em apps de propriedade do projeto

Por padrão, os apps que você publica com seu nome de usuário só podem ser editados por você. A colaboração em apps é possível com apps de propriedade do projeto. Os apps de propriedade do projeto são apps que pertencem e são publicados em um projeto na nuvem. Qualquer pessoa com o papel do IAM de editor de apps do Earth Engine pode editar e excluir apps publicados no projeto na nuvem. Saiba mais sobre os papéis do IAM do Earth Engine aqui.

Para ativar os apps de propriedade do projeto, escolha a opção Projeto na nuvem na etapa "Escolher acesso de edição" e selecione o projeto na nuvem que você quer usar. Em seguida, conclua o fluxo de publicação do app normalmente. O app será publicado no domínio PROJECT-ID.projects.earthengine.app e poderá ser editado por qualquer pessoa que tenha o papel de IAM de editor de apps do Earth Engine no projeto na nuvem.

Publicar um app de propriedade do projeto
Publicar um app de propriedade do projeto

Para ver os apps de um projeto na nuvem, pressione o botão ADICIONAR PROJETO NA NUVEM e selecione o projeto na nuvem.

Adicionar um projeto na nuvem
Adicionar um projeto na nuvem

Para compartilhar o projeto na nuvem com outras pessoas, pressione o botão COMPARTILHAR PROJETO. Isso vai levar você à página do IAM do console do Cloud para o projeto, onde é possível conceder aos colaboradores o papel de IAM de editor de apps do Earth Engine.

Ativar apps de propriedade do projeto
Editar e excluir apps de propriedade do projeto

Perguntas frequentes

Como faço para remover um app da Galeria de Apps?
A caixa de seleção "Destacar este app" na página de configuração do app controla se um app aparece ou não na página "Apps em destaque". Os apps com acesso restrito não podem ser destacados.
Meu código do Earth Engine está visível?
Sim, para qualquer pessoa que possa acessar o app. Embora não seja claramente visível quando o app é publicado, é bastante fácil para alguém visualizar o JavaScript do app observando o tráfego de rede para o navegador da Web. No Chrome, por exemplo, o JavaScript fica visível no painel Network das Ferramentas para Desenvolvedores.
Quais são as possíveis causas do erro "Ocorreu um erro ao carregar algumas partes do mapa" para um app publicado?
Verifique se todos os recursos de imagem ou tabela usados no app estão compartilhados publicamente ou com o app. Na caixa de diálogo de compartilhamento de recursos, selecione a opção "Qualquer pessoa pode ler" ou escolha o nome do app na lista suspensa. Para apps restritos a um Grupo do Google, compartilhar um recurso com esse grupo não o torna visível para o app. Em vez disso, os recursos precisam ser compartilhados com o app ou publicamente.
Por que vejo uma página informando que o app ainda não está pronto?
Depois que um app é criado, pode levar algum tempo para que as informações sejam propagadas pelo sistema. Isso geralmente é resolvido em alguns minutos. Se o erro persistir, entre em contato para receber ajuda.
Por que as geometrias desenhadas aparecem no meu app?
Isso facilita a exibição de geometrias de referência no app e permite criar apps em que os usuários podem editar as geometrias. Se você não quiser que determinadas geometrias sejam mostradas ou editadas, oculte ou bloqueie camadas de geometria individuais para impedir que os usuários as vejam ou editem antes de publicar o app. Consulte a documentação das ferramentas de geometria para saber mais.
O que é a cota do app?
Para evitar que scripts errados ou que consomem muitos recursos afetem negativamente a disponibilidade do serviço, o Earth Engine tem cotas de uso de apps em consultas simultâneas. Essa cota funciona de maneira semelhante à cota por usuário do Earth Engine, mas está vinculada ao app, e não a um usuário específico.
Cada app que eu criar tem uma cota própria?
Sim, uma cota separada é associada a cada app. Para apps mais antigos criados com uma chave de API, a cota é vinculada ao projeto na nuvem em que você gera a chave de API de um app. Se você gerar várias chaves de API no mesmo projeto na nuvem, todas elas vão compartilhar a mesma cota de uso.
Por que é necessário ter uma conta do Cloud Billing? Vou receber cobranças pelos meus apps?
Usamos o Google Cloud Platform para várias tarefas em segundo plano. Não há cobrança pela criação de um app do Earth Engine. No entanto, o Google Cloud Storage não é sem custo financeiro. Portanto, se você optar por exportar os resultados das suas análises para o Google Cloud Storage, pode haver uma taxa associada.
Como posso entender melhor o uso e a cota dos meus apps?

Se a cota for excedida, o Earth Engine poderá retornar erros HTTP 429: Too Many Requests. Em geral, esses erros são tratados pela biblioteca de cliente do Earth Engine, que envolve as solicitações em uma espera exponencial, repetindo a consulta até que ela seja bem-sucedida. A biblioteca de cliente do Earth Engine vai tentar fazer a solicitação cinco vezes.

Se o app se tornar tão popular que muitos usuários recebam erros de cota excedida, eles vão ver uma mensagem de aviso, e o Earth Engine talvez precise restringir (temporariamente) o acesso ao app.

Para evitar erros 429, ative o armazenamento em cache para seu aplicativo, por exemplo, armazenando estatísticas agregadas que podem ser armazenadas em cache como recursos de tabela do Earth Engine, em vez de calculá-las em tempo real.