Google Summer of Code 2016

List your Google Summer of Code 2016 Ideas Here!

Ideas from previous years are available at corresponding pages:

OSGeo GSoC 2016 Page

Possible [co]mentors, please add yourself to list below and to description on idea you want to mentor:
  • Alexander Bruy

Use a second level heading for your project idea (see mini-template below).

My Project

Proposed by: Anonymous
Possible mentor:

  • Create cool stuff
  • Make QGIS better

Improve and cleanup QGIS algorithms in Processing

Proposed by: Alexander Bruy
Possible mentor: Alexander Bruy

Currently there are more than 100 native QGIS algoroithms in Processing toolbox. Some of them have duplicated functionality, others quite unstable or has too complex code. This helps a lot with upcoming transition to Python 3 and Qt 5. Project may include following tasks:

  • remove duplicated algorithms
  • identify commonly used code and move it into tools package
  • refactor overengineered algorithms
  • improve stability and speedup slow algorithms

General Processing improvements

Proposed by: Alexander Bryu
Possible mentor: Alexander Bruy

While Processing framework is constantly improved, there are many different issues to solve:
  • Better handling of outputs. Currently Processing has very limited support for saving files in different formats(there is no way to set additional options like in QGIS "Save as" dialog, saving in formats other than shapefile is a bit tricky, etc)
  • GUI review and improvements. Processing GUI still needs some polishing: all dialogs should be as small as possible, we should use Qt Designer ui files where possible. Another topic is icons for algorithms and outputs in modeler, more user-friendly way to reconnect algorithms and outputs in modeler etc.
  • Graphical Modeler needs some love: there is no undo/redo support, nor copy/paste support for algorithms/inputs blocks, etc
  • Testing framework. We already have test suite for Processing integrated with main QGIS test suite. But tests coverage is very limited, it is necessary to extend it.

Improve vector geoprocessing algorithms

Proposed by: Alexander Bruy
Possible mentor:

Vector geoprocessing is important GIS functionality. Unfortunately, using QGIS lacks of the reliable and fast geoprocessing tools. There is fTools plugin, but its alforithms are very slow and unreliable. Also they can not be used from other plugins. There is also C++ port of this algorithms in QGIS analysis library, but it is also not optimal (this is just direct port of the Python code). Project may include next tasks:
  • develop set of the most common geoprocessing algorithms as a part of QGIS analysis library
  • integrate this alforithms in Processing framework
  • use multiple CPU cores to speedup algoroithms where possible
  • if time allows add more geoprocessing tools

Improve OpenStreetMap import

Proposed by: Dmitry Kiselev
Possible mentors: Dmitry Kiselev

Qgis do osm import in two steps: first import osm into sqlite db, second: create flat tables for required layers with geometries and attributes. After table being generated there is no convenient way to modify it. Add another osm tags for instance. Also there is no way to update layers with new osm data dump.

What we suppose to do:
  • Save tables/layers metadata into sqlite and qgis project.
  • Extend osm export dialog with a list of exists (generated) tables, and capability to change and reload it.

Create a QGIS Symbology repository

Proposed by: Alessandro Pasotti
Possible mentor: Alessandro Pasotti

The Python plugin repository has proven to be a valuable mean for sharing code and offer new functionalities, symbology is a fundamental part of a GIS system and system for sharing symbols would enhance user experience and improve cooperation between individuals.

  • create production-ready re-usable Django app for sharing symbols
  • create a Python plugin for browsing, uploading and downloading symbols from the repository
  • test and deploy on qgis.org