Back to Programs

End user applications

OSGeo (Open Source Geospatial Foundation)

The Open Source Geospatial Foundation

cc++javajavascriptpython

Participation history

11 GSoC years

2026

6 projects

Official year page

Time-Travel Data Access and Versioning UI for istSOS Web Administration

The istSOS backend already provides strong support for time-travel queries and versioned data through parameters like as_of and from_to. However,...

istSOS Role-Based Web Administration

This project adds proper role-based access control to istSOS4 by making the web administration interface reflect the permissions already enforced in...

Implementing the Maximum Weighted Matching Algorithm for pgRouting

This project intends to implement a Maximum Weighted Matching algorithm for pgRouting within the OSGeo ecosystem, enabling efficient graph-based...

Implement Make Biconnected Planar and Make Maximal Planar Algorithms for pgRouting

This project implements pgr_makeBiconnectedPlanar and pgr_makeMaximalPlanar as new pgRouting SQL functions, completing the planar graph preparation....

Implementing Planar Face Extraction and K-Core Decomposition Algorithms for pgRouting

This project brings two new algorithms from the Boost Graph Library into pgRouting: planar face traversal and k-core decomposition. pgr_planarFaces...

istSOS Metadata Connector for Data Spaces and STAC

A fundamental gap in the OGC SensorThings API ecosystem is addressed by this project: istSOS4 can serve rich sensor data, but it is difficult to find...

2025

9 projects

Official year page

Migrating and updating the existing CWL runners

The ZOO-Project is an open-source WPS (Web Processing Service) platform. The propose of this proposal is to reorganize and improve the ZOO-Project...

Implementing Sloan Ordering Algorithm from Boost Graph Library to pgRouting

This project aims to integrate the Sloan sparse matrix ordering algorithm from the Boost Graph Library into pgRouting, enhancing its capabilities for...

Implementing King Ordering Algorithm and Minimum Degree Ordering Algorithm for pgRouting

This project aims to implement the King Ordering Algorithm and Minimum Degree Ordering Algorithm from the Boost Graph Library into pgRouting,...

AI-ready Dataset Metadata as a Service using ZOO-Project

The project focuses on extending the ZOO-Project by adding support for the GeoCroissant metadata standard and implementing Data-Centric AI (DCAI)...

Web Administration Interface for istSOS

The project aims to develop a web-based administrative interface for istSOS, focussed on simplify the management and monitoring of SensorThings API...

Grafana Data Source Plugin for istSOS4

This project focuses on developing an advanced Grafana plugin for istSOS4 that supports full OGC SensorThings API queries with parametrization and...

Add JSON output to different tools in C for GRASS

Currently, most GRASS tools produce data in plain text, which forces users to write custom parsing code when processing output in Python. This...

istSOS Setup Configuration Wizard

This project proposes the development of a graphical setup configuration wizard for istSOS4, an open-source Sensor Observation Service. Currently,...

Implementing the Bandwidth Algorithm for pgRouting

This project intends to port the Boost Graph Library's 'Bandwidth' algorithm for pgRouting into OSGeo. Graph bandwidth is a primitive parameter in...

2024

7 projects

Official year page

Advancing the ZOO-Project testing capabilities

The ZOO-Project is an open-source WPS (Web Processing Service) platform. This proposal entails designing and implementing a comprehensive unit test...

istSOSμ support for STAC

The objective of the project is to add support for STAC(SpatioTemporal Asset Catalog) to istSOS. The STAC specification is an open specification...

istSOS support for data array extension

Summary: The project aims to extend istSOS to support the dataArray extension, which is commonly used in SensorThings for managing Observation...

Improve GRASS user experience in Jupyter Notebook

Problem Statement: - The existing InteractiveMap lacks advanced features, rendering performance is suboptimal, and handling large datasets can be...

Implementing Brandes Betweenness Algorithm from Boost Graph Library to pgRouting for GSoC 2024

The project aims to implement the Brandes betweenness centrality algorithm in pgRouting. Betweenness centrality is a measure of node importance based...

Add EODAG support to GRASS GIS

