Skip to content

Let the Marble roll ...

Thursday, 5 October 2006  |  torsten rahn

My last last blog entry about Marble covered how Marble is meant to be a generic geographical map widget. It shows the earth as a sphere but doesn't make use of any hardware acceleration (NO OpenGL). So although it might look similar to professional applications like Google Earth or Nasa World Wind it's rather meant to be a small light weight multi purpose widget for KDE.

Still Marble comes already with basic Google Earth KML file support and therefore Rainer Endres sat down and did some script magic to convert the data on KDE WorldWide to KML file format.To improve the very basic placemark rendering I added some code to make sure that the labels don't cover each other. So here's the North American KDE Community in all its beauty (Say "hi" to Aaron, Jason, Chani, Annma, Jeff and all the others):

Of course the algorithm in place can't compete with more sophisticated automatic label placement methods (like Simulated Annealing), but judging from the result it's a good start - especially given that it's not optimized yet at all.

If you want to try it yourself these are the steps that lead to instant success:

  • Make sure you've got SVN and at least Qt 4.1 installed
  • svn co svn://anonsvn.kde.org/home/kde/trunk/playground/base/marble
  • cd marble
  • ./buildqmake qmake (make sure that the parameter refers to Qt4's qmake - on Kubuntu you have to type in buildqmake qmake-qt4 ").
  • make
  • Now download Rainer's fresh KDE Community KML file and save it in the "marble" directory that you have just created.
  • As a last step execute: bin/marble ./kde-devel-locations.kml

and Marble is ready to roll ...

Have a look at the fine work of my coworker Slartibartfast and see the Trolls while you're near. And as you're there already don't forget to register for the 10-Years-KDE anniversary party: You might win a Qtopia Greenphone if you do so ;-) .
Last but not least I'd like to thank Joseph Wenninger who did an initial port of Marble to cmake right after I had commited Marble to SVN.