Closed joaofelipecsantos closed 3 years ago
Olá @joaofelipecsantos,
Nos ultimos dias, essa coleção Sentinel-2 Level-1 (S2_L1C-1
) estava passando por algumas mudanças internas e ficou indisponível.
Por favor, verifique novamente com o trecho de código que mencionou e deve funcionar.
Desculpe o transtorno.
@raphaelrpl
A opção para Sentinel-2 Level-1 agora está ativa, obrigado. Porém, não consigo carregar nenhuma banda.
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-63-3313b17a066b> in <module>
----> 1 xarray = bdc2xray(bdc_stac, data_source, bbox, timeline, my_bands)
<ipython-input-49-55688415cc03> in bdc2xray(stac, collection, bbox, time, bands)
84
85 for item in range(len(items.features)):
---> 86 dataarray = file_to_da(items.features[item].assets[band]['href'], box )
87 list_of_data_arrays.append(dataarray)
88
KeyError: 'NDVI'
# Data source
data_source = 'CB4_64_16D_STK-1' # Aqui eu substituí pelo 'S2_L1C-1'
w = -45.90 n = -12.20 e = -45.20 s = -12.90 bbox = ( w,s,e,n )
my_bands = ['NDVI'] # Aqui eu tentei para o Sentinel-2 Level-1 diferentes bandas: NDVI, B04, B08, etc.
start_date: '2018-09-01' end_date: '2018-12-31' timeline = f'{start_date}/{end_date}'
Alguma sugestão?
Se você preferir "fechar" esse issue que está resolvido, eu posso começar um novo com esse outro issue.
Obrigado pela ajuda.
@raphaelrpl ,
Rodei o Sentinel-2 Level-1 no código do stac introduction. Na parte do código abaixo:
for k in assets.keys():
print(k)
Ele me retorna as seguintes informações (para o Sentinel-2 Level-1) Out: asset thumbnail
Quando faço o mesmo código para o CBERS o output é: Out: EVI NDVI CMASK BAND13 BAND14 BAND15 BAND16 CLEAROB TOTALOB thumbnail PROVENANCE
Quando eu coloco uma banda que não existe no assets.keys() do CBERS para procurar (um teste) a mensagem de erro que eu recebo é a mesma que eu recebo com o Sentinel-2 Level-1. Parece que o problema está nesse assets do Sentinel-2 Level-1 que não tem as informações das bandas (eu acho).
Espero ter ajudado um pouco com essa informação.
@joaofelipecsantos,
Na verdade, as coleções Level-1 (Sentinel S2 S2_L1C-1
ou Landsat-8 LC8_DN-1
) possuem apenas os assets thumbnail
e asset
. A chave asset
consiste
no arquivo comprimido .zip
(Sentinel-2 mantido pela ESA Copernicus SciHub) ou .tar.gz
(Landsat-8 mantido pela USGS). Logo, se você necessita acessar alguma banda em especifico, é necessário o download desse item feature.download()
e a extração manual do arquivo comprimido. A especificação do STAC nos permite descrever como é o dado e as bandas do mesmo, mas não necessariamente toda banda descrita precisa existir no escopo de assets
.
Além disso, não era para conter essa chave de indice NDVI
, EVI
nessa coleção. Irei repassar para o pessoal responsavel para corrigir essa metadado no nosso catalogo. Muito obrigado pela informação :)
Para acesso as bandas de indice espectrais, temos a coleção Level-2 SR para Sentinel-2 (S2_MSI_L2_SR_LASRC-1
)
@raphaelrpl ,
Obrigado Raphael pela informação! Me desculpa, mas tenho outra dúvida aqui, tudo bem?
Fui procurar imagens para a minha área de interesse e período de interesse. No código do stac introduction usei o comando abaixo:
items = collection.get_items(
filter={
'bbox':'-50.453362,-29.531077,-50.360118,-29.468340',
'datetime':'2016-12-01/2017-01-30',
'limit':10
}
)
items
Esse código me retornou 1 resultado. Achei estranho porque nessa época tinha somente o Sentinel-2A, mas mesmo assim, deveria ter frequência de amostragem de 10 dias. Então fui no SciHub e no CREODIAS e fiz a mesma busca para minha região (granule T22JEN) e mesmo período. Nesses sites tive 9 resultados. Pensei que fosse algum critério de cobertura de nuvens usado no BDC, mas a imagem disponível no BDC tem 96% de nuvem e existem imagens com 16%, 22% e 0% de nuvens nos resultados do SciHub Copernicus e CREODIAS. Algum motivo para ter encontrado somente 1 resultado ao inves de 9 resultados?
Fiz a mesma coisa usando o S2_MSI_L2_SR_LASRC-1
e para essa coleção não obtive resultado. Mas já adianto que usando o site do BDC existe 1 resultado de Level-2 que vem do processamento do resultado que obtive antes do Level-1.
Fui rodar os mesmos critérios no stmetrics. No notebook do stmetrics me retorna o erro abaixo:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-110-3313b17a066b> in <module>
----> 1 xarray = bdc2xray(bdc_stac, data_source, bbox, timeline, my_bands)
<ipython-input-106-55688415cc03> in bdc2xray(stac, collection, bbox, time, bands)
84
85 for item in range(len(items.features)):
---> 86 dataarray = file_to_da(items.features[item].assets[band]['href'], box )
87 list_of_data_arrays.append(dataarray)
88
<ipython-input-106-55688415cc03> in file_to_da(filepath, bbox, crop)
36
37 #find datetime
---> 38 match = re.findall(r'\d{4}-\d{2}-\d{2}', filepath)[-1]
39 da.coords['time'] = match
40
IndexError: list index out of range
Será que a função de busca no stmetrics não está funcionando por algum motivo para o Sentinel-2? Porque fazendo para o Landsat-8 Level-2 funciona normalmente.
Por fim, fiz a mesma busca no BDC web browser. No site me retornou 1 resultado tanto para o Sentinel-2 Level-1 quanto Level-2. O resultado foi a mesma imagem encontrada pelo código do stac introduction (5 de janeiro de 2017 granule 22JEN).
Resumindo: isso é mais uma observação para informar que os resultados não batem dependendo de qual script eu estou usando (stac ou stmetrics) e que no site consigo 1 resultado (mas que deveriam ser 9 resultados comparados com o SciHub Copernicus).
Novamente, muito obrigado pela atenção e ajuda. Espero ter ajudado vocês em algo.
Sobre os produtos de dados, estamos trabalhando para trazer toda série histórica do Sentinel-2 L1C e ser disponibilizado em nosso catálogo. O desafio é o grande volume de dados e estamos sempre atualizando. Embora a timeline aponte 2015-09, isso apenas reflete em algumas micro regiões do Brasil. Essa área em específico, temos outros periodos apenas o L1C. Para o Landsat-8, temos todos os produtos Digital Number e Surperficie de Reflectância de 2016/01 até 2021/04 para o Brasil.
Foi muito bom ter levantado esses pontos, e nos ajudou muito nesses pequenos detalhes que passam despercebidos. Obrigado :smile:
Muito obrigado pela ajuda e explicação.
Issue:
Etapas:
Esperado:
Observações:
Sistema:
Obrigado pela ajuda.