The project focuses on writing a Python library for GRASS GIS that utilizes EODAG API. Currently, GRASS uses different APIs for each satellite data...

OSGeo Grass: Add JSON output to different tools in C

At the moment, most of the tools in Grass have custom human readable outputs in plain text. Some of these modules could benefit from storing their...

2023

7 projects

Official year page

Implement pgr_withPointsKSP and Add Overloads

The project aims to implement pgr_withPointsKSP and all its overloads. Yen's algorithm computes single-source K-shortest loopless paths for a graph...

Implementation of the pgr_KSP and add all the overloads.

The implementation of a pgr_ksp() function that can calculate K shortest paths for various scenarios is essential for many applications. This project...

Implementing Dijkstra’s Driving distance Function and its migration

The project aims to implement a new function called "pgr_dijkstraDD" that replaces the existing "pgr_drivingDistance" function. The new function will...

Support basic SensorThings API (STA) for istSOS

istSOS currently supports the Sensor Observation Service (SOS) standard, but to enhance its interoperability, we propose implementing some of the...

Getting ready with ZOO-Project for the OGC Compliance Testing.

The ZOO-Project is an SDI manager which gives the users the capability of building their own map and web applications using Map server as the Open...

Support basic Sensor Things Api (STA) in istSOS

The goal of my project is to add OGC standard of Sensor Things API(STA) to istSOS project. The OGC SensorThings API provides an open,...

Improving Parameters and Standardizing Results in pgr_withPointsDD Function for pgRouting

This project aims to enhance the functionality of the pgr_withPointsDD function in pgRouting by improving the 'driver_side' optional parameter,...

2022

6 projects

Official year page

Adding Node.js support for service implementation to the ZOO-Kernel

The ZOO-Project is a solid WPS server able to handle services implemented in various different programming languages. The existing `ZOO-Kernel`...

Implementing hawick_circuits algorithm from Boost Graph Library to pgRouting

The project aims at implementing Boost Graph Library Algorithm Hawick_circuits in pgRouting.Hawick circuit is an algorithm used for searching...

Osgeo[Pgrouting] : Add Google OR-Tools functionality in vrpRouting

Proposal : Add Google OR Tools functionality in vrpRouting. Integrate Google-OR-tools, a combinatorial optimization software tool into...

Integrating ZOO-services with QGIS

The ZOO-Project is an open-source WPS (Web Processing Service) platform. WPS allows GIS processing to be done remotely. Currently, the ZOO-Project...

ZOO-Project - Adding Cesium support within MapMint

MapMint is a web-based Geographic Information System (GIS), which is designed to facilitate deployment of Spatial Data Infrastructure (SDI). In an...

Implement Cuthill-Mckee Ordering Boost Graph Library Algorithm for pgRouting

The Cuthill-Mckee Ordering is an algorithm used to reduce the bandwidth of a graph by reordering the indices assigned to each vertex. The vertices...

2021

12 projects

Official year page

VRP functionality with VROOM on the database for pgRouting

The project aims at implementing the VRP functionality in the vrprouting repository of pgrouting, using VROOM as a library in C++. VROOM is an...

Parallelization of existing modules for GRASS GIS

The project focuses on parallelizing existing modules that can benefit from parallelization with OpenMP, such as r.neighbors, r.mfilter, r.univar,...

First steps towards a new GRASS GIS Single-Window GUI

My project will mainly focus on extensive Graphical User Interface (GUI) refactoring necessary to prepare GRASS GIS for Single-Window GUI. As the...

Integrating a module to 3d scan a house within the MapMint4ME android application.

Minimalist 3D scan (taking multiple pictures, recording camera position, using opendrone map to rebuild the 3D scene) with the house faces...

AR Draw + Measure experience in MapMint4me

Introducing the Augmented Reality experience in the present MapMint4ME project and working on Better UI and UX part for the Augmented Reality...

New Virtual Raster Data Provider for Raster Calculator in QGIS

QGIS already has an integrated raster calculator, where user can enter an expression that will apply raster algebra functions to one or more input...

