You are here: Wiki>Projects Web>GSoC2024ProjectIdeas (14 Feb 2024, BenediktGraeler)Edit Attach

Project Ideas for Google Summer of Code at 52°North in 2024


This the ideas page for the Google Summer of Code 2024. If you are an interested student/contibutor please don't hesitate to contact mentors directly to discuss project ideas.

Information for Students/Contributors

General information: GSoCForStudents - please read before asking questions!

52°North is an open organization researching several topics in the field of Geoinformatics. Our staff members created the list of ideas below. Most ideas originated from different ongoing larger projects. We also welcome your ideas for projects related to our fields of activites and encourage you to get in touch with us to discuss these ideas.

How do I choose a project?

You will spend a consderable amout of time on the project this year, so make sure that you are really into it. This relates to various aspects of a project: the general idea, the mutual benefit of the development (also for yourself and not only for the community), the programming language used, etc.. Challenge yourself with one or more of the coding challenges - you will best realize if a software/framework interests you once you have some hands-on experience with it. If you have not found an idea that interests you on this ideas page, there are other organizations with great topics on geospatial technologies. Everything related to "geo" is the best in our opinion wink . So check out the ideas pages of like minded projects or come up with your own project idea (make sure to discuss it with us prior to developing a fully flaged proposal)!

What is the expected duration/size of the project?

All of following project ideas will make a meaningful contribution as medium GSoC project with an expected workload of 175 hours. However, if you envision a number of additional features to our project ideas that would increase the effort to a large GSoC project of 350 hours, present your ideas by email to the listed mentors before you submit your proposal. We can then discuss whether the project can be extended to a large one. Note: In 2024 there is also the possibility to have small projects ~90 hours.

GSoC project ideas @ 52°North

OGC API realted projects for client and server implementations:

Explanantion: The Open Geospatial Consortium (OGC) is working on several API standards and has already released important parts of the OGC API - Features. In this years GSoC at 52°North, would like to implement clients of various programming languages (R, Python, JS, Java, ...) that are frequently used at 52N for different APIs. 52N will provide references to running API server that can be used to implement the clients. While the available services define the baseline, the standard specifications will be the true reference. Several (research) projects that 52°North is participating in are or will be using OGC API Standards. We plan to use the work accomplished within GSoC 2024 within the projects, if possible. The overall basic use case is cross API integration, this means we want to check how well the data APIs (e.g. Features, Coverages) interact with the API - Processes (get features/coverages for processing, store results back in data API).

Further reading:
OGC APIs
javaPS (API - Processes server)
QGIS Web Processing Service (WPS) Plugin (WPS is the predecessor of the API - Processes)
OWSLib (Python client API)
Required skills: At least basic programming skills are needed. As the projects range from a command line interface programmed in python, an JavaScript based Web-client including visualization to a plugin for an complex GIS, there are different levels of experience required. Pick your preferred programming language or GIS framework, e.g. R, Python, JS, Java, or Quantum GIS (QGIS).

API Processes Client/Server

This standard offers the execution of (geo-spatial) processes using REST/JSON. Of interest are clients implemented in R, Python, JS, Java, or a QGIS-plugin. An esri ArcGIS Pro plugin would also be thinkable, this would require a license that we could provide. See here for an earlier GSoC project dealing with an esri ArcGIS Pro plugin for OGC Web Processing Services.

Required tasks:
  • Get API description
  • Get List of processes
  • Get single process description
  • Execute a process
  • Get status/result of an execution

More information: https://ogcapi.ogc.org/processes/overview.html

API Features Client

This standard offers vector data in different data formats using REST/JSON. Of interest are clients implemented in R, Python, JS, Java, or a QGIS-plugin.

Required tasks:
  • Get API description
  • Get List of collections
  • Get single collection description
  • Get data of a collection

More information: https://ogcapi.ogc.org/features/overview.html

API Coverages Client/Server

This standard offers raster data in different data formats using REST/JSON. Of interest are clients implemented in R, Python, JS, Java, QGIS-plugin and server implementations in Python (tailored to the Open Data Cube) and Java (general purpose library). As this API is still in draft, clients and server implementations would be very welcome as proof of concept.

Required tasks:
  • Get API description
  • Get List of collections
  • Get single collection description
  • Get data of a collection

More information: https://ogcapi.ogc.org/coverages/overview.html

API Environmental Data Retrieval Client/Server

This standard offers environmental data data in different data formats using REST/JSON. Of interest are clients implemented in R, Python, JS, Java, QGIS-plugin and server implementations in Python (tailored to the Open Data Cube) and Java (general purpose library).

Required tasks:
  • Get API description
  • Get List of collections
  • Get single collection description
  • Get data of a collection

More information: https://ogcapi.ogc.org/edr/overview.html

OGC Sensor Things API Clients

This standard offers an "open and unified way to interconnect IoT devices, data, and applications over the Web". Of interest are clients implemented in R, Python, JS, Java, QGIS-plugin.

More information: https://ogcapi.ogc.org/sensorthings/overview.html

Expected results (for all topis above): As mentioned above, the projects can range from a command line interface programmed in python, an JavaScript based Web-client including visualization to a plugin for an complex GIS. Expected are client or server implementations that support the respective set of required tasks. Examples of past projects can be found here:

Code challenge/proposal phase (for all topis above): Screen the open source resources and the OGC implementation site to identify the current state of implemented clients. Based on your review, propose additions and changes or new implementations in your proposal. Example for API - Processes:
  1. Create python class/module
  2. Create method for landing page retrieval
  3. Display links from landing page
The code challenge should serve as a good basis for the remainder of the project.

