GRASS GSoC 2024 EODAG Support

From GRASS-Wiki
Jump to navigation Jump to search

Accepted Google Summer of Code 2024 project.

Student Name: Hamed Ashraf Elgizery, AASTMT, Smart-Village, Giza, Egypt
Organization: OSGeo - Open Source Geospatial Foundation
Mentor Name: Luca Delucchi, Veronica Andreo, Stefan Blumentrath
GitHub Fork: View Fork
GSoC Proposal View Proposal

Abstract

The project focuses on writing a Python library for GRASS GIS that utilizes EODAG API. Currently, GRASS uses different APIs for each satellite data provider. As a result, a lot of maintenance has to be done to keep up with the changes happening to all the different APIs. Thus, adding EODAG support to GRASS GIS will provide a lot of flexibility in the future development of GRASS, by decreasing the amount of maintenance needed to keep up with all the different APIs updated, and instead, sufficiently, maintain the support for EODAG library. Deliverables for this proposal are supporting Sentinel, Landsat, and MODIS datasets with EODAG, and reimplementation of both i.sentinel.download and i.landsat.download modules with the new GRASS EODAG library.

Timeline

Period Timeline Tasks Status
Bonding Period May 1 - May 26
  1. Researching
  2. Reading GRASS documentation
  3. Further familiarizing with the GRASS development environment
  4. Familiarizing with the EODAG API and how it can be related to GRASS GIS concepts
In Progress
Official Coding Period Week 1 (May 27 - June 1)
  1. Write an initial i.eo.download addon module using USGS provider and Landsat data
  2. Limited working time due to final exams
Week 2 (June 2 - June 8)
  1. Work on getting credentials on runtime.
  2. Support choosing the provider by the user
  3. Work on feedback
  4. Limited working time due to final exams
Week 3 (June 9 - June 15)
  1. Add initial test cases and documentation / manual
  2. Work on feedback
  3. Almost done with final exams
Week 4 (June 16 - June 22)
  1. Add support for AOI (Area of Interest) with shapely
  2. Testing, refactoring and bug fixing
  3. Work on feedback
Week 5 (June 23 - June 29)
  1. Add generic support for Queryables
  2. Work on feedback
Week 6 (June 30 - July 6)
  1. Add Serialization/Deserialization for SearchResults
  2. Testing, refactoring and bug fixing
  3. Work on feedback
Week 7 (July 7 - July 13)
  1. Pre-evaluation reformatting and documenting
  2. Mid-term Evaluation: July 12
Week 8 (July 14 - July 20)
  1. Reimplement i.sentinel.download
  2. Work on feedback
Week 9 (July 21 - July 27)
  1. Testing, refactoring and bug fixing
  2. Work on feedback
Week 10 (July 28 - August 3)
  1. Reimplement i.landsat.download
  2. Work on feedback
Week 11 (August 4 - August 10)
  1. Testing, refactoring and bug fixing
  2. Work on feedback
Week 12 (August 11 - August 17)
  1. Work on feedback
  2. Final reformatting and documenting
Evaluation Period August 26 - September 2 Submit code and final evaluation

Reports