Os recursos do Earth Engine são dados geoespaciais do projeto armazenados na plataforma. Você pode fazer upload dos seus próprios dados e armazenar dados produzidos nas análises do 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 de informações geográficas baseada em grade em que cada célula da grade contém um valor correspondente a um local específico na superfície da Terra. |
ImageCollection |
Uma coleção de imagens raster relacionadas que constituem um mosaico ou uma série temporal. Ele é 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 deles 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 em apps do Earth Engine. |
Folder |
Um contêiner para recursos e pastas adicionais 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 aos sistemas de arquivos comuns.
Raiz
Os recursos são de um projeto do Cloud. O nome do projeto define a raiz do
diretório de recursos. 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) nela.
Diretório
O Earth Engine usa uma estrutura de diretório semelhante a uma árvore para organizar os recursos. Cada projeto do Cloud tem um diretório raiz que pode conter recursos e pastas individuais. As coleções de imagens 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/
- pasta nome-da-pasta/
- photo image-name
- view_comfy nome-da-tabela
- satellite featureview-name
- bubble_chart nome-classificador
- 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 locais de 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". Confira 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-asset
Criar recursos
É possível criar pastas e ImageCollections e transferir imagens e tabelas de arquivos locais ou de um bucket do Google Cloud Storage. Os formatos de imagem
com suporte incluem GeoTIFF (padrão e COG) e TFRecord. Os formatos de tabela aceitos incluem Shapefile e CSV. Também é possível criar recursos ao exportar um resultado de análise do Earth Engine usando funções de lote Export.*.toAsset
.
Cliente Python
Imagem
Use a função ee.data.startIngestion
para transferir 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 fazer upload ou criar na lista de opções. Configure o upload ou a criação de recursos 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.tif
earthengine 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 vazias ou ImageCollections.
earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name
Imagem externa
Os arquivos GeoTIFF (COG) otimizados para a nuvem que você envia para um bucket do Google Cloud Storage podem ser registrados como recursos de imagem externos e usados diretamente no Earth Engine. Consulte os documentos de referência para mais informações sobre os recursos com suporte do COG e a criação de um manifesto.
earthengine alpha upload external_image --manifest /tmp/foo.json
Listar 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 conferir os recursos.
Linha de comando
Use o comando earthengine ls
para listar recursos em uma pasta ou coleção (não recursivo). Consulte a
documentação de referência para mais informações sobre como limitar o número de recursos a
listar e os detalhes de valor a serem retornados.
earthengine ls projects/my-project/assets
Definir 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 compartilhar. 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 ADD ACCESS para confirmar a mudança. Marque a caixa "Qualquer pessoa pode ler" para conceder permissão de leitura a qualquer entidade. Também é possível fornecer acesso aos apps do Earth Engine na caixa de diálogo selecionando o nome do app na lista suspensa (ativos pertencentes ao projeto ativo do Code Editor).
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-name
Use o comando earthengine acl ch
para definir permissões individuais para leitura e gravação de recursos.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name
Consulte 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 compartilhar. 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-name
Copiar 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 os 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-name
Mover 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 editar 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-name
Excluir 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 clique no botão DELETE.
Linha de comando
Use o comando earthengine rm
para excluir um recurso. Consulte a referência da função para conferir as opções recursivas e
de simulação.
earthengine rm projects/my-project/assets/asset-name
Conferir metadados do recurso
Cliente Python
Use a função ee.data.getAsset
para acessar os 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 acessar os metadados do recurso.
earthengine asset info projects/my-project/assets/asset-name
Definir metadados do recurso
Os seguintes metadados do recurso podem ser definidos:
start_time
end_time
properties
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 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 a cota de recursos
A cota é aplicada no nível do projeto. Saiba mais sobre a cota de recursos na página 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.