blankblank blank


Archive for the 'map display' Category

Live Calibration Of Map Images With MapCalibrator

Application Name: MapCalibrator

Description: Geocalibrates a map image using GPS positions, then plots your current position.

Publisher’s website: None

Cost: Free

Version/date reviewed: v.1.06  /  7-20-11

Phone/OS: Droid X / Android 2.3

mc_qr

Android Market (mobile app only)
Android Market (browser)


There are lots of apps (e.g. Locus, OruxMaps) that let you take previously-calibrated map images and then view your location on them using your phone’s GPS. MapCalibrator is a bit different – you can take a map image, either download from external sources on your phone, or photographed using the camera, and then calibrate it using three live GPS positions. After calibration, you can then view your approximate position on the map.

mc_files

The program starts by asking you to select a map image for calibration. This can be a map picture you’ve uploaded to your camera, as with the topo map images above, or a photo you take with your phone’s camera. For example, you could take a photo of a trail from an info kiosk at the trailhead, then use the program to calibrate this map image.

I tried using map images in TIFF, GIF, PNG and JPG format. The TIFF format didn’t load at all into the program; the GIF and PNG formats loaded successfully, but I was unable to calibrate either of them. Only the JPG image worked correctly for me.

20110717152210

When you reach a known point in “real space” for which there’s a corresponding point on the map, you can add a calibration point. Press the Menu button, then select “New Reference Point”. A blue circle will appear in the map display, and you tap-and-drag that blue circle so that the center dot is on your current position. This can be a bit tricky, as your finger will cover the blue circle as you drag it, making it difficult to place accurately. The GPS is also not on continuously, so you’ll need to stand in one spot for about 15 seconds or so before calibrating, to make sure the program has your current position accurately.

mc_cal

Once you have the calibraiion point set, press Menu = Use Reference Point to save that calibration point. Your GPS coordinates are entered automatically, but if you have more accurate coordinates from a map or another GPS, you can enter them manually in degrees:decimal minutes format.

20110717161424

You’ll need to enter three calibration points in order to complete the calibration process. You can add additional points, but they won’t be used (though the program’s author indicates he might add the ability to use additional points in the future).

20110717161743

Once calibrated, your current GPS position is plotted as a red circle/dot on the map image. The GPS updates about every 15 seconds or so, so the position won’t always be up-to-date. In my tests, the calibration was pretty good, although the GPS position would sometimes jump to an offset position, then jump back again to an accurate position.

Other issues: The program doesn’t let you save image calibrations for future use, which is a big drawback; that means you’ll have to calibrate an image every time you want to use it. You should also remember that some maps are “schematic” in nature, i.e. scale, distance and direction may not be depicted with complete accuracy; such maps will be virtually impossible to calibrate accurately. You should try to use three calibration points that are spaced reasonably widely for the best results; if the points are too close together, the calibration is likely to be less accurate.

Final thoughts:  In most cases, you’d usually be better off using apps like Locus or OruxMaps that allow you to use both online maps sources and your own calibrated maps. However, for those instances where the only map available is one posted on a bulletin board or info kiosk, MapCalibrator is a useful tool to have.




Maverick: A Basic GPS Map Application

Application Name: Maverick

Description: Basic GPS mapp app

Publisher’s website: Code Section

Cost: Free lite version limited to 5 waypoints and one track;$5.95 Pro version removes those limitations.

Version/date reviewed: v.1.6.1  /  7-5-11

Phone/OS: Droid X / Android 2.3

mav_qr

Android Market (mobile app only)
Android Market (browser)


It’s nice to have GPS map apps with lots of features and capabilities, but these massive feature sets can sometimes make these apps harder to learn and use. Maverick has a somewhat more limited feature set compared to other GPS map apps, but its streamlined feature set makes it very fast, and easy to use.

mav_1

