Marble Virtual Globe

Marble is a Virtual Globe based on Qt technology and is a part of the KDE Edu Suite ( The Marble webpage is at and the developers' mailing list is at If you want to apply for one of these projects please check out the student application form on the ESA Summer of Code in Space 2015 (ESA SoCiS) website! Deadline for the application is April 30th, 2015!

Project: Marble: Integrate data provided by the Sentinel missions

Brief explanation: ESA Sentinel is a series of next-generation Earth observation missions on behalf of a joint ESA/European Commission initiative. Each mission will focus on a different aspect of Earth observation; Atmospheric, Oceanic, and Land monitoring. Sentinel-1 performs Radar imaging. Sentinel-2 will provide high-resolution optical imagery. Later missions will focus on marine and atmospheric observations. Marble provides extensive support for visualizing spacial data. And the Sentinel missions will provide a range of data that would improve Marble user experience a lot if it was integrated with Marble. This project will be about exploring and implementing different ways to integrate Sentinel-1 data into Marble. The resulting integration of the data should allow regular Marble users to view the Sentinel data during regular use. Possible tasks might cover: - Improving the KML file format support to allow for viewing the KML files provided via the Sentinel website - Parsing and preprocessing the Sentinel-1 data provided by the Sentinel website for use in the Marble topographic map and in other places where Marble makes use of DEM data. - Preparing Marble for use of Sentinel-2 data.


Project: Marble: Bringing Marble into the Planetarium

Brief explanation: Marble is a great educational tool for desktops and mobile devices. It has extensive support for projections. As such it could be easily used to provide the view in a format that can be used for single projector digital planetariums. This could be developed further into a solution that can be used with multiple projectors and multiple servers. The initial challenge would be to provide Marble's view in a projection that can be used by a single projector. This approach should be fully implemented during the project's timeline. Possibly Marble's OpenGL mode could be extended to provide a richer feature set. Later on the challenge would be to distribute Marble's view across multiple projectors and ensure proper synchronization. This step is certainly a lot harder to accomplish but it would be nice already if the result of this project would provide a simple prototype.

Ressources: Stellarium already does provide a similar feature. However Stellarium only features a minor subset of the capabilities Marble provides. See

We are also in touch with some planetarium people who would be able to provide some input (and maybe ressources).

Expected results: Marble is used to display the starry sky, earth and planets inside a digital planetarium dome.

Knowledge Prerequisite: A good grasp over C++ and object-oriented programming, and Qt; writing test cases with Qt; should quickly learn how to write libraries; have a lot of patience; ability to solve software design problems.

Math skills are needed, familiarity with celestial mechanics is a plus!

Mentor: Torsten Rahn <rahn AT kde DOT org>, Rene Kuettner <rene AT bitkanal DOT net>



KStars is a very powerful tool for anyone interested in astronomy. It is part of the KDE Edu suite.

Project: Fix our deep-sky data handling

Brief explanation: Currently, KStars handles data from deep-sky object catalogues in an SQLite database. While this is working well, there are some more features we would like to have, and some that should be implemented in order to sanitize the deep-sky data handling, such as automatic cross-referencing of deep-sky objects across catalogs, organizing deep-sky data better in the database etc using Hierarchical Triangular Mesh, etc.

More details here:

Expected results: Some, or all of the improvements to deep-sky handling suggested above (or maybe even your own suggestions), implemented completely in solid, release-worthy code.

Knowledge Prerequisite: C++, Qt, understanding of astronomical catalogues, some experience with data structures.

Mentors: Rafal Kulaga (IRC: rkulaga), Rishab Arora (IRC:spacetime)

The student will need to:

  • Look at the relevant code, and propose a tractable plan for implementing some of the improvements within the GSoC timeframe.
  • Implement some of the improvements, producing production-ready code that can be included in the next release of KStars after GSoC 2014.

PS: If all this looks daunting, that's because you have not (yet) talked to us. If you're really interested, get onto #kde-kstars and ping the mentors.

Project: Improved star hopping feature in KStars

Brief explanation: Star hopping is a technique that is often used by amateur astronomers to locate objects in the sky. It uses brighter objects as a guide for finding fainter ones. Many good star hopping tutorials are available on the web.

KStars currently has an experimental implementation of star hopping (tools/starhopper.cpp and tools/starhopper.h) that uses A* algorithm. It's currently not configurable - it would be good to give user the possibility to specify equipment used during session and then use this information to create better star hopping lists by adjusting cost function. Also, changing the way star hopper feature is enabled by the user is worth considering. The option to print star hopping list together with instructions and basic information about intermediate objects would be desirable. Classes that comprise extended star hopper feature should come with proper unit tests.

Please note that this is relatively simple project, so extending it with other ideas and tasks is welcome.

Expected results: Reliable and configurable star hopping feature in KStars with possibility to print star hopping instructions.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Sky guides feature in KStars

Brief explanation: This feature is targeted particularly at beginners in the field of amateur astronomy. The idea is to create XML file format that will enable anybody to create guides which can be then published in the same way as custom star catalogs are. In the longer perspective, a feature that will enable creation and editing of such guides directly from KStars (without the need to manually edit XML files) should be implemented.

On the technical side, sky guides could be implemented as a neat QML-based side panel of the KStars' main window. Mockups are welcome in project applications.

This feature has been partly developed as a part of SOCIS 2011 project. It hasn't been finished as we have decided to focus on other issues. Currently only XML file format for sky guides and classes that represent guides, slides etc. are mostly finished. Code related to sky guides feature is located mainly in the socis2011-skyguides branch. XML schema definition file for sky guides is /kstars/data/skyguides.xsd.

Extensions and other ideas are welcome.

Expected results: Aesthetically pleasing and complete sky guides feature, optimally with a few example files.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Improve 'What's up tonight' feature in KStars

Brief explanation: Currently, 'What's up tonight' feature, although working, might not be optimal for observation planning. The idea is to extend it with the option to filter out objects which can't be observed with the equipment that user possess and ones that are not interesting for the user for other reasons. Resulting objects should be then presented as a chronological list with possibility to print it (integration with KStars printing features would be a great plus).

Extensions and other ideas are welcome.

Expected results: More functional 'What's up tonight' feature, integrated with KStars printing features.

Knowledge Prerequisite:

  • Good knowledge of C++, Qt and KDE libs.
  • Basic knowledge in astronomy would be a plus.

Mentor: Rafal Kulaga (rl.kulaga - at -, IRC: rkulaga)

Project: Propose your own project

Brief explanation: If you have some interesting ideas about KStars that can be implemented within the GSoC timeframe, you are very welcome to propose them, because we seem to have run out of ideas.

Mentors: Rafal Kulaga (IRC: rkulaga), Rishab Arora (IRC: spacetime)

This page was last edited on 12 March 2015, at 05:45. Content is available under Creative Commons License SA 4.0 unless otherwise noted.