Google Summer of Code 2015 Results

 @

OSGeo participated in Google Summer of Code 2015 with 13 projects, all successful:


 * GDAL - Faza Mahamood: Integration of GDAL utilities into GDAL core library


 * GRASS GIS - Matej Krejci: Improved Metadata for GRASS GIS


 * gvSIG - Eva Rodríguez: Port Network Analysis Extension to gvSIG 2.x branch


 * istSOS - Luca Ambrosini: Scalability for Big data processing for istSOS


 * JGRASSTOOLS - Silvia Franceschi: Development of a simple 1D hydraulic model for JGRASSTOOLS


 * MapServer: Samuel Lapointe: Add productivity tools to MapServer's ScribeUI


 * Opticks - Tom Van den Eynde: Image Enhancement/Background Suppression for Opticks


 * OTP - Nipuna Gunathilake: GTFS-Realtime validation tool for Open Trip Planner


 * OSGeo-Live - Massimo Di Stefano: Integration of geospatial OSS in educational notebooks


 * OSSIM - Martina Di Rita: OSSIM tool for DSM generation using tri-stereo and SAR imagery


 * pgRouting: Sarthak Agarwal: New osm2pgrouting import tool to import OpenStreetMap (OSM) data in pgRouting


 * PyWPS - Calin Ciociu: REST interface for PyWPS 4


 * QGIS - Marcus Santos: QGIS - Multithread support on QGIS Processing toolbox

Example: software XYZ - title of my GSoC project
Student1 (picture)
 * Mentors: Mentor1; Mentor2; OtherMentors?
 * Brief description of the idea. e.g. "My project focused on xxx".
 * The state of the project as it was BEFORE your GSoC. For example, if you made a GUI, you can say: "In the software XYZ, when I wanted to use the tool xxx, I had to manually edit the file yyy. "
 * The addition that your project brought to the software. In the same example: "With the GUI that I created, now it is possible to use the tool xxx via graphical user interface".
 * Add all the links (hopefully permanent) to access the relevant code and documentation for the user to get started with testing your application. "Please test my code following instructions here".
 * Slide The slide / image should serve to show the main elements of your project. It could be a flow chart, a screenshot, both, or whatever you think could serve for the scope. Remember: the aim is to showcase your project to people that are not necessarily familiar with the software.