Default view when you start up is your current position, displayed in a Google Maps interface. Other map options include Google Satellite/Hybrid/Terrain, Bing Maps/Satellite/Hybrid, Wikimapia and Nokia/Ovi maps, accessible with the “Maps” button at upper left; you can also convert your own maps into a compatible format with the paid mapc2mapc utility. Online maps are cached for viewing when you’re out of network range. The zoom buttons (and zoom level) are conveniently located at the upper right, and are an improvement over the default zoom buttons for Google Maps.

The blue triangle represents the field of view ahead of you, as determined by the compass on your GPS. Unfortunately, this uses magnetic direction instead of true direction, so it can be a bit off (11 degrees for my location); I wish app writers would always use Google’s built-in function for correcting for magnetic declination.

If you scroll the map by dragging, a blue arrow will show up at left (visible above); tapping on that will bring you back to your current GPS location. This is a nice implementation of this feature.

Tapping on the icons below brings up a number of additional screen options.

mav_search

The Binoculars icon brings up a search screen.

mav_waypoint

The green flag icon puts a waypoint at the center of the screen; it also changes into a pencil icon, which you tap to bring up the waypoint editing screen above. Waypoints are saved in KML format, and can be exported for use in Google Earth and other apps.

The “yellow” checkered icon turns GPS on and off, while the icon at lower right turn GPS track recording on and off; you can also turn on track management using the Menu button. The button at lower left toggles between Map mode (the default) and access to three alternate data screens:

mav_compass

 

Compass view shows the direction your phone is pointing in; if you have a waypoint set as a destination (as above), it also shows you the direction to travel in to reach that waypoint, and the distance to that waypoint.

Mav_time

The time/track data screen lets you start recording a track, and the total time/distance/average speed along that track. If you have an account at GPSies.com, you can upload the track there.

mav_info

The final screen is a GPS info screen. Tapping on any of the data screens lets you choose between twenty different datasets for that screen (e.g. UTM coordinates, sunset, ETT, etc.), offering more flexibility in data display than other similar apps.

Final thoughts: Nice, clean, fast, simple GPS mapping app. The free version is definitely worth a look. However, I think the paid version is a bit overpriced at $5.95; apps like Locus and OruxMaps offer larger feature sets at a similar or lower price.




Download US Aviation Charts For Android

Application Name: OpenFlight Map

Description: Downloads US aviation charts for viewing on your Android phone.

Publisher’s website: SoftOutfit

Cost: Free (donationware)

Version/date reviewed: v.1.7  /  4-3-11

Phone/OS: Droid X / Android 2.2

of_qr

Android Market (mobile app only)
Android Market (browser)


There used to be a free aviation maps online server available for a number of Android mapping apps, including OruxMaps and MOBAC; however, it seems to have disappeared; rumor has it there’s some kind of patent issue involved. OpenFlight Map lets you download and view some of these maps for the US, but currently with no navigation capabilities.

of-1

After agreeing to a liability waiver, you’ll get a US map covered with red Xes. Tap on a rectangle, and get the option to download the aviation chart that covers either the North or South half. These are fairly large files (~8 MB), so WiFi is the best data connection choice.

of_2

When done, a scrollable/zoomable map view will open up.

of_3

When one map for a zone is downloaded, a green slash will replace the red “X”; when both are downloaded and stored on your phone, a green square will appear. Maps are stored locally on your phone, but can be deleted to free up room on your SD card.

Other issues: This is NOT a navigation app; there’s no GPS capability, routing or waypoints, though the author indicates he may add those eventually. And this is just for reference/casual viewing; it’s not recommended for actual navigation use. It apparently also isn’t working on some Android tablets.

Final thoughts: Hopefully, the aviation map servers will go back online at some point, but until they do, this is the next best thing.




Locus, A GPS Mapping Application – Part II: Maps