Community and Code License (for all topis above): Cross-community project(s). Apache Software License, Version 2.

Project size: The size of your project can vary from small to large. Please get in touch with your mentor to discuss the details.

Mentors (for all topis above): Benjamin Pross (b.pross @52north.org), Benedikt Gräler (b.graeler @52north.org) and further 52°North staff based on the selected programming environment, eventually contributors of used open source libraries.

STA Integration in MapStore for GeoNode 4.0

Explanation: 52°North extended the GeoNode remote services to include data through the Sensor Things API (STA) in GeoNode 3.x. Curently, GeoNode's MapStore does not visualize this data source. In order to fully utilize the GeoNode framework, an integrated solution is in favour. During this project, the current implementation of the remote services for GeoNode 3.x shall be adapted to also support the current GeoNode 4.x release.

Expected results: GeoNode 4.x compatible implmentation of STA as a remote service along with an automatic visulaisation of the STA data in GeoNode's MapStore.

Code challenge: Adapt the remote-service implementation of STA from GeoNode 3.x to GeoNode 4.x.

Community and Code License: GeoNode and STA, GNU GPL 2.0

Mentors: Benedikt Gräler (b.graeler @52north.org)

Project duration: The duration of the project is estimated 175 hours. An extension is possible.

NetCDF support in GeoNode and GeoServer

Explanation: NetCDF -files are a common format for array shaped data in the Geo community and beyond. The GeoServer generally supports data from NetCDF -files, but this process is not yet fully integrated with GeoNode. During the course of this project, support of NetCDF -files (NetCDF -3 and NetCDF -4) shall be implemented into GeoNode along the entire pipeline from adding NetCDF-files as data sources to editing meta data, visualizing data, and exporting data as NetCDF -files.

Expected results: Thorough NetCDF -3 and NetCDF -4 support in GeoNode.

Code challenge:

Community and Code License: GeoNode and GeoServer, GNU GPL 2.0

Mentors: Benedikt Gräler (b.graeler @52north.org)

Project duration: The duration of the project is estimated 175 hours. An extension is possible.

enviroCar projects

enviroCar App: Mapbox to MapLibre migration

Explanation: The enviroCar Android app provides capabilities for visualizing user related tracks within a map. For this feature, the app makes use of several libraries of the Mapbox mapping framework. However, recent changes in the terms-of-use of Mapbox as well as their switch to a non open-source license problematic to continue relying on Mapbox. You can find some background information about it on GitHub (https://github.com/enviroCar/enviroCar-app/issues/998). The current issues with Mapbox effect in hindering several developers of the open-source community from participating to further developments of the enviroCar app. Hence, we aim to replace all Mapbox dependencies with MapLibre related alternatives. So, in this project you will refactor all views in the enviroCar app that show a map, by reimplementig mapping functionality utilizing the MapLibre Native library for Android.

Expected results: It is expected that as a result of the project, the enviroCar Android app no longer utilizes Mapbox SDKs. This means, all views that utilize Mapbox libraries for providing mapping functionality have to be rewritten by integrating MapLibre. As an additional requirement, the current look and feel of those views should be taken into account when implementing the map migration. Map and track rendering styles as well as the interaction with the map views in the migrated views should be as close as possible to the current design.

Code challenge: Develop a small Android app that visualizes your own enviroCar track within an OSM map that is rendered by MapLibre Native library for Android. Follow the steps below:

1. Install the enviroCar Android app on your smartphone.

2. Create an enviroCar account from within the Android app or the web application.

3. Start the enviroCar Android app and record a track in your city in GPS-only mode.

4. Upload your track to the enviroCar server from within the Android app.

5. Make sure you know hwo to fetch your recorded track via the enviroCar server API

6. Develop a small Android app that shows the recorded track in a MapLibre map. The code should implement these minimal requirements:
  • Fetch the track via the enviroCar server API in JSON format
  • Show a map MapLibre map in OSM style in a single view.
  • Visualize your recorded track as Polyline in the map. Highlight start and endpoint with appropriate markers. Show a popup by clicking on one of these points that shows the timestamp of the clicked track point.
7. Provide your code within a GitHub repository.

8. Add a documentation to the GitHub repository that briefly describes your solution and explains how to deploy it on a smartphone for testing purpose.

Community and Code License: enviroCar, Apache Software License, Version 2.

Mentors: Sebastian Drost (s.drost @52north.org)

Project duration: The duration of the project is estimated 175 hours. An extension is possible.

Chat: https://gitter.im/enviroCar-app/community


Your Project Here

You are also able to propose your own project. Note that this needs to be in the domain of 52°North.

We have numerous software projects that welcome new community members. Maybe you find something that interests you there:

52°North software projects, 52°North GitHub

You should also propose a mentor for your project. Active mentors are:

Name Email Main skills
Benjamin Pross b.pross @52north.org Geoprocessing, Java, Android
Benedikt Gräler b.graeler @52north.org Data Analytics, R, Python
Christian Autermann c.autermann @52north.org Geoprocessing, Sensor-Web, Cloud, Java, Python
Sebastian Drost s.drost @52north.org Java, Android, Python
Eike Jürrens e.h.juerrens @52north.org GeoNode, ??
Martin Pontius m.pontius @52north.org GeoNode, ??
Jan Schulte j.schulte @52north.org ?
Please use the following template:

Project Template

Please copy and paste to the drafts section above and get in touch with the org admins - leave this template intact.

Explanation:

Expected results:

Code challenge:

Community and Code License:

Mentors:
Topic revision: r8 - 14 Feb 2024, BenediktGraeler
Legal Notice | Privacy Statement


This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback