CS-SI / eodag-labextension

Jupyterlab extension for EODAG search
Apache License 2.0
18 stars 2 forks source link
earth-observation eodag geographic-data gis jupyter jupyterlab labextension notebook remote-sensing satellite-imagery

eodag-labextension

JupyterLab v3 JupyterLab v3 Code style: black Binder

Searching and browsing remote sensed imagery directly from JupyterLab.

screencast

This extension is using the eodag library to efficiently search from various image providers. It can transform search results to code cells into the active Python notebook to further process/visualize the dataset.

The extension is composed of a Python package named eodag-labextension, and add a tab into the left panel of Jupyter Lab. The package consist of a Python Jupyter notebook REST service consumed by the client and served at /eodag/ or /user/<username>/eodag/ for JupyterHub (a home page is available at that URL).

Requirements

Compatibility

Install

pip install eodag-labextension

You can also uninstall it quite simply.

pip uninstall eodag-labextension

Configuration

eodag configuration file should be localized at ~/.config/eodag/eodag.yaml (see eodag documentation). Make sure that that file is configured properly.

QuickStart

You can use eodag-labextension inside a Jupyter notebook. Start Jupyter lab with jupyter lab, and in Jupyter lab open a notebook.

Search

extension logo Click on this icon in the left of JupyterLab interface to open EODAG-Labextension tab.

form

With displayed search form, you can enter search extent and following search criteria:

As search geometry you can draw multiple extents, or use none. Each extent can be a rectangle or a free polygon.

Product type is mandatory. Other criteria are optional.

Once search criteria are filled out, click on:

Settings

reload logo Click on this icon to reload EODAG configuration and take into account your updated credentials or providers settings.

settings logo Click on this icon to open EODAG-Labextension settings. You will be enable to:

settings tab

Results overview

extension popup

The results overview popup is compopsed of 3 parts:

The results table allows you to access product metadata by clicking on the desired product line. The magnifying glass button allows you to zoom in on the product's in the map view. By scrolling down in the list of results, the search is automatically restarted to retrieve the following results.

In the metadata view, clicking on the Quicklook displays it in native resolution. Clicking it again reduces its size again.

Apply to the Jupyter notebook

If the search result is correct, clicking on the "Generate code" button will insert the Python eodag code in a new cell after the selected cell of the currently open notebook. The popup is automatically closed. From there, it is possible to work in the notebook on the search results by executing the eodag search.

Here is an example of generated code:

from eodag import EODataAccessGateway, setup_logging

setup_logging(1) # 0: nothing, 1: only progress bars, 2: INFO, 3: DEBUG

dag = EODataAccessGateway()
geometry = "POLYGON ((0.550136 43.005451, 0.550136 44.151469, 2.572104 44.151469, 2.572104 43.005451, 0.550136 43.005451))"
search_results = dag.search(
  productType="S2_MSI_L1C",
  geom=geometry,
  start="2021-08-01",
  end="2021-08-11",
  cloudCover=17,
)

User manual

Please refer to the user manual notebook for results usage examples.

Contribute

Have you observed a bug while running eodag-labextension? Do you have a suggestion for a new feature?

Don't hesitate and open an issue or submit a pull request, contributions are most welcome!

For guidance on setting up a development environment and how to make a contribution to eodag-labextension, see the contributing guidelines.

Troubleshooting

If you are seeing the frontend extension, but it is not working, check that the server extension is enabled:

jupyter server extension list

If the server extension is installed and enabled, but you are not seeing the frontend extension, check the frontend extension is installed:

jupyter labextension list

To submit an issue, please go to github issues.

License

This software is licensed under Apache License v2.0. See LICENSE file for details.

Copyright 2022 CS GROUP - France All rights reserved