Continuing on with my review of the Locus GPS mapping app for Android (Part I on the interface is here), today is map day. Locus has a strong selection of standard online map sources, roughly 30 vs. roughly about 20 for OruxMaps. Some are worldwide, others regional. These mapsets currently include:

  • Google Maps: Road, Aerial, Hybrid, Terrain, Korea
  • OpenStreetMap” Classic, Cycle, Transport, Osmarender, OpenPiste
  • OVI-Nokia map:Classic, Satellite, Terrain (Locus is the only app I’ve seen so far with these useful mapsets)
  • Yahoo: Classic, Satellite
  • Bing: Road, Hybrid, London A-Z, OS Maps
  • OSM-regional: UMP-pcPL, Hike&Bike
  • Freemap (Slovakia): Car, Turistic, Cyclo, Aerial
  • Yandex (East Europe): Classic, Satellite
  • Eniro (North Europe): Classic, Aerial, Nautical, Hybrid
  • MyTopo (USA): 1:24K topographic maps
  • Outdoor Active (Germany, Austria, South Tyrol)
  • Statkaart (Norway): Topo, Raster
  • Maps+ (Switzerland): Topography, Terrain
  • NearMap (Australia): PhotoMap, StreetMap, Terrain

 

While there is a reasonable amount of overlap in mapsets between the two, each one also has unique mapsets as well. For US users, the big difference is that Locus comes with the MyTopo USGS 1:24K topographic mapset built in, while OruxMaps doesn’t. You can add Terraserver topo maps to OruxMaps (more on this in a bit), but the MyTopo set is of higher quality, and some areas are more up-to-date.

 

The list of available online maps can be brought up with the map manager button, in the upper right of the main map screen. You’ll get a list of available online mapsets:

locus_mm_0

Mapsets are organized into groups by source, a better system than OruxMaps’ sequential list of all maps. If you tap on a source name, like Google …

locusmaps_2

 

… you’ll get a subset listing of all the available maps from that source. Tap on the map type to go back to the map view, and load that selected mapset. The listing scrolls horizontally, so if you can’t see the desired mapset, tap and drag the listing left or right to access it.

First time I tried using Locus in the field, I was shocked at how many mapsets I was unable to download, despite having a good cellular connection. Then I explored the Settings section; under the Map subsection of Settings, you’ll find  a setting called “Offline mode”. If this is checked, which appears to be the default, maps can only be downloaded to your unit when you have a WiFi Internet connection. This protects you from being surprised with massive data overage charges from your cellular provider if you don’t have an unlimited data plan; my plan is unlimited, so I left this unchecked, and all mapsets now downloaded properly.

As online maps are downloaded, either from a WiFi or cellular connection, they are automatically cached so that you don’t have to repeatedly download them. I presume the size of the cache is limited, and that older maps are deleted automatically, but I wasn’t able to find out this info. For longer-term storage of mapsets, and avoiding large data downloads over cellular connections, Locus lets you create mapsets from download data, and then load them as needed into the app.

select_option

To access this function, go to the “Download map” tab in the map manager. You’ll have several options for selecting the area you want maps for:

  • This screen – Downloads maps for the area currently visible in the main map screen. You’ll want to zoom in/out first to your desired area.

select_area

  • Select area – Choose a subset of the current map area by clicking and dragging; press on the green check button at the bottom to approve the selection, or the red x button to clear it and select a different area. You can zoom in/out in this view, but if you haven’t already selected the desired general area first, new map data will not be loaded in as you zoom in/out.
  • By state – Downloaded predefined areas. By “state”, this means “country”, not “US state” or other subregions. Fine for smaller countries at lower zoom levels, not great for larger countries.

map_points

 

  • By path – This is pretty slick. Select this option, and get the map screen, with a new toolbar near the bottom. Click the “+” sign to add a point at the center of the screen, then drag the map to the next location and add another point. Locus will define an area around that point for which it will download maps, and show that as a purple overlay. You can set the width of the area with the slider at the top, and also tap-and-drag points to adjust them. The “-“ sign removes the last point, while the red x deletes all points. When done, tap the green check box. Be sure to disable the button at the lower-right, as otherwise the map will keep popping back to your current GPS location.
  • Select POIs – If you have a set of waypoints loaded into a category (more on this in the next post), Locus can use those to define an area for maps to be downloaded for. Nice, but I wish there were a comparable option for tracks as well, similar to the “By path” option, but loadable from a GPX file.

zoom_levels

Once you’ve made any of your area selections, you’ll get a screen with the available zoom levels for that map; you need to choose at least one. You can choose more, but it will make the map filesize larger; maximum allowable filesize is 2 GB. The total map size and tile count is shown at top right, and you’ll also see a preview of the highest zoom level maps at right. Label the mapset file using the text box at the top.

change_type

Tapping “Change type” to choose the type/location for the downloaded map files. You can either put the map tiles into the standard online map cache, create a new separate mapset, or add maps to a pre-existing mapset of the same type. I usually use “Separate map”, since I think it will minimize complications, but that’s just a guess on my part. Once you’ve selected a map type, you go back to the zoom level screen; tapping OK starts the download process. This is usually best done with a WiFi connection, as that will be much faster, and won’t count against any cellular data quotas.

user_maps

 

Once complete, the new mapset will appear in a listing under the “User maps” tab; just tap on the mapset you want to select it. Generally, these maps work fine, but I sometimes noticed when scrolling the map that tiles would appear and then disappear for no discernible reason. However, when using the maps in general GPS navigation mode, this didn’t seem to be a problem.

As with OruxMaps, you can also create mapset files from online map sources with the free Mobile Atlas Creator software, setting Big Planet / RMaps SQLite as the output format; the app author has more info here.

So far, Locus is superior to OruxMaps in handling online/offline maps. But it falls short in two major areas:

– Adding new online map sources is more complicated in Locus than OruxMaps (although neither is easy). There’s a post at the Locus forum on the process, but I couldn’t find any actual working examples. In contrast, OruxMaps offers a sample wms_services.xml file to get you started, which adds Terraserver US topographic maps to the list of available maps, and the OruxMaps forum has more working examples.

– OruxMaps has a stand-alone desktop application that can convert georeferenced raster image files, like GeoTiffs and OziExplorer map files, into an OruxMaps-compatible mapset. There is no general tool like that for Locus; there’s a mention in the forum of an old utility that can convert OziExplorer map files, but the format it creates may be deprecated soon in Locus. And it doesn’t look like the utility program mapc2mapc currently creates Locus-compatible map files, either. So there isn’t currently a good way to get your own maps into a Locus-compatible format, and that’s a big drawback for me.

Coming up in part III – tracks and waypoints in Locus.




View GIS Shapefiles On Android With SHP Viewer

Application Name: SHP Viewer

Description: View GIS shapefiles on Android, query attributes.

Publisher’s website: nexti

Cost: Free

Version/date reviewed: v.1.03  /  3-8-11

Phone/OS: Droid X / Android 2.2

shp_qr
Android Market (mobile app only)
Android Market (browser)


Note: Also requires the Adobe Air framework; Android Market link (mobile app) , Android Market link (browser).

There aren’t a lot of vector GIS data viewers currently available for Android; actually, as of the time of writing, I could only find one such app, SHP Viewer, reviewed here. After installing the app, copy the .shp, .shx and .dbf files to the “Maps” directory on your SD card; if the directory isn’t there, you’ll need to correct it. Shapefiles need to be in the geographic projection (latitude/longitude coordinates), WGS 84 datum (NAD 83 is close enough, as are many other modern datums).

shp_list

After copying the shapefiles over, and starting the app, you’ll need to press the “Refresh” button in the upper right to get them to show up in the file list (the home button at upper left exits the program). Tap on a shapefile in the list to select it.

shp_map_init

The initial view will be of the entire extent of the shapefile; you can zoom in either with the zoom control at right, or multi-touch pinch to zoom. Tap and drag to pan the map.

shp_map_zoom

SHP Viewer supports polygons, polylines and points; I’ve test it with all three, and it seems to work with all of them. Here, a polygon map is loaded. If you tap on a polygon shape …

shp_attributes

… you’ll get a popup window listing all the attribute values for that shapefile.

Other issues: Small shapefiles (< 1 MB) drew quite quickly. Tried a 13 MB polygon shapefile, and that was a bit slow to show up (20 seconds), but it did work. Then tried a 250 MB polygon shapefile, and crashed the app so completely I had to reboot. So don’t try shapefiles that are too large.

The app could really use two additional features:

  • GPS option, so that you can display your position on the shapefile map display
  • Thematic display, i.e. different colors or symbols depending on a shapefile attribute.

Final thoughts: Not a lot of choices yet for GIS data apps on Android, but they’re coming. For now, SHP Viewer is a reasonable stopgap.




Track The US States You’ve Visited

Application Name: Which States?

Description: Records the US states you’ve visited, and shows them in a Google Maps interface.

Publisher’s website: 1517 digital productions

Cost: Free; “Plus” version with additional features announced

Version/date reviewed: v.1.0  /  11-9-10

Phone/OS: Droid X / Android 2.2

ws_qr

Android Market link (mobile app only)
Android Market link (browser)


ws_states

Figure 1: This is a pretty basic app. Check off the American states you’ve visited on the list …

ws_map

Figure 2: … then go to the Map tab to view them colored in on a Google Maps view. You can zoom in and scroll the maps to view different areas.

Other issues: None; worked fine.

Final thoughts: Not exactly a high-functionality app as-is, but does what it says it will. You might find it handy for tracking your travels, or showing others where you’ve been. Not clear what additional features the “Pro” version might add.




Map Geotagged Photo Locations In Android With Been There

Application Name: Been There

Description: Maps locations of geotagged photos on an Android phone; displays thumbnails

Publisher’s website: Been There

Cost: Free basic version; ~ $1 paid version adds ability to organize photos in albums, export photos in KMZ format for viewing in Google Earth.

Version/date reviewed: v. 1.3.5 (free)  /  10-26-10

Phone/OS: Droid X / Android 2.2

beenthere_qr

Android Market link (mobile app only)
Android Market link (browser)


Been There takes all the geotagged photos on your Android unit (ones with the photo location embedded in the EXIF metadata), and plots their location in a Google Maps interface.

beenthere_1

Figure 1: Pictures within the mapped area visible are shown in thumbnail format at the top; you can drag the thumbnail strip either direction to view more photos

beenthere_2

Figure 2: Tap quickly on a thumbnail at the top, and the location it was taken will be highlighted in the map. Similarly, tap on a point on the map, and the photo thumbnail for that point will be highlighted at the top. A longer tap on a thumbnail will bring up a slightly larger version of the photo in a viewer to fill the phone’s screen (no zoom options, though). A long tap on a thumbnail followed by drag lets you resize the thumbnails larger or smaller.

beenthere_3

Figure 3: If you zoom in on the map, only those thumbnails within the map view will be visible. Similarly, zooming out will show additional thumbnails located in the map area. A “My Location” option in the menu will show you where you’re currently located, which can help you navigate to the location where a photo was taken.

Other Issues:

If you’re zoomed out so that lots of pictures need to be plotted on your map, it can take a few seconds for the thumbnails to show up.

Final thoughts:

This is the first app of this type I’ve reviewed (there’s a few others I’ll get to at some point), but even so, I like it a lot; I have difficulty imagining that similar apps would be much easier to use, or work as well. Recommended.




TrekBuddy: Offline Map Viewer And GPS Tracker For Android II

Continuing yesterday’s review of TrekBuddy

By tapping in the lower-right-hand corner of TrekBuddy’s map screen, you can flip through the compass screen, the computer mode screen (CMS), and back to the map screen. The compass screen is pretty rudimentary; just a needle display (no digital bearing), and it’s magnetic directions only (Figure 1):

compass

If you’ve just installed the program, and now flip on to the CMS page, you’ll find it blank. Turns out that you have to download and install CMS themes by copying them into the TrekBuddy/ui-profiles directory, either from the CMS wiki page or the TrekBuddy forum. CMS themes are written in XML, and on the plus side it looks like you can create some very interesting themes, including scripting. On the downside, CMS theme creation isn’t for the newbie, even using GUI editors like CMS Creator and CMS Designer. What’s more, CMS themes appear to have rigid size specifications i.e. they’re written for particular screen pixel dimensions; so, you have to find or design a theme that’s close to your screen’s pixel size. Otherwise, instead of a CMS display that fills your screen (Figure 2):

