Google Summer of Code/2015/Project Ideas

From OpenStreetMap Wiki
Jump to: navigation, search

This page lists a number of ideas for potential Google Summer of Code 2015 projects. For ideas from previous years see Category:Google Summer of Code ideas. Also check out Research/Ideas (project ideas related to research or academia), Top Ten Tasks (the main issues OSM developers are concerning themselves with), and existing bugs for more problems to solve.

This page's primary purpose is to help to give potential applicants ideas that they can build on to turn into applications for the programme. Members of the community are encouraged to identify ideas for projects here, and whether they would be willing to act as a mentor for a student attempting the project.

Students can base their application on one of these ideas, or on an idea of their own if they prefer.

Looking for the application template? Google_Summer_of_Code/2015#Project_Proposal

Processes

If you are thinking of applying for GSoC, please see our Google Summer of Code/Processes page which describes the way that we manage GSoC within OSM, so you know what we expect of students and Mentors.

Project Ideas

This is the list of projects. Please add projects using the GSoC idea template.

Recording and Playback of Camera Movement in OSM2World
Suggested By
Summary
The 3D renderer OSM2World can generate realistic 3D sceneries and export them to static images and files for modelling software. It is, however, not yet able to produce movies and real-time animations, e.g. simulating car driving or a low flight through a city. The student is tasked with the extension of OSM2World's GUI with the functionality to record camera movement, a file format to store it, and the ability to playback the movement either in the GUI itself or by exporting it via POV-Ray or OpenGL to a video file.
Skills Required
Java, optionally POV-Ray experience
Difficulty
Medium
Possible Mentors
Notes
Depending on the student's skills the task can be extended to more complex movements, smooth movements and converters to import GPX files and the like.
Comments
A WebGL frontend for OSM2World
Suggested By
Summary
The 3D renderer OSM2World is currently limited by the use of 2D tiles in its web frontend. The student is tasked with implementing a modern WebGL-based frontend that displays 3D data tiles received from a server running the OSM2World software.
Skills Required
JavaScript, ideally also OpenGL or WebGL, three.js, Java
Difficulty
High
Possible Mentors
Notes
Comments
Web application for sharing 3D-Models to use in OSM-related 3D-Applications
Suggested By
Summary
3D rendering and modelling gets more and more attention in the OSM ecosystem. However, not everything can and should be modelled in OSM itself, when dedicated 3D modelling applications are a better choice. The student is tasked to write a web application that allows uploading and managing 3D models for buildings and street furniture but also for textures to use in OSM. Ideally the website also features comments, a JS based live view of the models and so on.
Skills Required
Web-Engineering
Difficulty
Medium
Possible Mentors
Notes
Applicants should note which language and technology they would use
Comments
JOSM Plugin to work with Mapillary images
Suggested By
Summary
Mapillary is a platform for crowdsourced street view images. OSM received explicit permission to derive data from these images. Showing these images including their compass bearing in JOSM would enhance the workflow a lot.
Skills Required
Java coding
Difficulty
Medium
Possible Mentors
Notes
The Mapillary team is very open towards OSM and would welcome such a plugin, but ATM don't have the manpower to write it on their own.
Comments
JOSM support for WMTS images
Suggested By
Summary
there are a few services that provide high resolution photos as WMTS services (at least in Poland). WMTS is far more performant than WMS due to its cache-friendliness
Skills Required
Java coding
Difficulty
Medium
Possible Mentors
Notes
Some details about this feature request are detailed here: http://josm.openstreetmap.de/ticket/10623
Comments
Learning platform for Overpass API
Suggested By
Summary
Create an interactive learning platform (as seen in projects like Codecademy and many more) for the Overpass API query language.
Skills Required
Web development (JavaScript, HTML), Overpass API query languages
Difficulty
Low-Medium
Possible Mentors
Notes
The Overpass API has become a valuable tool to access OpenStreetMap data in the last few years. Unfortunately, its documentation is still not very beginner-friendly, thus making it hard to learn the full potential of the query language. An interactive learning platform together with better documentation could close this gap. This platform could be based on overpass turbo, or be an individual site.
Comments
Moderation Queue for osm.org
Suggested By
Summary
Create a moderation queue extension to osm.org to allow for the reporting and handling of problematic events/users (spam, vandalism, etc.)
Skills Required
Ruby on Rails
Difficulty
Medium
Possible Mentors
Notes
Comments
OSM Anomaly Detection
Suggested By
Summary
There's an increasing need for detection of anomalous events in OSM, including vandalism, user error and mass mechanical edits. Preliminary work has been done to provide a detection and reporting system for these types of events, but more work in this area would be very welcome as the project matures.
Skills Required
Web development (JavaScript, HTML), Python, Overpass API
Difficulty
Possible Mentors
Notes
Comments
Image filters for Raster layers in JOSM
Suggested By
Summary
We already have transparency settings for layers and it would be extremly helpful to have unsharp mask filter, brightnes/contrast, saturation and so on. There is plenty of java implementations for such filters for bitmaps.
Skills Required
Java
Difficulty
Medium
Possible Mentors
Notes
Here are some details and project development Road Map JOSM_raster_layers_filters
Comments
OpenStreetMap carto
Suggested By
Summary
There are numerous open issues with OpenStreetMap Carto which might be suitable for GSoC
Skills Required
CartoCSS, PostgreSQL
Difficulty
Variable
Possible Mentors
Notes
There are a few osm-carto issues which would require coding which might be suitable - this is not suggesting one in particular.
Comments
Create a Portable OSM Toolkit
Suggested By
Summary
The goal of this project is to create a customized version of OSGeo Live to include a specific set of tools for working with OpenStreetMap data. The development can either enhance the current OSGeo Live by adding tools, or else create a separate streamlined version with just OSM tools and a smaller subset of GIS utilities. The final product will be used for training, outreach and easy field work deployment.
Skills Required
Debian packaging, bash, Java, Python
Difficulty
Medium
Possible Mentors
Angelos Tzotsos (@kalxas GitHub id), Cameron Shorter (@camerons GitHub id)
Notes
Additional discussion of this project can be found here: https://github.com/hotosm/HOT-Project-Ideas/issues/15
Comments
Interested students should get in contact with Cristiano Giovando and discuss their project implementation ideas on GitHub
Improve GraphHopper Routeplanner on Android
Suggested By
Peter aka karussell
Summary
The GraphHopper routing engine already runs on several operating systems including Android. To increase adoption on this platform there are several places to improve GraphHopper.
  • It needs to be investigated which heuristics and algorithms can be used if the fast routing (contraction hierarchy) is not an option. And which data structures (memory-bound queue) needs to be created.
  • But there are also more Android specific tasks like a background offline routing server/process which could be used from other apps as well (or via Android intent).
  • To make the achieved work 'useable' or to demonstrate the achieved goals the student can improve the existing App with a different maps like with the openscience / vtm project.
  • The final touch would be to create a video or blog post about the work
Skills Required
Java and Android knowledge. Interests in (routing) algorithms like Dijkstra.
Difficulty
Possible Mentors
karussell
Notes
Comments