Confira a extensão EODAG Jupyterlab : eodag-labextension! Isso trará uma interface amigável para o seu notebook e ajudará você a pesquisar e navegar por produtos EO usando eodag
.
EODAG (Earth Observation Data Access Gateway) é uma ferramenta de linha de comando e uma estrutura Python orientada a plug-ins para pesquisar, agregar resultados e baixar imagens de sensoriamento remoto, ao mesmo tempo que oferece uma API unificada para acesso a dados, independentemente do provedor de dados. O EODAG SDK está estruturado em torno de três funções:
Listar tipos de produtos: lista de produtos suportados e sua descrição
Pesquisar produtos (por tipo de produto ou uid): pesquisa produtos de acordo com os critérios de pesquisa fornecidos
Baixar produtos: baixe o produto “como está”
EODAG é desenvolvido em Python. Está estruturado segundo uma arquitetura modular de plugins, facilmente extensível e capaz de integrar novos provedores de dados. Três tipos de plugins compõem a ferramenta:
Plugins de pesquisa de catálogo, responsáveis por pesquisar dados (OpenSearch, CSW, ...), construir caminhos, recuperar quicklook, combinar resultados
Plugins de download, permitindo baixar e recuperar dados localmente (via FTP, HTTP, ..), sempre com a mesma organização de diretórios
Plugins de autenticação, que servem para autenticar o usuário nos serviços externos utilizados (JSON Token, Basic Auth, OAUTH, ...).
Desde a v2.0, o EODAG pode ser executado como cliente ou servidor STAC.
Leia a documentação para obter mais informações.
EODAG está disponível no PyPI:
python -m pip instalar eodag
E com conda
do canal conda-forge:
conda install -c conda-forge eodag
Importante
Mudança significativa na v3.0.0 : observe que o EODAG vem com um conjunto mínimo de dependências. Se você quiser mais recursos, instale usando um dos extras disponíveis.
Para fazer o download, você precisará preencher suas credenciais dos provedores desejados em seu arquivo de configuração do usuário eodag. O arquivo será criado automaticamente com valores vazios na primeira execução.
Exemplo de uso para interagir com a API em seu código Python:
de eodag import EODataAccessGatewaydag = EODataAccessGateway()search_results = dag.search(productType='S2_MSI_L1C',geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # aceita Polígonos WKT, geometria bem torneada, ...start='2021-01-01',end='2021-01-15')product_paths = dag.download_all(search_results)
Isso pesquisará produtos Sentinel 2 nível 1C no provedor padrão e retornará a primeira página dos produtos encontrados e um número total estimado de produtos que correspondem aos critérios de pesquisa. E então ele fará o download desses produtos. Consulte o Guia do usuário da API Python para obter mais detalhes.
Importante
Mudança significativa na v3.0.0 : o método search() agora retorna apenas um único SearchResult
em vez de uma tupla de 2 valores.
Uma instância eodag pode ser exposta por meio de uma API REST compatível com STAC na linha de comando ( eodag[server]
necessário):
$ eodag serve-rest --help Uso: eodag serve-rest [OPÇÕES] Inicie o servidor HTTP eodag Defina a variável de ambiente EODAG_CORS_ALLOWED_ORIGINS para configurar Cross- O Compartilhamento de Recursos de Origem permitia origens como URLs separados por vírgula (por exemplo, 'http://algum lugar,htttp://algum lugar.else'). Opções: -f, --config PATH Caminho do arquivo de configuração do usuário com seu credenciais, o padrão é ~/.config/eodag/eodag.yml -l, --locs PATH Caminho do arquivo para o arquivo de configuração dos shapefiles de localização -d, --daemon executado no modo daemon -w, --world executa o uvicorn usando IPv4 0.0.0.0 (todas as interfaces de rede), caso contrário, ligue-se a 127.0.0.1 (localhost). -p, --port INTEIRO A porta na qual escutar [padrão: 5000] --debug Executa em modo de depuração (para fins de desenvolvimento) --help Mostre esta mensagem e saia.# execute server$ eodag serve-rest# liste os tipos de produtos disponíveis para o provedor ``peps``:$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id""S1_SAR_GRD""S1_SAR_OCN""S1_SAR_SLC""S2_MSI_L1C""S2_MSI_L2A"# procure por itens$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" | jq ".numberMatched"6# obtenha link de download$ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" | jq ".features[0].assets.downloadLink.href""http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"# download$ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
eodag-server
está disponível em https://hub.docker.com/r/csspace/eodag-server:
docker run -p 5000:5000 --rm csspace/eodag-server:3.0.1
Você também pode navegar no servidor STAC API usando o STAC Browser. Basta executar:
clone do git https://github.com/CS-SI/eodag.gitcd eodag docker-compose up# ou para um registro mais detalhado:EODAG_LOGGING=3 docker-compose up
E navegue em http://127.0.0.1:5001:
Para obter mais informações, consulte Uso da API REST do STAC.
Comece a brincar com a CLI:
Para pesquisar alguns produtos:
pesquisa eodag --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
A solicitação acima procura tipos de produtos S2_MSI_L1C
em uma determinada caixa delimitadora, em março de 2021. Ela salva os resultados em um arquivo GeoJSON ( search_results.geojson
por padrão).
Os resultados são paginados, você pode querer obter todas as páginas de uma vez com --all
, ou pesquisar produtos com 20% de cobertura máxima com --cloudCover 20
. Para mais informações sobre as opções disponíveis:
pesquisa eodag --help
Para baixar o resultado da chamada anterior para pesquisa:
download eodag --resultados de pesquisa search_results.geojson
Para baixar apenas os resultados da chamada anterior para pesquisa:
download eodag --quicklooks --resultados de pesquisa search_results.geojson
Para listar todos os tipos de produtos disponíveis e fornecedores suportados:
lista eodag
Para listar os tipos de produtos disponíveis em um fornecedor compatível especificado:
lista eodag -p creodias
Para ver todas as opções e comandos disponíveis:
eodag --ajuda
Para imprimir mensagens de log, adicione -v
ao comando eodag master. por exemplo, eodag -v list
. Quanto mais v
for fornecido (até 3), mais detalhada será a ferramenta. Para uma saída detalhada completa, faça por exemplo: eodag -vvv list
Você identificou um erro de digitação em nossa documentação? Você observou um bug ao executar o EODAG? Você tem uma sugestão para um novo recurso?
Não hesite e abra um problema ou envie uma solicitação pull, contribuições são muito bem-vindas!
Para obter orientação sobre a criação de um ambiente de desenvolvimento e como contribuir para a eodag, consulte as diretrizes de contribuição.
EODAG é licenciado sob licença Apache v2.0. Consulte o arquivo LICENSE para obter detalhes.
A EODAG foi criada pelo CS GROUP - França.
O EODAG é construído com base em projetos de código aberto incrivelmente úteis. Consulte o arquivo NOTICE para obter detalhes sobre esses projetos e suas licenças. Obrigado a todos os autores desses projetos!