cms1

You’ll get one that only partially fills it, with text so small that it can be unreadable (Figure 3):

cms2

Tracks And Waypoints:

The navigation screen (tap in the upper left corner of the map) lets you manage waypoints and tracks. Four submenus:

  • Waypoints – Waypoints need to be in the standard GPX format, copied into the TrekBuddy/wpts directory. But you can have multiple waypoints in a single GPX file, and select one of them to use for display or navigation. Once selected, you can “GoTo” it (jump to the map area where it’s located), “NavigateTo” it (though TrekBuddy’s navigation capabilities are limited), or use it in creating a route. You can a Field Note to it, useful for geocaching. On high-resolution Android screens, the waypoint text and icon can be so small as to be unfindable/unreadable; what’s more, only a waypoint that you’re navigating to will show up on-screen (Figure 4):

waypoint

  • Tracks – Similar handling to waypoints; they’ll need to be in GPX format in the tracks-gpx directory, and you can only display one track at a time. You can navigate or route along a track.  Annoyingly, all the individual track points are displayed (Figure 5):

track

  • Record Current – Lets you record your current waypoint position, with your desired name and comment; time and altitude tags are added automatically. You can add a waypoint to an existing GPX file, or put it into a new GPX file on its own. Simple and easy to use – one of TrekBuddy’s best features.
  • Add Custom – For creating a waypoint by entering coordinates; otherwise, works the same as “Record Current”.

The process of recording tracks is clumsy and inflexible. In the “Location” menu (under Settings), you only have the options of never recording tracks, asking when you start up the GPS and then tracking all the time, or always tracking as soon as the GPS is on. You can’t stop a track, then start up a new one in the running program; the only way to stop a track and start a new one is to exit the program. You have the option of saving tracks in either GPX or NMEA format; tracks are auto-named with the date/time, and stored in either the tracks-gpx or tracks-nmea directory.

Other Issues:

  • Occasional Java exception error pops up – this doesn’t seem to affect program operation, and goes away after you tap on the “OK” button.
  • One program crash under odd circumstances; program died, but GPS tracking kept on going.
  • Several times, the touch screen locked up completely; any attempts to do anything on-screen brings up a “Keyboard locked” message. Once, random button pushing got rid of the problem; the second time, I had to power-down my Android unit and turn it back on again to get rid of the problem.

Final Thoughts:

There are a number of features I really like about TrekBuddy. The waypoint recording functions are pretty good, and the Bluetooth GPS option is a killer feature, one I hope more Android apps will adopt. And it does a decent job of map display and GPS tracking. I just wish there weren’t so many oddball quirks and inaccessible features that make using it a bit of a pain, at least in Android. It is a port of an app intended for use with OSes other Android, and I guess you can’t expect everything to port over smoothly. Worth checking out, especially for Bluetooth GPS, but I’m hoping to find a better map app, and/or that the Android bugs/quirks will get fixed.




TrekBuddy: Offline Map Viewer And GPS Tracker For Android I

Application Name: TrekBuddy

Description: Displays offline mapsets, GPS tracking, records waypoints and tracks, more.

Publisher’s website: TrekBuddy

Cost: Free (donationware)

Version/date reviewed: v.0.9.99  /  9-14-10

Phone/OS: Droid X / Android 2.1

tb_qr

Android Market link (mobile app only)
Android Market link (browser)


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):

trekbuddyopen

… 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.

Loadatlas

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 …

atlasmaps

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

atlastopo

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

atlastopoview

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.

The main TrekBuddy menu has six functions:

  • Start – Starts up GPS tracking; when started, this splits into GPS “Pause” tracking and “Stop”  tracking buttons
  • Load Map, Load Atlas – Described above
  • 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.
    • Misc – Some cryptic operating options; I’m guessing there’s documentation at the website, but I couldn’t find it.

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).

