Skip to content

Google Summer of Code 2024 Final Report istSOS STAC

cOsprey edited this page Aug 26, 2024 · 2 revisions

Final Report for Google Summer of Code 2024

Project description

I worked on the “istsos-miu”, which is part of the OSGeo Foundation for the Google Summer of Code 2024 project. The goal of the project was to add support for the generation of STAC metadata and the ability to search the data.

What I have done

For the duration of Google Summer of Code 2024, I contributed to implementing STAC metadata extraction within the istsos project as an independent module.

As the project started, with the support of mentors, I started to understand more about SensorThings API and its usage (although there is much more to learn). I started to work on allowing users to generate the STAC metadata JSONs by extracting data from the project URL.

STAC's objective is to standardize how geospatial metadata is queried and structured. The STAC specification is an open specification developed to improve the discovery, accessibility, and interoperability of geospatial datasets. STAC provides a common, interoperable metadata framework to expose geospatial assets, like satellite images, either of optical or SAR, or other spatiotemporal data. STAC allows ease of access to different formats of spatial data through a common way to find more information about the geographic location over a period of time Also as per stacspec.org : - “STAC specification is a common language to describe geospatial information, so it can more easily be worked with, indexed, and discovered.”

The STAC metadata allows for finding spatial data over time for a given geographical location in a more standardized way.

To develop the metadata, I worked on parsing the responses for the generation of item, collection, and catalog JSONs, making the data querying and searching easier while adopting the common standards.

Extraction of metadata

I have implemented the stacfromsta module for the generation of metadata for a given STA project URL. We adopt the following mapping, as shown below:

STAC and STA mapping

The process flow of work is also shown:

Process workflow

The module generates the catalog, collection, and item JSONs, depending on the requests by the user to generate for all things or specific things.

Data querying and visualization

To query the data and visualise it, we use eoAPI with very minor modifications. It supports the searching of STAC metadata based on stac-fastapi, pgstac and visualisation using StacBrowser.

The current state of the project

The objective of the project was to add support for STAC(SpatioTemporal Asset Catalog) to istSOS-miu, and serve it to search and visualise the metadata that has been achieved.

Code Repository

The developed and merged code can be found here on the project repository - https://github.com/istSOS/istSOS4-STAC

Pending work

The primary objective of the project is successfully completed, and the functionality to support it is implemented.

Potential Future Work

The generation of metadata is successfully done, although there is future scope for improvement to enable more efficient extraction of data and allow filtering-based specific data extraction. More modifications can be done to the item data structure by integrating other fields or changing existing fields.

Conclusion

While working through Google Summer of Code 2024, I learned much about the Spatio Temporal Asset Catalog (STAC) and SensorThings API (STA). The project helped me to improve my skills in data processing, API development, and the importance of visualization, and I learned a lot more. The most crucial learning being open-source collaboration and how impactful discussions can be to achieve more understanding and knowledge. It is great to be a part of GSOC 2024, and I am really happy to contribute to the project. It gave me a great experience of working on developing a project. The learning outcomes are highly impactful, and I would like to work more with the open-source community.

Acknowledgments

I want to extend my thanks to my mentors, Daniele, Massimiliano, and Claudio for their guidance and support throughout the Google Summer of Code 2024. I am also grateful to the OSGeo Foundation for giving me the chance to work on this project and giving me a great experience.

Other useful links

Images

  • Image showing collection

    API page showing collections

  • Items existing in collection

    API showing items

  • Querying the API

    API query example 1

  • Response of the API

    API query response 1

  • Browser showing the UI

    Browser showing collection and items on Map

  • Browser filter example

    Broswer filter example

  • Browser filter response example

    Browser Filter response

  • Browser showing item and assets

    Browser item example