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.

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

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/

istSOS
Ambrosini Luca (picture : https://www.dropbox.com/sc/z3twbb6zicslvy2/AAC43ZE3JYy_JCAiLEGoOstIa )


 * Mentors: Massimiliano Cannata, Milan Antonovic


 * Brief description of the idea : istSOS is essentially a data collector, it wasn't ready for BigData, the idea was to implement data replication to improve security, online time and performance.


 * The state of the project before GSOS : All data were hosted on a single postgres db, and there wasn't a tool that helps finding this implementation limits.


 * The addition that your project brought to the software : We adapted the source code to work with replications, we set up a middleware that balances query among multiple database server, and we realized a benchmarking tool to test system response time and its scaling.


 * Gsoc Reports : https://sourceforge.net/p/istsos/wiki/GSoC_2015_scalability/


 * Slide http://i.imgur.com/EACzyxf.png

JGrassTools - Development of a simplified 1D hydraulics model
Silvia Franceschi (picture: https://sites.google.com/a/hydrologis.com/home/_/rsrc/1348641375730/silviafranceschi/silli.jpg?height=320&width=234)
 * Mentors: Andrea Antonello, Riccardo Rigon
 * Description: The module developed during this GSoC2015 is SaintGeo, a simple 1D hydraulic model based on the equations of Saint Venant.
 * State of the project before GSoC: There was an original implementation of the model in C language done during a master thesis by Angelo Zacchia and Riccardo Rigon. I did the porting in the JGrassTools library of the model together with the implementation of the code for reading and writing GIS layers as input and outputs.
 * Addition to the project: The new model bases on GIS input layers instead of text files and has a graphical interface, directly provided by the integration in the JGrassTools library to specify the inputs and outputs files.
 * Slide: https://github.com/moovida/jgrasstools/wiki/gsoqc2015imgs/a_profile_qin_monte_laterali_in_out10.png

Links:
 * Project: http://www.jgrasstools.org
 * Development page 2015: https://github.com/moovida/jgrasstools/wiki/Google-Summer-of-Code-2015
 * Source: https://github.com/moovida/jgrasstools/tree/master/hortonmachine/src/main/java/org/jgrasstools/hortonmachine/modules/hydrogeomorphology/saintgeo

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/

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

OSSIM - Tool for DSM generation using tri-stereo optical imagery
Martina Di Rita (You can find a picture of me @ https://www.dropbox.com/s/59dfmpz8kwapmsf/2015-12-03%2015.54.15.jpg?dl=0) Relevant links:
 * Mentors: Oscar Kramer, David Burken
 * Brief description of the idea: the work has been based on a previous GSoC project through which a tool, named DATE, for Digital Surface Model (DSM) generation from optical stereo-pair was developed within OSSIM framework. The idea was to improve and update DATE in order to generate DSMs from tri-stereo optical imagery and fix some bugs in the DSMs generation processing chain. DATE key features include the use of computer vision algorithms in order to improve the processing efficiency and make the DSMs generation process fully automatic.
 * The state of the project as it was BEFORE this GSoC: before this GSoC it was not possible to process tri-stereo imagery and there was still some problem in finding the right quasi-epipolar geometry in the stereo version in order to compute a proper Disparity Map.
 * Addition to the software: with DATE plug-in it is now possible to generate DSMs within OSSIM framework starting from stereo and tri-stereo satellite optical imagery. Furthermore, from the stereo processing side, I added an image preprocess filtering and I found a better solution for the quasi-epipolar geometry achievement.
 * GSoC Proposal: https://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2015/martidi/5717271485874176
 * Weekly reports: https://trac.osgeo.org/ossim/wiki/OSSIMtoolForDSMgenerationFromTristereoAndSARimagery
 * Please test my code in https://github.com/martidi/opencv_dsm/tree/master following the instructions in README.md file


 * 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.

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

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