navigation

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

main

  • 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
“Empty” circle
full
“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.




Convert Scanned/Digital Map Images Into Offline Android Format With MAPC2MAPC – Part II

Continued from Part I, Part II is a walkthrough of converting a calibrated map or aerial image into an Android-app-friendly format.

There are a number of ways to get calibrated maps and aerial photos that MAPC2MAPC can convert to Android-app friendly format.

– GIS/mapping programs can usually export maps into “raster”/digital formats that MAPC2MAPC can use. These can also display GIS vector data like shapefiles, then convert it into a compatible rasterized format. This is useful since there currently aren’t any good Android apps that can directly display such vector data.

– Some US state and government agencies provide easy online access to calibrated scanned maps and aerial imagery. Data for the US is particularly easy to find:

For this walkthrough, I’m going to download an aerial photograph and topographic map for my neighborhood from the USGS Seamless Server Site.  I won’t go through the exact details of the process (there’s a tutorial on using the Seamless Server available at that site). But I will point out that when you select a data type for downloading, the Seamless Server will conveniently tell you the projection and datum the data is in, which you’ll need for MAPC2MAPC. Here, both the aerial imagery and topographic map are in the UTM projection, Zone 12N; however, the aerial imagery is in the NAD83 datum, while the topo map is in the NAD27 datum:

seamlessinfo

If you miss it there, or can’t find it, the downloaded zip file will include a .prj text file that has this information, and which can be opened in any text editor:

sszip

ssprj

The two files you will need for use with MAPC2MAPC are the image file (with the .tif file extension) and the “worldfile” with coordinate calibration data (.tfw file extension). In the MAPC2MAPC program, choose File => Open Calibration. In the lower-right corner will be a drop-down menu that lets you select the type of calibration file you’re using from the ones that MAPC2MAPC supports; here, I’ll choose “World files”, then select the .tfw file.

selecttfw

Because worldfiles do not contain map projection/datum info, MAPC2MAPC will prompt me for projection/datum info:

wfparams

From the Seamless Server or PRJ file, I know that the image is in the UTM coordinate system, Zone 12; the numbers in this listing box represent the UTM zones. If it were in a different coordinate system, I could scroll in the box and see if it was available at the bottom; MAPC2MAPC currently supports about 22 additional coordinate systems along with UTM. If I didn’t find it, I’d have to recalibrate the map manually using one of MAPC2MAPC’s built-in utilities, or a separate program (see post I for more info on datums, projections and map calibration). The default datum for MAPC2MAPC is WGS84; if the map is in a different datum (NAD83 in this case), I click the “Not WGS84” button, and choose the correct datum from the next window:

datum

If successful, you should get a screen that looks something like this:

2010-09-14_172052

Now the map image can easily be converted into the Android-app-friendly format. In this case, I’m converting it to TrekBuddy format, so File => Write map as Trekbuddy files converts the original calibrated map image into the TrekBuddy-compatible format.. You’ll find the generated map files in a subfolder located in the same directory as the original image file, with the same name as the image plus “_tiles” appended. The other Android-friendly format MAPC2MAPC supports is the “Mobile Atlas” format; you’ll find that export function in the File menu as well.

The mapset and tiles will be in the uncompressed TrekBuddy format, as MAPC2MAPC doesn’t currently support the compressed tared TrekBuddy format. However, there’s a free Java utility called jtbtar that can convert the uncompressed mapset into a smaller compressed one. Run jtbtar, select the folder with the map tiles, click on “Pack Map”:

jtbtar

And jtbtar will create a compressed .tar file and .tmi file containing the mapset data.

For this example, I didn’t actually notice any substantial space savings by going through this process. However, copying a large compressed file from your computer to your Android unit takes far less time than copying many individual tile files. The process of copying the data over to your Android unit is the next topic on this blog; there are several options, each with advantages and disadvantages.