GRASS GIS - Improved Metadata for GRASS GIS
Matej Krejci (picture: http://tinyurl.com/pp69bwd)
 * Mentors: ​Martin Landa, Angelos Tzotsos, Luca Delucchi
 * Description: The first aim was to improve current package by adding a new functionality for extend metadata handling. The second goal was to implement module for interaction with metadata catalogue services (CSW).
 * State of the project before GSoC: In 2014 during GSoC I have developed new GRASS GIS metadata management support based on ISO-INSPIRE. This package needed extension to meet the users requirements. In addition package for CSW searching was missing.
 * Addition to the project: New module g.gui.cswbrowser based on graphical interface allows managing csw connections, setting filter and searching, browsing results and adding services to GRASS GIS have been implemented. For g.gui.metadata have been added support: exporting metadata reports to pdf, storing themes of metadata in SQL backend, publishing metadata to CSW and metadata support for Temporal datasets.
 * Slide: https://grasswiki.osgeo.org/w/images/Find1.png

Links:
 * Project: https://grasswiki.osgeo.org/wiki/ISO/INSPIRE_Metadata_Support
 * Development page 2015: https://trac.osgeo.org/grass/wiki/GSoC/2015/ImprovedMetadata
 * source SVN: http://svn.osgeo.org/grass/grass-addons/grass7/gui/wxpython/wx.metadata/

Mapserver - Add productivity tools to MapServer's ScribeUI
Samuel Lapointe (picture: https://goo.gl/photos/LbSwPeMrCG5V2K9t8)
 * Mentors: Daniel Morissette; Jessica Lapointe
 * Description: The goal of the project was to improve the error detection system, add the ability to export and import maps and add a way to generate a set of classes from data.
 * State of the project before GSoC: When I wanted to debug a map that didn’t work, I had to check the generated Mapserver file to find the error. To create classes from a set of data, I had to analyse the data and create the classes using bounds I had manually calculated, and the only way to export a map was to use Git.
 * Addition to the project: Now, I can see most syntax errors directly in the editor’s interface, I can use a menu to generate classes for a layer and I can export or import maps to share them with other users.
 * Slide: https://drive.google.com/file/d/0B686XfUqwP1LMm5GaVV0ckZ1b2c/view?usp=sharing

Links:
 * Project page: https://github.com/mapgears/scribeui
 * Getting started: https://github.com/mapgears/scribeui/wiki/Getting-started-with-ScribeUI
 * Demo: http://demo.scribeui.org/

QGIS - Multithread Support on Processing Toolboxt
Marcus Santos (https://media.licdn.com/media/AAEAAQAAAAAAAATOAAAAJDA1Y2M0MWQ0LTMyYjMtNDlhMi05OWM3LWIxMDQ5YWM1ZTk2MA.jpg)
 * Mentors: Victor Olaya, Alexander Bruy
 * Description: This project consisted on making the QGIS Processing toolbox multi-threaded, allowing to have non blocking analysis/geoprocessing jobs, prevent crashes (when a QGIS module crashes for some reason) and also improve the user experience.
 * The state of the project GSoC: Before the multithreading support, the user was only able to run one analysis at a time and there was no option to cancel the algorithm execution.
 * The addition to the project: With multithreading support the user is allowed to cancel long geoprocessing jobs and also run several algorithms at the same time.
 * Slide: https://www.dropbox.com/s/fmaxf97jkmf2cy1/slide.png?dl=0

Links:
 * Project page: https://qgisgsoc2015.wordpress.com
 * Repository: https://github.com/mvcsantos/QGIS
 * Demo: https://www.youtube.com/watch?v=V-CJCnKw89U

Opticks – Image Enhancement/Background Suppression
Tom Van den Eynde (picture: https://goo.gl/photos/DKwS7Fq4ZWEmHfR46)
 * Mentors: Trevor Clarke
 * Brief description of the idea: The goal of the project was to implement the image enhancement algorithm Drizzle for both image and video input.
 * The state of the project as it was before GSoC: In Opticks, when I wanted to use a low resolution image I had to resort to other software to first improve the quality or reduce the noise interference.
 * The addition to the software: With the addition of the Drizzle algorithm, Opticks can enhance and improve the interpretability of images. Now, even low resolution or heavily noise polluted images can be used for various remote sensing applications.
 * Slide: https://goo.gl/photos/szt3RW3X93v2ccZi9

Links:
 * Project: https://www.google-melange.com/gsoc/project/details/google/gsoc2015/tomvde/5733935958982656
 * Blog: http://drizzle-for-opticks-gsoc2015.blogspot.be/
 * Repository: https://github.com/Tom-VdE/Drizzle-plugin
 * Instructions: https://github.com/Tom-VdE/Drizzle-plugin/blob/master/README.md

PyWPS-4 – REST Interface
Calin Cristian Nicolae Ciociu (picture: http://i.imgur.com/WglCPnz.jpg)
 * Mentors: Jachym Cepicky, Luís de Sousa
 * Brief description of the idea: My project added the ability to use a REST interface to control, add, remove processes and change configuration of PyWPS-4 instances.
 * The state of the project as it was before GSoC: We had to create/delete the processes by accessing the storage of the server which required a restart of the server every time something got changed.
 * The addition to the software: With the addition of the REST interface I wrote everyone who needs to update, delete, or add new processes and change configuration can do so without accessing the server.
 * Slide: http://i.imgur.com/oYAHsgQ.png

Links:
 * Project: http://www.google-melange.com/gsoc/project/details/google/gsoc2015/noctalin/5717271485874176
 * Repository: https://github.com/jachym/pywps-4
 * Instructions: https://github.com/PyWPS/pywps-4-demo/blob/master/README.rst

GDAL - Integration of GDAL utilities into GDAL core library
Faza Mahamood (Picture: https://drive.google.com/file/d/0B9gY4JeBmoKVZ2REcjcwVnl1Nk0/view?usp=sharing)
 * Mentor: Even Rouault
 * There is a need for calling GDAL utilities from code without involving system calls, to be able to work on in-memory datasets and use progress/cancellation callback functions.
 * Before, inorder to use any functionalities of GDAL utilities in a program, the developer had to use system calls. Even then, the developer cannot work with in memory datasets.
 * Now, the developers can easily have all the functionalities of GDAL utilities through dedicated functions which are part of GDAL core library. There is no system call involved and it works on in-memory datasets.
 * Project: https://trac.osgeo.org/gdal/wiki/rfc59.1_utilities_as_a_library