GSoC/GCI Archive
Google Summer of Code 2014

OSGeo - Open Source Geospatial Foundation

License: GNU General Public License (GPL)

Web Page:

Mailing List:


OSGeo is a non-profit organization serving as an umbrella organization for the Open Source Geospatial community in general and 33 code projects in particular:

Web Mapping: deegree, geomajas, GeoMoose, GeoServer, Mapbender, MapBuilder, MapFish, MapGuide Open Source, MapServer, OpenLayers, ZOO-Project, Team Engine

Desktop Applications: GRASS GIS, QGIS, gvSIG, Opticks, OSSIM, KDE Marble

Geospatial Libraries: FDO, GDAL/OGR, GEOS, GeoTools, MetaCRS, PostGIS, rasdaman

The following are sub-projects of MetaCRS: CS-Map, GeoTIFF/libgeotiff, PROJ.4, Proj4J, Proj4js,

Metadata Catalogs: GeoNetwork, pycsw

Other (non-code) Projects: Public Geospatial Data, Education and Curriculum, and a Live Demo DVD where you can try out all of the above and see what you like.

We are also hosting a number of other geospatial projects under our GSoC umbrella this year: OpenStreetMap, PyWPS, istSOS, pgRouting, uDig, Cartaro

Happy Mapping!


  • Add PostGIS spatial query support for the views module in Cartaro. The idea is to design and implement a PostGIS module with views integration for Cartaro. This should be able perform potentially complex spatial queries for nodes based on any combination of the fields in a content type. The available fields should of course include geometry fields, allowing for spatial operations like intersects or contains.
  • Enhancements to UbuntuGIS/DebianGIS First goal would be to update and enhance UbuntuGIS and at the same time OSGeoLive with new and up-to-date packages. At the same time, it would enhance and update the DebianGIS repository. There would also be an emphasis on researching Java packages.
  • Estimation of inundation areas in uDig/JGrassTools Development of a simple module based on the JGrasstools libraries to be used in uDig's Spatial Toolbox. The module will estimate the maximum fluvial corridor that can be eroded during extreme flood events. This will be the starting point for the evaluation of the solid transportation during flooding events, in particular related to wood and sediments.
  • GDAL/OGR Geography Network support An implementation of an OGR driver, which intends to operate with networks which are built over the spatial data of different GIS-formats
  • Geoprocesses Access from the Scripting Framework in gvSIG Desktop 2.x Extend the scripting framework in gvSIG 2.x to access to the geoprocesses
  • Groups and Advanced Permissions for GeoNode GeoNode is a Django based Content Management System for geospatial data and based on the feedback from users its extremely important to have advanced permissions and groups functionality in GeoNode. The goal of this project is to allow custom and granular permissions on every entity of GeoNode and implement Groups functionality to make it easier to assign permissions to groups of users.
  • Implement write support for the GDAL PostGIS Raster driver for PostGIS A GDAL driver allows reading/writing of raster(or images) data from/to formats like TIFF, PNG or JPEG. The current GDAL PostGIS raster driver supports reading of PostGIS rasters objects from a PostgreSQL/PostGIS database but does not support writing. This project includes designing and implementing a driver for write support.
  • Implementation of GRASS GIS module for 3D raster flow line computation GRASS GIS' capabilities of representing and processing data in 3D raster (voxel) format, are rare among other GIS software packages and open opportunities for new applications, especially in research. In this project I would like to extend the 3D raster handling capabilities by developing a module for computing 3D vector flow lines of a voxel representing trivariate continuous field. This new module, r3.flow, will extend the functionality of module r.flow into the third dimension.
  • Implementation of VRP-Pickup and Delivery with TW for pgRouting The Pickup and Delivery Problem with Time windows requires that a group of vehicles satisfy a set collection of customer requests and it is a well researched problem. Each customer requires the use of single vehicle both to load a specified amount of goods at one location and to deliver them to another location. All requests must be performed without violating the vehicle capacity or the customer time window. I want to implement a Reactive-Tabu-Search to solve this problem.
  • Integrate spatial querying into cypher query language for Neo4j Spatial Neo4j Spatial is a plugin for the Neo4j graph database that provides geospatial operations within the context of a graph database. Neo4j Spatial implements an R-Tree in the graph to allow for efficient processing of geographical data. In addition to a native Java API, Neo4j provides an interface to the graph through a query language called Cypher. Neo4j Spatial functionality is not currently available in Cypher. This project proposes integrating Spatial functionality with Cypher.
  • istSOS Event Notification Service istSOS is a service for managing and dispatching observations from monitoring sensors. We aim to implement a Web Notification Service that will send updates in an event and time driven fashion. In this way, administrators of the system will be notified about the status of an environment in case certain conditions arise.
  • LiDAR segmentation Plug-In based on RANSAC and PCA algorithms for Opticks LiDAR has become an important technology in topographic mapping and city modelling since it can provide high-quality 3D representations of the world - point couds. Now it's essential to allow Opticks to retrieve the thematic information that these point clouds supply: my idea is to develop an Opticks Plug-In for the building roof segmentation for LiDAR point cloud data, implementing the RANSAC and the PCA algorithms which can be successfully applied to the problem of building roof segmentation.
  • Metadata for GRASS GIS maps and datasets Current GRASS GIS offers just a poor and out-of-date administration of metadata. The goal of this project is to implement administration of metadata according to the standards of INSPIRE and to create a graphical user interface which would allow the user to operate with metadata, such as creating, updating, browsing, searching etc.
  • OSM: Changeset discussion project Currently there is no simple way to tell user that his/her edit is not good enough or that it’s great. The idea is to implement discussion on changesets on main OSM website. It means that users will be able to place comments on each changeset, so that the editing user knows what’s bad or good in his/her edit. Also rating and simple flagging of changesets will be implemented.
  • OTB ICE extension for Monteverdi2: implementation of dynamic functionalitie Due to the incoming ESA Sentinel satellite missions, huge time series data will be widely and freely available; new image GUIs need to be added in order to manage efficiently all derived layers in Monteverdi2. The goal of this project is to add new OTB Monteverdi2 functionalities for Satellite Image Time Series visualization, based on ICE and OpenGL APIs. In particular, ‘cover flow’ visualization modes and ‘criteria ordering’ could be useful tools for a dynamic and efficient data managing.
  • Photogrammetric image processing: DSM generation tool for OSSIM My project proposal concerns the development of an OSSIM App for Digital Surface Models (DSMs) generation using high resolution satellite imagery. Such a task is not a trivial one and several complex processing steps are required; I would like to mix the OSSIM functionalities with the algorithms implemented in the OpenCV library in order to exploit the combined capabilities in a synergistic way.
  • Process Chaining Capabilities for PyWPS There are a few ways to do process orchestration in PyWPS, but experience showed us that they are complicated or have problems like dealing with large datasets. So I propose the idea to expand the capabilities of PyWPS so it is possible to describe the orchestration workflow in a simple xml document which is parsed and executed by a PyWPS process. This orchestration process will support if/else conditions, loops and the retrieval of results from a running process.
  • Refactor Current VRP Implementation into Generic Class Solver for pgRouting Traveling Salesman(TSP) and vehicle Routing(VRP) have been a very interesting and challenging problem in the area of Operations Research . . pgRouting currently has implementations for TSP and Capacitated vehicle routing problem with time windows. The idea here is to develop a more generic solver for these problems which can be done by refactoring the current VRP solver and then write wrappers for other specific variations of the same problem particularly for TSP and CVRP.
  • Schematization Plug-in for QGIS The aim of the project is to add some functionality to create schematic maps in QGIS. This would be done by creating a plug-in which would have various map generalization/schematization functions implemented in it.
  • ScribeUI: A GUI and tools for MapServer mapfile editing ScribeUI is a Mapfile editing and management GUI that was developed last year as a project for the Google Summer of Code 2013. It is a very useful tool for map edition and creation and supports a new mapfile syntax that makes map editing much easier and faster. The project needs some more work done to really shine. The goals of this project is to get scribeui to a state of stability, along with an easy to follow install procedure.
  • Testing framework for GRASS GIS GRASS GIS is one of the core projects in the OSGeo Foundation. GRASS provides wide range of geospatial analyses including raster and vector analyses and image processing. However, there is no system for regular testing of it's algorithms. To ensure software quality and reliability, a standardized way of testing needs to be introduced. This project will implement a testing framework which can be used for writing and running tests of GRASS GIS modules, C/C++ libraries and Python libraries.
  • XLS file format support for gvSIG Desktop 2.x The idea is about adding to gvSIG Desktop support of XLS file format (Microsoft Excel Spreadsheet) by implementing a new data provider in order to facilitate the data transfer between Microsoft Excel and gvSIG. The provider will support multiple spreadsheets files reading and mono-spreadsheet files writing.