Implement 3D scene visualization support using Potree and integrate with MapMint

Implementation of 3D visualization support and integration with the MapMint instance. The 3D scenes are rendered with Potree Loaders along with...

Implement sorting methods for PostGIS data types before building GiST index

Create and test pre-sorting methods of z-order and Hilbert curve for elements in GiST index to check if it will improve the performance of index...

Improved Integration of GRASS GIS and Jupyter Notebooks

My project will focus on 3 main tasks: (1) simplifying the launch of GRASS GIS sessions in Jupyter Notebooks, (2) creating a more intuitive way to...

Implement 3D scene visualization support using Potree and integrate with MapMint

With the 3D scene visualization, viewing data in three dimensions gives users new perspectives. 3D viewing can provide insights that would not be...

Integrating 3D scene builder as WPS services within MapMint administration User Interface

At present the user can only visualize the 2D datasets and can even generate one of them. So, my major approach in this project would be to create...

Implement Edge Coloring Algorithm for pgRouting by the Boost Graph Library

Edge Coloring is an algorithm used for coloring of the edges for the vertices in the graph. It is an assignment of colors to the edges of the graph...

2020

10 projects

Official year page

Creation of a new GRASS GIS startup mechanism

This project will focus on the creation of a more user friendly GRASS GIS startup. The general idea is to make the initial user’s contact easier and...

New rules for the Topology Framework in gvSIG Desktop

My project seeks to improve the topology motor of gvSIG Desktop. Also I would like to correct some topology rules and implant three new rules. The...

Implement Boyer Myrvold Planarity Testing and Make Connected in pgRouting

Boost::boyer_myrvold_planarity_test A graph is planar if it can be drawn in two-dimensional space with no two of its edges crossing. Such a drawing...

Data transaction implementation on pygeoapi

pygeoapi is a python server implementation of OGC RESTful API standards. The current implementation of OGC Features API in pygeoapi supports only...

Improving QGIS 3D

Improving QGIS 3D capabilites by adding : Texturing support, 3D map exporting, new rendering techniques, shadow rendering

New rules for the Topology Framework in gvSIG Desktop

A topology toolbox has been added to gvSIG Desktop. This tool provides a group of integrity rules that check the validation of the geometries...

Implement Lengauer Tarjan Dominator Tree and Bipartite algorithm for pgRouting

Graph algorithm Lengauer Tarjan Dominator Tree is applied in many routing applications, one application can be if the user wants to go from city A to...

Depth First Search, Sequential Vertex Coloring and analysis of Graph Input Ordering for pgRouting

The project aims to add the following two algorithms in pgRouting: Depth First Search: It is the implementation of a standard graph traversal...

CQL filter implementation on pygeoapi

Develop an efficient code to contribute to pygeoapi with advanced filter functionality on features. Implement CQL on pygeoapi for specifying enhanced...

Enhancing AR Support for MapMint4ME and adding GPS Satellite Tracking

MapMint4ME (MM4ME) is an android application with the capability to record data on the field without internet connectivity. It gives users the...

2019

7 projects

Official year page

Create of new topological rules in gvSIG desktop

The project consists of the creation of three new topological rules in the gvSIG desktop toolbox. These rules are '' Must be disjoint '', "Must not...

QGIS 3D Improvement: On Screen Navigation, Bookmarks, Rendering Point Feature as Billboard, and Measuring Tool

QGIS 3D is a great feature that has been introduced in QGIS 3.0 in 2018. It is still missing some features that are needed or can be helpful for the...

Implement Edward Moore's Algorithm, Breadth First Search and Binary Breadth First Search Algorithms in pgRouting

