By Jake Edge
September 19, 2007
At first glance, the KDE Marble
project might look like a competitor to other 3D mapping applications,
like Google Earth or NASA's World Wind, but it has a very
different focus. It has a similar globe view and the navigation is
familiar, but, unlike the others, it does not rely upon enormous data
sets accessed via the internet; it is, instead, self-contained and fairly
lightweight. The intent is to provide a framework for other applications
to use so they can incorporate geographic information, while the Marble
application is a demonstration and testbed for those ideas.
The project wants to see Marble used by many different applications, both
for input of geographic information and for presenting it. The project
lives under the
KDE Education Project as one of the
applications for Marble is for geographic learning. Many other applications
could use a standard framework for displaying maps of various sorts, from
games, using their own, possibly fictional maps, to GPS and other
visualization tools.
Marble does not rely on OpenGL or any hardware support for 3D, in order to
reduce complexity and dependencies, which will serve it well when
porting it to embedded devices. The dataset that comes with the program
weighs in around 9M and provides reasonable, worldwide, detail. The interface
is meant to work like other geographic tools to
provide a "geo-widget" that behaves the way users expect, removing
one barrier to its acceptance.
The project recently released its 0.4 version, which was easily installed
on Fedora 7 using yum. When starting it for the first time, it
goes through a setup process, lasting for 30 seconds or so (depending on
hardware, of course), but after that, startup is very quick. It opens with
a spherical projection view of the earth along the prime meridian allowing
users to grab and rotate the earth in various directions.
The navigation is simple, with zoom and pan buttons in addition to
the "grab and pull" style. One can also pan the view by moving the mouse
to the edges of the display and clicking once the pointer has changed to an
arrow indicating a direction. Left-clicking on the map will give the
coordinates of the location, whereas right-clicking brings up a menu allowing
a few operations to be performed. While not horribly painful, moving
around is a bit jerky, tracking noticeably slower than the mouse pointer
moves.
The default theme is the atlas view, which looks much like the name
implies, with colors and relief shading to represent elevation and ocean
depth. Other themes available include a satellite view, using NASA Blue
Marble data providing 500 meter per pixel resolution, as well as an "earth
at night" view showing populated areas by the amount of light they give
off. The information overlaid on the map contains political boundaries,
cities keyed by population, lakes and rivers, notable mountains, and
a latitude/longitude grid, each of which can be disabled as desired.
Many of the map features can be clicked to bring up information about
the location, both from the program data and Wikipedia. The main right-click
option is a distance tool, which measures the distance between the two (or
more) points.
Marble also
handles standard GPS .gpx data files, along with support for
Google Earth's KML format. Overall, this release provides a limited subset
of the capabilities eventually envisioned for the tool.
The main thrust of the 0.5 release is to fully integrate the contributions
from three Google Summer of Code (GSoC) students. Improving the KML support,
adding
gpsd support to talk to
to GPS devices, and "flat" projections were completed by the
GSoC participants. They have not been fully integrated into the interface
for 0.4, but will be for the next release.
Longer term plans include adding support for data from
OpenStreetMap, a
Wikipedia-like project to map streets and roads worldwide. The project also
plans to offer optional OpenGL support to enable hardware acceleration for
applications and users who want it. Better resolution satellite data is
another area that will be addressed by adding Landsat 15m data.
Marble shows a lot of promise, the current release is stable and useful,
though it lacks many features. The key to its success, as a library and
framework as opposed to an application in its own right, is in defining an
API that is flexible enough for most applications. If the project can get
that right, there are lots of ways to use it. Once an API stabilizes,
we can expect to see Marble-enabled applications, hopefully soon.
(
Log in to post comments)