Os recursos do Earth Engine são dados geoespaciais de propriedade do projeto armazenados na plataforma. É possível fazer upload dos seus próprios dados e armazenar dados produzidos pelas análises do Earth Engine como recursos.
Tipos de recursos
O Earth Engine oferece vários formatos de recursos para diferentes tipos de dados, além de elementos de contêiner para organização.
| Tipos de recursos | |
|---|---|
Image |
Um raster, uma representação baseada em grade de informações geográficas em que cada célula na grade contém um valor correspondente a um local específico na superfície da Terra. |
ImageCollection |
Uma coleção de imagens rasterizadas relacionadas que constituem um mosaico ou uma série
temporal. É funcionalmente semelhante a uma pasta, mas pode ser importado para o
Earth Engine como um objeto ee.ImageCollection, que inclui um
conjunto de métodos para filtragem e análise. |
Table |
Uma estrutura de dados de tabela composta por elementos vetoriais (linhas), cada um
contendo uma série de propriedades (colunas). Ele é representado pelo objeto ee.FeatureCollection, que inclui um conjunto de métodos para filtragem e análise. |
Classifier |
Um modelo de machine learning treinado do Earth Engine. Ele é representado pelo objeto ee.Classifier |
FeatureView |
Uma visualização de uma tabela para uso nos apps do Earth Engine. |
Folder |
Um contêiner para recursos e outras pastas que ajudam na organização. |
Organização de recursos
Os recursos do Earth Engine são organizados em um sistema hierárquico de pastas e coleções. A estrutura é semelhante à de sistemas de arquivos comuns.
Raiz
Os ativos pertencem a um projeto na nuvem. O nome do projeto define a raiz do diretório de assets. Por exemplo, a raiz de my-project é
projects/my-project/assets.
Todos os recursos que pertencem a my-project estão na pasta projects/my-project/assets ou em uma subpasta (ou ImageCollection) dentro dela.
Diretório
O Earth Engine usa uma estrutura de diretórios em árvore para organizar os recursos. Cada projeto na nuvem tem um diretório raiz que pode conter recursos e pastas individuais. As ImageCollections são um tipo de recurso especial projetado especificamente para armazenar conjuntos de imagens relacionadas, como séries temporais ou mosaicos. Ao contrário das pastas, as ImageCollections só podem conter recursos de imagem e não podem aninhar outras pastas ou coleções.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- photo image-name
- view_comfy table-name
- satellite featureview-name
- bubble_chart classifier-name
- photo_library imagecollection-name/
- photo image-name-1
- photo image-name-2
Código do recurso
O Earth Engine usa IDs de recursos para referenciar dados em scripts e operações de linha de comando. Eles definem os locais dos recursos usando barras (/) como separadores
entre diretórios. Por exemplo,
projects/my-project/assets/my-asset especifica um recurso chamado
"my-asset" localizado na raiz "my-project". Veja um
exemplo de como usar esse ID para receber informações sobre o recurso.
Python
print(ee.data.getAsset('projects/my-project/assets/my-asset'))
Editor de código
print(ee.Image('projects/my-project/assets/my-asset'))
Linha de comando
earthengine asset info projects/my-project/assets/my-assetCriar recursos
É possível criar pastas e ImageCollections e ingerir imagens e tabelas
de arquivos locais ou de arquivos em um bucket do Google Cloud Storage. Os formatos de imagem
compatíveis incluem GeoTIFF e TFRecord. Os GeoTIFFs otimizados para nuvem (COGs, na sigla em inglês) no Cloud
Storage também podem ser registrados no local em vez de serem ingeridos. Os formatos de tabela compatíveis incluem Shapefile e CSV. Os recursos também podem ser criados
exportando um resultado de análise do Earth Engine
usando as funções em lote Export.*.toAsset.
Cliente Python
Imagem
Use a função ee.data.startIngestion para ingerir imagens do Cloud Storage. Consulte a página
manifesto de imagem
para mais informações sobre como configurar o upload.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'tilesets': [
{
'sources': [
{
'uris': [
'gs://my-bucket/filename.tif'
]
}
]
}
]
}
ee.data.startIngestion(None, manifest)
Tabela
Use a função ee.data.startTableIngestion para ingerir tabelas do Cloud Storage. Consulte a página
manifesto de imagem
para mais informações sobre como configurar o upload.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
Pasta ou ImageCollection
Use a função ee.data.createAsset
para criar pastas ou ImageCollections vazias.
ee.data.createAsset(
{'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
'projects/my-project/assets/asset-name'
)
Editor de código
No Gerenciador de recursos, clique no botão NOVO e selecione o tipo de recurso que você quer enviar ou criar na lista suspensa. Configure o upload ou a criação do recurso na caixa de diálogo.
Linha de comando
Imagem ou tabela
earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tifearthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv
Pasta ou ImageCollection
Use o comando earthengine create
para criar pastas ou ImageCollections vazias.
earthengine create folder projects/my-project/assets/folder-nameearthengine create collection projects/my-project/assets/collection-name
Imagem externa
Os arquivos GeoTIFF otimizados para nuvem (COG, na sigla em inglês) em um bucket do Cloud Storage podem ser registrados como recursos com suporte de COG (chamados de imagens externas na API) e usados diretamente no Earth Engine. Consulte o guia de registro do COG para criar um manifesto.
earthengine upload external_image --manifest /tmp/foo.jsonListar recursos
Cliente Python
Use a função ee.data.listAssets
para listar recursos em uma pasta ou coleção (não recursiva).
Consulte os documentos de referência para mais informações sobre filtragem e paginação.
ee.data.listAssets('projects/my-project/assets')
Consulte também ee.data.listImages e
ee.data.listFeatures.
Editor de código
Abra as pastas no Gerenciador de recursos para ver os recursos.
Linha de comando
Use o comando earthengine ls
para listar recursos em uma pasta ou coleção (não recursiva). Consulte a
documentação de referência para mais informações sobre como limitar o número de recursos a serem
listados e a quantidade de detalhes a serem retornados.
earthengine ls projects/my-project/assetsDefinir permissões de recursos
Cliente Python
Use a função ee.data.setAssetAcl
para definir permissões em um recurso.
asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
'owners': [
'user:big_cheese@example.com',
'user:el_jefe@example.com'
],
'writers': [
'user:romeo@example.com',
'user:juliet@example.com'
],
'readers': [
'group:some-group@googlegroups.com',
'domain:example.com',
'serviceAccount:some-project-id@appspot.gserviceaccount.com'
],
'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)
Editor de código
No Gerenciador de recursos, mantenha o ponteiro sobre um recurso e clique no ícone de compartilhamento. Na caixa de diálogo, insira um endereço de e-mail ou domínio para compartilhar o recurso e selecione um nível de permissão na lista suspensa. Clique no botão ADICIONAR ACESSO para confirmar a mudança. Marque a caixa "Qualquer pessoa pode ler" para conceder permissão de leitura a qualquer entidade. Você também pode conceder acesso aos apps do Earth Engine na caixa de diálogo selecionando o nome do app na lista suspensa (recursos de propriedade do projeto ativo do Editor de Código).
Linha de comando
Use o comando earthengine acl set para definir o acesso de leitura de um recurso como
public ou private.
earthengine acl set public projects/my-project/assets/asset-nameUse o comando earthengine acl ch para definir permissões individuais de leitura e gravação de recursos.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-nameConsulte a página de referência da linha de comando para mais detalhes.
Verificar as permissões de recursos
Cliente Python
Use a função ee.data.getAssetAcl
para buscar a lista de controle de acesso de um recurso.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
Editor de código
No Gerenciador de recursos, mantenha o ponteiro sobre um recurso e clique no ícone de compartilhamento. A caixa de diálogo mostra uma lista de e-mails e domínios com os respectivos níveis de acesso.
Linha de comando
Use o comando earthengine acl get
para buscar a lista de controle de acesso de um recurso.
earthengine acl get projects/my-project/assets/asset-nameCopiar recursos
Cliente Python
Use a função ee.data.copyAsset
para copiar um recurso.
ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')
Editor de código
Use o cliente Python ou a ferramenta de linha de comando para copiar recursos.
Linha de comando
Use o comando earthengine cp
para copiar um recurso.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-nameMover ou renomear recursos
Cliente Python
Use a função ee.data.renameAsset
para mover ou renomear um recurso.
ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')
Editor de código
Mover
No Gerenciador de recursos, arraste um recurso para uma nova pasta.
Renomear
No Gerenciador de recursos, mantenha o ponteiro sobre um recurso, clique no ícone de edição e digite um novo nome no campo de entrada editável.
Linha de comando
Use o comando earthengine mv para mover ou renomear um recurso.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-nameExcluir recursos
Cliente Python
Use a função ee.data.deleteAsset
para excluir um recurso.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
Editor de código
Clique em um recurso para abrir a página de diálogo dele e, em seguida, clique no botão EXCLUIR.
Linha de comando
Use o comando earthengine rm
para excluir um recurso. Consulte a referência de função para opções recursivas e de simulação.
earthengine rm projects/my-project/assets/asset-nameVer metadados do recurso
Cliente Python
Use a função ee.data.getAsset para receber metadados do recurso.
ee.data.getAsset('projects/my-project/assets/asset-name')
Editor de código
Clique em um recurso para abrir a página de diálogo dele. Confira as informações do recurso.
Linha de comando
Use o comando earthengine asset info para receber metadados do recurso.
earthengine asset info projects/my-project/assets/asset-nameDefinir metadados do recurso
É possível definir os seguintes metadados de recursos:
start_timeend_timeproperties
Cliente Python
Use a função ee.data.updateAsset
para atualizar os metadados do recurso.
asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
'properties': {
'name': 'value'
},
'start_time': '2024-10-02T15:01:24Z',
'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']
ee.data.updateAsset(asset_id, new_metadata, update_these)
Editor de código
Clique em um recurso para abrir a página de diálogo dele e ative o botão de edição no canto superior direito. É possível editar a descrição, as propriedades e as datas de início e término. Desative o botão de edição para salvar as mudanças.
Linha de comando
Use o comando earthengine asset set para atualizar os metadados do recurso. Consulte os documentos de referência para mais
informações.
earthengine asset set \
--time_start 2024-10-02T15:01:24 \
--time_end 2024-10-02T15:01:25 \
--property 'name=value' \
projects/my-project/assets/asset-name
Verificar cota de recursos
A cota é aplicada no nível do projeto. Saiba mais sobre a cota de recursos na página de limites de uso e cota.
Cliente Python
Use a função ee.data.getAssetRootQuota
para conferir o uso da cota de armazenamento de uma raiz de recursos.
ee.data.getAssetRootQuota('projects/my-project/assets')
Editor de código
No Gerenciador de recursos, mantenha o ponteiro sobre a raiz de um projeto e clique no ícone data_usage. Uma caixa de diálogo de informações vai aparecer.
Linha de comando
Use o cliente Python ou o editor de código para verificar a cota de recursos.