Edward Moore's Algorithm is an improvement over Bellman-Ford's algorithm and can compute single-source shortest paths in weighted (including negative...

GSoC 19: GRAPH C++ Boost graph algorithms for pgRouting

My project will focus on implementing topological sort, transitive closure and lengauer tarjan dominator tree.

MapMint - porting from Python 2.x to Python 3.x

At present the MapMint project is running on Python 2.x whose support will soon end in 2020 and MapMint is unable to take advantage of the...

New rules for the Topology Framework in gvSIG Desktop

Before starting the project only a few topology rules have been implemented, most of them pending to be developed. With the project was achieved...

Adding Augmented Reality (AR) support to the MapMint4ME Android Application

MapMint4ME (MM4ME) is an android application allows user to take photos, record their positions, and view their current location on map based on...

2018

10 projects

Official year page

Full support of Python 3 in GRASS GIS

The current GRASS GIS version has partial support for Python 3. This project aims to update core GRASS components for Python 3 and update all the...

Support of Unit Of Measure conversion in istSOS3

The aim of my project primarily is to add plugins in istSOS3 for unit of measure conversion. The user can convert unit in another specified unit...

GRASS GIS module for Sentinel-2 cloud and shadow detection

Optical sensors are unable to penetrate clouds leading to related incorrect reflectance values. Unlike Landsat images, Sentinel 2 datasets do not...

Making pgRoutingLayer plugin compatible with QGIS 3.0 and Adding GUI support for proposed stable functions which are scheduled for next release.

The new version of QGIS has introduced an API break. The key changes in QGIS 3.0 are as follows: Updated from Qt4 to Qt5 Updated from PyQt4 to PyQt5...

Implement Geospatial Data Viewer in pgAdmin4 for PostGIS

pgAdmin is the GUI management tool for PostgreSQL. The latest version pgAdmin4 is web-based and written in Python and jQuery with Bootstrap, using...

Database Output Storage for PyWPS

The Web Processing Service (WPS) is an Open Geospatial Consortium (OGC) standard that provides rules for publishing and executing processes on the...

Implement Minimum-cost flow Algorithm by the Boost Graph Library and Chinese Postman Problem for pgRouting

Minimum-cost flow problem is an extension of maximum flow problem with an added cost (per unit flow) for each edge. The Chinese Postman Problem...

Extension of Gisquick platform filtering tool based on raster and vector spatio-temporal data

My project will extend the current filtering tool that was developed as a part of my final thesis. Currently it is focused on spatio-temporal vector...

Implement Minimum Spanning Tree and Min-Cut for pgRouting by the Boost Graph Library.

Graph connectivity is one of the classical subjects in graph theory and has many practical applications. A Minimum Spanning Tree in an undirected...

Implement Parallel Dijkstra’s and Bellman-Ford algorithm by the Parallel BGL

Graph Algorithms like Dijkstra’s single source shortest path algorithm are widely applied in many routing applications, but for the Large-scale...

2017

13 projects

Official year page

3D OSM Plugin API

The goal of this project is to create a plugin API to display OpenStreetMap (OSM) data on NASA Web WorldWind...

Integrating istSOS as a data store in MapMint

The idea of integrating istSOS as a data store in MapMint is able to provide a platform for data visualization which can be used as near real time,...

Improving IstSOS Web API and finalizing IstSOS Javascript Core Library

My proposal consists of making some crucial changes (event handling, authentication...) to the IstSOS JavaScript core library, that will solve the...

Integration of Bikeshare Information into an Open-source Transportation App

The General Transit Feed Specification (GTFS) has revolutionized multi-modal information and open transit data. Started as a simple way to represent...

NASA WebWorldWind - MarkerCluster Plugin

Creating a Marker Cluster Plugin for NASA Web World Wind with the following features: Clustering based on different algorithms Set a custom cluster...

Rewrite for Turn Restricted Shortest Path Algorithm in PgRouting

In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the...

SOS tools in GRASS GIS

GRASS GIS doesn’t have any module to work with Sensor Observation Service (SOS). SOS is an Open Geospatial Consortium (OGC) standard and it is useful...

QGIS Web API and remote control Plugin (for Notebook integration)

The goal of this project is to create a QGIS Desktop plugin which provides a web service API that exposes QGIS' data processing and canvas drawing...

istSOS-Data analysis and statistical tools suite

istSOS has gone through a lot of improvements since 2009. This has somehow affected the simplified interaction with measurements and SOS service...

Adding Audio/Video and SOS input support in the MapMint4ME

MapMint4ME is an android application which allows its users to record alphanumeric data, photo and GPS locations. The data can be recorded even when...

GRASS GIS Locations Created From Public Data

Novice GRASS GIS users often have difficulty with the complexities of re-formatting data, solving map projection issues, and working with centralized...

Educational games add-on for gvSIG Batoví/Educa

The main idea behind this project is to develop an add-on which allows to create/play educational games. Also generate documentation specially...

Implement Connected Components Algorithms for pgRouting by the Boost Graph Library

Connected components algorithms are used to analyze graph and solve problems (like 2-satisfiability problem). There are three parts of connected...

2016

20 projects

Official year page

VistSOS: the istSOS Data Visualization Framework

In order to extent the available characteristic offered by the istSOS server, I propose the use of an open source Javascript library for the...

istSOS Web API

Implementation of an easy to use framework that will offer to the final user the ability of building feature-rich web widget that will be easily...

NASA Web World Wind - Multidimensional Visualization Tool for Environmental Variables

The idea behind this project is to create an application using Nasa Web World Wind to show metadata about environmental variables in more than three...

WEBGRASS

This idea will focus on the development of web based GUI for the Grass “WebGrass” where people can use Grass modules through a web browser without...

Bringing pyModis to the web through ZOO-Project

The pyModis project has been developed and used to work with MODIS data, it provides wxPython user interfaces which are able to download and process...

A complete photogrammetric OSSIM tool for automatic DSMs generation using multi-view optical and SAR images

My project proposal concerns the improvement and the implementation of new functionalities for the OSSIM plug-in that I developed in the last two...

Complete basic cartography suite in GRASS GIS wxGUI Map Display

Currently a GRASS GIS user is forced to use Cartographic Composer or use another software (e.g. QGIS) to create hard copy map outputs with all...

Implementation of a framework which supports addition of contraction techniques for pgRouting.

Contraction is a technique used to speed up shortest-path computation by first creating contracted versions of the network. There are different ways...

Web-based administration & process management for PyWPS

PyWPS is an implementation of OGC WPS standard on the server side, written in Python programming language. Since it's perfectly designed for programs...

Flow Algorithms for pgRouting

This project aims to add functionality in order to solve the maximum flow problem in pgRouting. A flow network is a directed graph where each edge...

Introduce Triangulated Surface, Polyhedral Surface and Triangle API in the OGRGeometry core and implement their support in OGR drivers for GDAL

The current OGR core doesn't include three geometries according to OGC standards - Triangular Irregular Networks, Polyhedral Surfaces and Triangles....

Android istSOS client

Firstly, the aim of the project is to develop an Android App for the istSOS project. In order to achieve that objective, a main goal will be to...

Development of a model for woody debris flooding hazard in gvSIG

In forested mountain landscapes wood can significantly increment the total flow volume during a flooding event. The presence of large wood on river...

OSGeo GDAL DWG support

The objective is to extend GDAL/OGR supported formats with DWG, allowing to read geometries from it. It is going to be reached by writing a new DWG...

Add tests and educational games support to gvSIG Educa.

The main idea behind this project is to develop addons which allows to create/play tests and educational games. Also generate documentation specially...

Implementing WPS for Geopaparazzi field data collection tool using ZOO-Project: Simplifying integration of field data and GIS

JGrasstools is a library which contains a variety of geoprocessing functionalities. It has been used for many GIS framework to provide a...

One bus Away Quick start

Develop a quick start version to the Transit Time application. Currently the set up of transtime is very complex with little available documentation...

OGC protocols support within OL3-Google-Maps

This library allows users to add Google Maps layers to an OpenLayers v3 map. To do this, the library replicates the OpenLayers objects to the Google...

QGIS Styles, Symbols, and SVG Markers Sharing Repository

This project will focus on making styles (.qml), symbols definition (.xml), and SVG markers sharing possible through web services that later can be...

PyQt implementation of GUI forms generated automatically from XML

GUI forms (module dialogs) are now automatically generated from XML into wxPython. My idea is to create code that is generating the same code into...