After too many recent posts on creating offline maps with MOBAC and MAPC2MPAC, and transferring them over to an Android unit, I’m finally back to actual GPS map apps. First up is TrekBuddy, a J2ME app originally written about 4 years ago, used on devices with Java Virtual Machines (Blackberry, Symbian, Palm, Windows Mobile), and more recently ported over to Android. The good part of its long history is that it’s fairly stable and reliable; the bad part is that it become clear fairly quickly that it wasn’t written originally as an Android app. Some operational quirks in Android are pretty minor, but others can be a real annoyance to deal with.

First off, the app comes with only a rudimentary low-zoom basemap (Figure 1):

… so you’ll need to prepare maps to use with it using MOBAC or MAPC2MAPC. There are essentially two loadable formats:

Maps (which MAPC2MAPC creates). In compressed format, these come as a *.tmi and *.tar file, containing map imagery and calibration data for a single zoom level.

Atlases (which MOBAC creates). These are collections of different kinds of maps, each of which can have multiple zoom detail levels. These come with a single atlas file (in .tar format) that contains catalogue information for all the maps in the atlas collection. You can also access individual mapsets independently of their atlas context.

You first need to copy an atlas collection, or a mapset, onto your Android unit (see this post for some ways to do that). These should normally go into the “maps” subfolder of the main TrekBuddy data folder, since that’s where the program looks for them first. However, it appears as though you can navigate within the app to folders in other locations on your memory card, so you could put them elsewhere; you can also change the default directory for data in the program Settings section. For this review, I copied the atlas created in this post, which consists of a single atlas index file (renamed to “kv.tar”), and three folders with OSM, MS and topo maps data. I also copied over a folder containing a mapset created with MAPC2MAPC, a converted USGS aerial photo.

Figure 2: To choose an atlas, select “Load Atlas” from the menu. Here, I first I select the kv.tar atlas file to open the atlas …

Figure 3: Then only the mapsets in the atlas are displayed. Choosing the “Topo Maps” mapset …

Figure 4: I see the three zoom layers I chose. Selecting the “17” level …

Figure 5: The topo map for that zoom level pops up. If I start GPS tracking (Menu => Start), my location will be marked with a compass circle.

“Load Map” works in a similar fashion, except that you’ll have to manually select the “.tar” file that contains individual mapset data, even if it’s the only file in a directory. You’ll also always be asked if you want to set this map as the default, which is annoying. And if you change your mind, and decide you don’t want to select an atlas or map, there’s no way to back out gracefully. Either choose a map, even the one you’re currently using, or you’ll have to exit the program by selecting “Exit” from the menu (back key doesn’t get you out of the program at any time).

But there’s a bigger problem. With three zoom levels for the topo mapset in the atlas, I expected to see some kind of zoom control in the map display to let me zoom in and out through the three available levels. I finally figured out that there is no zoom control; if you want to switch to a map of the same type, but at a different zoom detail, you’ll have to manually select it using the “Load Atlas” or “Load Map” function again. You can’t zoom in or out on a single detail level either; it’s always displayed at the native resolution. This is a huge pain; I don’t understand why mapsets in an atlas can’t automatically be loaded/unloaded with zoom buttons. On the plus side, GPS tracking was accurate, with the map scrolling fairly smoothly as I moved. Tapping and dragging to scroll the map also worked well.

Info – Brings up a helpful screen describing keyboard shortcuts, which are the only way to bring up some functions. The problem is that these require a physical keyboard; there’s no option with touchscreen-only Android models to bring up the virtual keyboard, which locks out some of the functionality.

Exit – The only way to stop the program; you can’t get out using the back key.

Settings – Lets you modify the program configuration:

Basic – Set the default map, folder, startup screen, units and coordinate system. On the plus side, it supports 15 datums, along with UTM and lat/long coordinates. On the down side, setting the default map and folder is a pain, as you have to type out the full file path for it; would be better if there were a file/directory screen to do that.

Desktop – Set parameters for onscreen display (OSD), like scale, font size/transparency, decimal precision, etc.. The program seems to be optimized for low- pixel-pitch screens, as even the largest font size results in a fairly small on-screen size for my Droid X; other features also display so small that they can be hard to make out sometimes.

Location – Lets you set the tracklog recording to never/ask/always, track export format (GPX/NMEA), and the track interval in time or distance; it appears as though entering a negative value for time or distance renders that interval parameter inoperative. Also in this section is TrekBuddy’s big killer feature, the ability to use an external Bluetooth GPS unit instead of the built-in GPS for location tracking. I’ll cover Bluetooth GPS in future posts, but I’ll say now that this option is a huge plus for TrekBuddy.

Navigation – Lets you set parameters for navigation like waypoint/track display, proximity parameters and more.

The first time I tried setting some of these options, I got incredibly frustrated – the program kept reverting back to the starting defaults. I finally figured out that if you change any option in a Settings section, you need to press the menu button to bring up an “OK” menu listing, then tap on that. Then, before exiting the main Settings list to go back to the map, you need to press the menu button, then tap on “Save” to permanently record your option changes. I don’t see why the program can’t just automatically save whatever changes you’ve made after exiting a section.

I knew from the main website and some of the settings that TrekBuddy had options for recording/navigating tracks and waypoints. There was also supposed to be a compass screen, and a computer mode screen (CMS), displaying numerical data like GPS satellite info, position, etc.. But without a physical keyboard, it looked like some of these were totally inaccessible on my Droid X. Then I accidentally stumbled on a partial solution: some key features could be accessed by tapping on specific parts of the Droid’s touchscreen:

Upper-left corner tap brings up a screen for waypoint and track control (Figure 6).

Lower-left corner brings up all the options accessible with the menu button; tap anywhere else to make it disappear (Figure 7)

With an atlas loaded, tapping just above the lower left corner brings up the atlas layers; you’ll still have to select the zoom level you want.

Bottom-center fills in the circle/compass display that marks your position, making it easier to see the compass points and the direction-of-movement arrow

“Empty” circle

“Filled-in” circle

Bottom-right switches from the map screen to compass to CMS back to map

Left-center, right-center and top-center pause tracking

Tapping in the middle resumes paused GPS tracking, and also brings you back to your current position if you’ve scrolled the map to a different spot

More tomorrow on the compass/CMS screens, and waypoint/track management.

I really appreciate the reviews here. I just purchased an HTC Desire and I’m looking for the a backcountry mapping/track program that works with the least amount of bugs. I downloaded the trekBuddy and backcountry navigator demos. what is your most favourite program for this unit. BC navigator has good resources for Canadian maps but \i can’t seem to get it to load current position unless that feature doesn’t show on the demo. maps seem to crash also. memory intensive?

I did a review of BC Navigator, and also noticed its propensity to crash. Position tracking should be working with the demo version, though.

Search the site for my reviews of Locus and OruxMaps; both are far stronger GPS map apps than TrekBuddy. Both have advantages and disadvantages, but since OruxMaps lets you add WMS services more easily, like the Canadian Toporama WMS map server:

Archives

Copyright and Conditions Of Use

Contents of AndroGeoid copyright 2010-11; all rights reserved.

Determining the accuracy, reliability, validity, or appropriateness of any of the software or data written about in this blog for any uses is the sole responsibility of the reader, not the authors of the blog posts. The blog authors have no liability for any uses of the software or data described here.