Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: STAC compliance #29

Closed
3 tasks done
remi-braun opened this issue Mar 16, 2022 · 7 comments
Closed
3 tasks done

ENH: STAC compliance #29

remi-braun opened this issue Mar 16, 2022 · 7 comments
Labels
enhancement New feature or request

Comments

@remi-braun
Copy link
Member

remi-braun commented Mar 16, 2022

It could be nice to make eoreader compliant with STAC item format, by:

  • Changing the attributes names (i.e. extent to bbox, footprint to geometry)
  • Creating a to_stac() function for every product
  • Create a stac attribute implementing all STAC relevant features but keep legacy EOReader functions (footprint, extent...)
  • Changing band names
  • Add informations to the bands (centrale wavelength, bandwidth, gsd, ...)
@remi-braun remi-braun added the enhancement New feature or request label Mar 16, 2022
@remi-braun
Copy link
Member Author

remi-braun commented Mar 16, 2022

Add ESA resolution category (VHR1/2, HR1/2, OTHER)

Not relevant as SAR sensor can acquire in several resolution categories

@remi-braun
Copy link
Member Author

remi-braun commented Mar 18, 2022

  • Use this changes to create a band object overloading bands and index (no more wild functions/enum)

@remi-braun
Copy link
Member Author

remi-braun commented Mar 25, 2022

Create namedtuples for STAC extensions in the STAC attribute:

  • prod.proj for proj extension with projected data (i.e. call the projected bbox like prod.proj.bbox)
  • prod.view for view extension
  • prod.cloud_cover for cloud cover from the eo extension
  • Enrich the band_names attribute (change name to bands) with everything here

@remi-braun
Copy link
Member Author

remi-braun commented Apr 8, 2022

  • In the band object, add the output radiometric processing aimed, either reflectance or brilliance temperature.

@remi-braun remi-braun added 0.15.0 and removed 0.14.0 labels Apr 14, 2022
remi-braun added a commit that referenced this issue Apr 26, 2022
…ate**

- **BREAKING CHANGES: File `alias` is removed, replaced by `*_bands` files and proper imports in `bands.__init__`**
- **BREAKING CHANGES: Product attribute `band_names` becomes `bands` in order to be STAC compliant (#29)**
- **BREAKING CHANGES: Better use of `NIR` and `NARROW_NIR` in the `indices` file (according to the gsd of `Sentinel-2` bands composing the indices)**

- **ENH: Bands in mapping are now objects, instead of just IDs** (#29). This allows us to:
    - Add band metadata (such as center wavelength, bandwidth...)
    - Map spectral bands between STAC spec and EOReader format
    - Add a better `__repr__` functions
- **ENH: Handling 8 bands `PlanetScope` data** (#20)
- **ENH: Adding the `GREEN1` mapped band, corresponding to PlanetScope `GREEN I` and `Sentinel-3 OLCI` `Oa05` band**

- FIX: Fixing the band mapping of `WorldView-2/3 Multi` (8 bands)

- INTERNAL: File `spot_6` and `spot_7` are removed, replaced by a unique `spot` file. This shouldn't affect the user
- INTERNAL: Some refactoring in `VHR` files
- CI: Do not process two times the zipped Sentinel-1 in end-to-end tests and manage when the runner kills SNAP
- DOC: Updates
@remi-braun
Copy link
Member Author

remi-braun commented May 2, 2022

  • Rather than changing all the function names, it would be better to have a stac object as an attribute implementing all needed functions, i.e.:
# BBOX / extent
eoreader_bbox = prod.extent()
stac_bbox_wgs84 = prod.stac.bbox()
stac_bbox_utm = prod.stac.proj.bbox()  # == prod.extent()

# Export (needs pystac)
stac_item = prod.stac.create_item() 

remi-braun added a commit that referenced this issue May 5, 2022
remi-braun added a commit that referenced this issue May 10, 2022
…when more appropriate, to fit STAC vocabulary** ([#29](#29)):

  - `Platform` enum becomes `Constellation`
  - `prod.platform` becomes `prod.constellation`
  - `prod.sat_id` becomes `prod.constellation_id`
@remi-braun
Copy link
Member Author

PR merged

@remi-braun
Copy link
Member Author

remi-braun commented May 25, 2022

⚠️ The view extension is partially filled.
Are missing:

  • view:off_nadir
  • view:incidence_angle
  • view:azimuth

bastiencyr pushed a commit to bastiencyr/eoreader that referenced this issue May 30, 2023
…ate**

- **BREAKING CHANGES: File `alias` is removed, replaced by `*_bands` files and proper imports in `bands.__init__`**
- **BREAKING CHANGES: Product attribute `band_names` becomes `bands` in order to be STAC compliant (sertit#29)**
- **BREAKING CHANGES: Better use of `NIR` and `NARROW_NIR` in the `indices` file (according to the gsd of `Sentinel-2` bands composing the indices)**

- **ENH: Bands in mapping are now objects, instead of just IDs** (sertit#29). This allows us to:
    - Add band metadata (such as center wavelength, bandwidth...)
    - Map spectral bands between STAC spec and EOReader format
    - Add a better `__repr__` functions
- **ENH: Handling 8 bands `PlanetScope` data** (sertit#20)
- **ENH: Adding the `GREEN1` mapped band, corresponding to PlanetScope `GREEN I` and `Sentinel-3 OLCI` `Oa05` band**

- FIX: Fixing the band mapping of `WorldView-2/3 Multi` (8 bands)

- INTERNAL: File `spot_6` and `spot_7` are removed, replaced by a unique `spot` file. This shouldn't affect the user
- INTERNAL: Some refactoring in `VHR` files
- CI: Do not process two times the zipped Sentinel-1 in end-to-end tests and manage when the runner kills SNAP
- DOC: Updates
bastiencyr pushed a commit to bastiencyr/eoreader that referenced this issue May 30, 2023
bastiencyr pushed a commit to bastiencyr/eoreader that referenced this issue May 30, 2023
…when more appropriate, to fit STAC vocabulary** ([sertit#29](sertit#29)):

  - `Platform` enum becomes `Constellation`
  - `prod.platform` becomes `prod.constellation`
  - `prod.sat_id` becomes `prod.constellation_id`
bastiencyr pushed a commit to bastiencyr/eoreader that referenced this issue May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant