Jan
02
2011

Map2X is dead, long live Kompas - multiplatform navigation software

IT

After half an year of heavy development I can finally introduce Kompas - application, which goal is to bring powerful and easily extensible navigation software to as many platforms as possible.

A little bit of (boring) history

In 2007-2008 I developed Map2X, which was an simple offline map viewer for GP2X gaming console. Unfortunately because lack of time (and my inability to develop more versions simultaenously) was the application unusable right when Google Maps changed and it was not possible to download any more maps for offline viewing. Despite of that the app was fairly successful and it was translated into another three languages.

In 2010, two years after, the Map2X was definitely dead, so I tried to rework it from scratch with goal to have multiplatform and easily extensible application. Former application had absolutely awkward system for downloading maps, now I tried hard to make it as intuitive as possible.

Welcome screen
Welcome screen

Features

Viewing online and offline maps

It is currently possible to view maps from OpenStreetMap, Google Maps, Mapy.cz and as example of flexibility there are two historical maps plugins with stereographical projection. Nearly every map supports coordinate computation. Current coordinates under mouse cursor are displayed in the status bar, right click menu has an option to copy the coordinates to clipboard.

You can of course mix up online and offline maps, so you can for example load 5 map packages of different areas and beside that enable online map. The application will then look for map tiles in packages first and if it doesn't find them in any package, it will download them from the internet. The application is backwards compatible with packages from good old Map2X 0.0.6, so if you have anything like that, you can still open it. Although, support for this deprecated format will be removed in future versions, so it would be good to convert them with Kompas to some newer format.

Historic map in stereographic projection
Historic map in stereographic projection

Downloading maps, format conversion

Not always there is an internet connection available, so it's good to have the ability of downloading the map for offline viewing. Map downloading is done with five-step wizard, where you select area, layers and zoom levels which you want to save. The wizard will then compute (very rough) size of downloaded package and starts downloading. Saving is not limited to online maps, you can save anything you have currently opened. Using the wizard you can merge a few opened packages into one or, on the other side, split one big package into a few smaller.

Simple tools

Except the map viewer the application has some simple tools for computing distance or converting coordinates. Fields for entering coordinates accept both 49°19'N 12°8'E and 53.317 -24.456 formats, the application will try to guess it and convert the coordinates to the right format.

Everything is a plugin

Almost everything the application consists of can be replaced with something else, functionality can be simply added or removed, everything thanks to plugins. Every supported map format, map projection and tools are plugins. Even the map viewer is an plugin, so in the future versions it would be possible to replace it for example with 3D Earth model. Plugins can be dynamically loaded, reloaded and unloaded without the need for application restart.

Download Kompas

Windows installer and ArchLinux packages are available, of course you can download also source code, if you want to compile it manually.

KompasDownload 0.1

Help needed

Not everything can be done as one man job, so any help with these things will be much appreciated: Packaging for Debian / Ubuntu and another distributions, translations into another languages (mainly with Qt Linguist), testing on Mac OS and of course, bug reports. Thank you in advance.

Future plans

As you can guess already from the first screenshot, session support didn't make it into version 0.1. A session can save position on the map, which maps you have currently opened, selected layers and overlays, so next time you open the application you can continue where you stopped.

Next important thing is saving the tiles into a cache, so the application wouldn't download often viewed parts of the map again and again. This should make the viewing a lot smoother.

Former Map2X was created for GP2X, it wouldn't be good to forget about it. I'm planning some light interface for these low-powered devices, something like the original Map2X.

And of course, the next version will contain more plugins for map servers, file formats and map projections.

» Add comment

Discussion: 3 comments

» Reply 03.01.2011 18:33 | Javi Moya | wow
Wow... it's incredible...
congratulations.
thanks for sharing
About MAP2X, is it still avaible on this blog, i've got a 404 error.
What is the license for dead MAP2X ?
Yeah, sorry for that, I forgot to move some files. Now the links should work again.

About the license... as I lost all sources for Map2X after recent hard drive failure, the only thing remaining are the binaries, which are public domain. But I'm not saying that the mobile version is discontinued - there will be two mobile versions:

- one in Qt, which is currently my highest priority (I would like to participate in Nokia's Mobile Contest), targeting all mobile devices on which Qt is ported.

- and one in SDL (the same toolkit in which Map2X was done), which is currently sort of frozen until I got more time for it. This will be for mobile devices on which Qt is not ported (such as good old GP2X and its successors).

If you want to look at the SDL version, which has some remains of Map2X in it, it's on GitHub: https://github.com/mosra/kompas-sdl . But it probably cannot compile with current Kompas version.