Marble: Ein Karten-Widget für KDE

Torsten Rahn hat sich der Visualisierung geographischer Daten in KDE angenommen und ein Qt-Karten-Widget samt Mini-Applikation programmiert. “Marble” kommt mit einem minimalen Datenbestand von ca. 5 MB Größe und unterstützt neben Vektor-Karten auch Bitmaps. Die Darstellung erfolgt als 3D-Globus, gleicht also prinzipiell etwa Google Earth oder auch NASA WorldWind. Der Autor weist allerdings explizit darauf hin, dass kein OpenGL zum Einsatz kommt. Obwohl eine Erweiterung in diese Richtung prinzipiell möglich sei, reiche die Performance auch ohne 3D-Beschleunigung aus.

Der Datenbestand kann problemlos ausgetauscht werden, so existieren bereits mehrere verschiedene Ansichten der Erde (Topografisch/Nacht/Satellitenfotos), auch eine Karte des Mondes wurde ausprobiert. Der Code enthält bereits experimentelle Unterstützung für KML-Definitionen und kann daher etwa mit Google Earth Placemarks umgehen. Da Marble bisher nur Qt 4.1, voraussetzt ist auch eine native Windows-Version denkbar.

Ein erster Test des aktuellen Codes aus dem Subversion-Repository (Anleitung am Ende des Original-Postings) zeigt folgendes Bild: Die Qualität der mitgelieferten Karten ist recht schwach, bereits bei moderaten Zoomstufen bleiben nur noch grobe Pixel übrig. Hier soll aber bald durch aktuellere Daten nachgeholfen werden. Die Steuerung erfolgt wie gewohnt, eine Bewegung des Mauszeigers bei gleichzeitig gedrückter linker Maustaste dreht den Globus, gezoomt wird mit dem Scrollrad. Auf einem Athlon64 X2 3800+ mit 1 GB RAM, Ubuntu Edgy, einer GeForce 4 Ti 4800 und NVIDIA-Binaries ruckelt die Darstellung aber deutlich. Ob dies so bleibt oder eine Software-Komponente auf dem verwendeten Test-System Probleme macht, ist noch nicht absehbar. Die vorgeschlagene Optimierung in Form der gcc-Flags “-O2 -msse” verbessert die Darstellung etwas, wirklich flüssig wird sie dadurch aber nicht.

Für die Zukunft sind verschiedene Erweiterungen geplant. Daten sollen wie bei den “Konkurrenten” direkt aus dem Internet nachgeladen werden, was prinzipiell auch die Einbindung von Google-Karten ermöglichen könnte. Auch gibt es verschiedene Ideen zur Einbindung eigener und fremder Kartendaten, z.B. von GPS-Geräten oder Projekten wie OpenStreetMap.