blankblank blank


Archive for December, 2010 Page 2 of 2



Identify The Peaks In Your Area – New (And Not As Good) School

Application Name: Peak.AR

Description: Maps peaks close to you, and identifies them in an augmented reality view.

Publisher’s website: Peak.Ar

Cost: Free

Version/date reviewed: v.2.0.2  /  12-5-10

Phone/OS: Droid X / Android 2.2

Peak.ar_qr

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


So yesterday, I reviewed the older version of Peak.AR, a really cool app that identifies hill/mountain peaks in an augmented reality (AR) view. Today, I’m looking at the newer version, or more specifically why you should get the older version and skip the newer one.

peak1.1

Figure 1: The older version displays all the peaks in all directions …

bparmap

Figure 2: … while the new one only displays peaks in the direction the phone is pointed. It also only displays those peaks within a specified distance range, and has oddball range circles beyond that point that change as you change the direction you’re pointing.

bpar2

Figure 3: You set the distance range with a hidden control at right, that pops up when you tap there. Drag to change the distance range at which peaks are displayed; you have no control over the distance ranges, but have to use the presets.

peak1.3

Figure 4: In augmented reality mode, the older version had a slider that let you set the distance range for viewing peaks. The maximum number of peaks visible in AR view is 10, so it filtered out smaller/less-visible peaks to get the displayed peak number down to no more than 10. It also had a “radar” view that showed the direction you’re pointing, as well as the peak positions in all directions. Note: my screenshot app doesn’t show the camera view; in real life, you’d see the peaks superimposed on the actual camera display.

bpar3

Figure 5: The new version of Peak.AR only displays peaks within the distance range you’ve set, but doesn’t show what that distance range is; you have to tap on the right side again to bring up that control and see what the distance range is. In principle, this will let you identify any peak you can see, just by changing the distance range until it shows up in the AR view. In practice, this is a pain in the neck to use. You’re also most likely only interested in the most prominent peaks, and this approach makes those more difficult to identify. The radar view is also sorely missed. Finally, peaks have a tendency to disappear/appear from view with even a small 1-2 degree shift in your phone’s orientation.

Other issues: None.

Final thoughts:

I strongly urge you to try the older version of Peak.AR first – it’s a lot simpler to use, and works a lot better IMO. You can then try updating the newer version, to see if you like it. But I’m guessing that you’ll quickly uninstall the new version, and go back to the old one when you get a chance.




Identify The Peaks In Your Area – Old School

Application Name: Peak.AR (older version)

Description: Maps peaks close to you, and identifies them in an augmented reality view.

Publisher’s website: Peak.Ar

Cost: Free

Version/date reviewed: v.1.04  /  12-5-10

Phone/OS: Droid X / Android 2.2

Old version no longer available on Android Market, but you can download the .apk file for the old version from the Peak.Ar FAQ page, and install it directly on your phone. Just don’t update it unless you really want the new version (and I don’t think you do).


This is going to be a bit odd – I’ll be reviewing the same app twice over the next few days. Today’s review is of the older version of Peak.AR, which is no longer on the Android Market, but the .apk program file for this older version. can be downloaded and installed directly on most Android phones as long as you have Unknown sources enabled in the Applications setting for your phone. Why review two versions? Because I really like the old one, and have some reservations about the new one.

peak1.1

Figure 1: Start up the Peak.AR app, and it gets your GPS location, loads in a database of local peaks, and plots those peaks in a Google Maps interface that you can scroll through; the compass at upper left points towards true north.

peak1.2

Figure 2: Tap on a peak in the map view, and get an info page with the name, location, height and distance.

peak1.3

Figure 3: The real magic happens when you hold the phone horizontally; the locations of peaks are plotted in an augmented reality (AR) camera view, so you can line up the peaks with the actual view (which the screen capture can’t show). The slider at the bottom lets you set the distance range for viewing peaks. The radar at lower left shows the direction you’re pointing in, and the number of peaks within the distance range you’ve set. The app only shows a maximum of 10 peaks in the view to keep the app from slowing down too much, and filters out shorter/less-visible peaks from the AR view to keep within that limit of 10. Tap on a peak in the AR view, and you’ll get an info page like the one in Figure 2.

peak.ar.1.3

Figure 4: Here’s a screen shot from the web app page, with the camera view visible, to give you a feeling for how it actually looks.

Other issues: Earlier versions used magnetic north instead of true north, which could result in a considerable misalignment of the labeled peak with the true peak in the augmented reality view. The final release of the older version seems to have fixed that.

Final thoughts:

This older version of Peak.AR is two tons of awesome in a one-ton bag; a must-have app for showing off what your Android phone can do. Oh yeah, there’s also an iPhone version available.




Steepest Slope And Its Direction With eGEO Compass

Application Name: eGEO Compass

Description: Geological compass; measures direction and orientation of steepest slope; logs that with GPS coordinate data

Publisher’s website: eGEO Compass

Cost: Free basic version; 10 euro registration adds ability to export data, display it in Google Maps interface

Version/date reviewed: v.1.0.2  /  12-4-10

Phone/OS: Droid X / Android 2.2

eGEO_qr

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


eGEO Compass was mainly designed as an electronic version of a geologist’s transit. Lay it on a flat surface, and it will measure the angle and direction of the steepest slope; with a GPS fix, it will also display the coordinates. This makes it useful for mapping the angle and direction of geological strata, but that slope/direction data might also be useful to geomorphologists, archaeologists, solar panel installers, and others.

eg1

Figure 1: Start up the app, and it will prompt you for a name to save measurements under. All measured points are saved in the same data list, but can be differentiated by entering different names here. You’ll then get the display at left, that shows the direction of the steepest slope first, followed by the angle the slope dips down from horizontal (you might have to tap/shake the phone a bit to get the measurement to register correctly). Up at top are the current location from GPS, latitude/longitude. Tap on the Save button to log this data. (long-click for overturned) is mainly of use to geologists, for indicating a strata that has been flipped over by geologic/tectonic forces.

One nice thing is that it will measure the steepest slope regardless of how the phone lies on the surface. In other words, you can just the lay the phone flat down on the surface without worrying about the direction it’s pointed in.

eg2

Figure 2: To see saved data points, go to the starting screen, and go to Menu => Show Data Table. The list will only show the slope measurements, along with the date/time they were taken. Tap on a measurement …

eg3

Figure 3: … and you’ll see the full data, including GPS position. You can also add a note to that measurement point.

eg4

Figure 4: From the startup page, there’s also a Menu => Registration option that brings up this screen. This implies that registration is free, and apparently for while it was. The author now requires a 10 euro fee (about $13) to register the app; visit his Donations page to find out how to do this.

egscreen

Figure 5: Registration lets you export the data table in CSV format, as well as plotting the data in a Google Maps interface.

Other issues: The app gives the slope angle relative to horizontal, which is zero for flat and 90 degrees for vertical. For some applications, it would be nice to have the slope normal to horizontal, i.e. 90 degrees for flat and 0 degrees for vertical. You can figure that out easily enough by subtracting the measured angle from 90 degrees, but a direct readout would be more convenient. Some geologists plot the angle of geological data using “strike” which is 90 degrees west of the measured slope angle; again, easy to calculate, but the option to display that number directly would be useful. Finally, the direction is given in magnetic, not true, so you’ll have to correct for your local magnetic declination.

Final thoughts:

Does what it says it will; not useful for everyone, but very useful for a few. Biggest issue I have with the app is the price; $13 for an app with this limited functionality seems a little steep, if you’ll pardon the pun. The author’s own map of registered copies indicates that only about 7 copies have been registered to date at that price. But if you plan to create multiple datasets out in the field, and need to export them to a spreadsheet/GIS friendly format like CSV, it might be worth it.




Local Points Of Interest With The Georeader App

Application Name: Georeader

Description: Identifies nearby points of interest in the Georeader database, and reads out descriptions of them.

Publisher’s website: Georeader

Cost: Free

Version/date reviewed: v.1.1  /  12-2-10

Phone/OS: Droid X / Android 2.2

georeader_qr

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


Yesterday, I reviewed the Historical Marker Database app, which is basically just a front end to an online database website. I liked the data at the website, but would have preferred an app tailored to Android that presented the data in a mobile-friendly  way. In a sense, Georeader has the opposite problem. The interface is far closer to what I’d like to see, but the database relies on user contributions, and right now it’s a bit thin.

gr1

Figure 1: After starting up the app, and logging in to the database (requires free registration), a GPS position will be acquired, and your position plotted on the map. In travel mode, the idea is that you click on the Start Trip button, and as you get closer to landmarks in the database, information about them will pop up on screen, and be read out loud to you if you wish.

The first problem is with the map display. If you want a closer view, you should zoom in before pressing the Start Trip button, as the zoom level will be frozen and unchangeable after that’s pressed. That really needs to be changed.

gr2

Figure 2: After pressing Start Trip, you’ll get the message that it’s searching for a “talking point”, a place of interest in the database. However, there’s no way to show the location of the next talking point, or set a distance threshold for showing a talking point. I had some talking points pop up when I was over half-a-mile away, others when I was just a hundred feet away.

gr3

Figure 3: If you’re not in trip mode, you can scroll the map to an area, and have the local “talking points” be indicated by blue icons. There’s usually a 5-10 second delay after you scroll to a spot before the icons pop up, so be patient. It seems like a lot of points here, but most of these are just spots taken from the National Register of Historic Places database; the only text read out loud to you is the name.

gr4

Figure 4: Tap on a bubble, and you’ll get the name and an indication that you can get more info.

gr5

Figure 5: But for all the National Register locations, the only info you get is the name and distance. There’s a link to the National Register website, but that only takes you to the front page, not a page with more info on the site.

gr6

Figure 6: Georeader wants to be a socially-built database, and there’s a function in the app that lets you add a “talking point” to the database, with a picture and text. You can choose to make this public, available only to your friends, or private just to you. You can also add and manage “talking points” from the website itself.

Other issues: None.

Final thoughts:

Georeader suffers from a problem common to many start-up social sites. Until there’s a lot of “talking points” available, there’s not going to be a lot of people interested in joining and adding their own “points”. But you won’t get more points added until more people start participating. If they could figure out a way to add the data from the National Historical Marker Database to their own data, this would instantly make the app far more useful. As is, unless you’re motivated to start adding your own “talking points” to the database, there’s not enough here yet to make it worthwhile. You might check back in a few months to see if that situation has changed.




Historical Marker Database App

Application Name: Historical Marker Database

Description: Finds closest historical marker to your current location, brings up webpage.

Publisher’s website: Historical Marker Database

Cost: Free

Version/date reviewed: v.1.0  /  12-1-10

Phone/OS: Droid X / Android 2.2

hdmb_qr

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


When I first saw this app, I was pretty excited. I’d reviewed the main website before and really liked it, and imagined that this app could bring additional utility to the info on the website. If I had actually read the app description, though, my disappointment would have been a bit tempered; this app is really only a location-aware front-end to the website.

hdmb1

Figure 1: Start up the app, and it will launch the GPS to determine your location. If your GPS isn’t enabled, you might get a program crash message (I did). If you get an approximate location (from cell towers), and that’s close enough, click on “Go Now” to enter that location.

hdmb2

Figure 2: The web page for the nearest marker will open up automatically, with a photo and full text if available. This isn’t a completely comprehensive database, though, as it’s a volunteer effort. If you know of a marker that’s not in the database, consider submitting it to the site so that it can be added to the database for others to view.

hdmb3

Figure 3: A map link on the marker page will take you to a browser Google Maps view, with that marker highlighted with a balloon, and additional markers in the area mapped.

hmdb4

Figure 4: If you zoom into the browser map view, and can close the original balloon, tapping on another marker will bring up its balloon. Tapping on the link will open up that marker’s web page. Be prepared to be frustrated; the web map is very unresponsive.

Other issues: None.

Final thoughts:

I had really hoped that this would be a full Android app, taking advantage of all its features. I imagined an app that could provide you with a list of all the nearby markers, as well as plotting them in a native Android view. Even cooler would be the option to read the marker text to you, useful for those occasions when you don’t have time to stop at a marker, but would still like to know what it said. But it is what it is, a browser front-end only. Still, the database is cool enough to make this a useful app for history enthusiasts.




Turn Your Android Into A True Handheld GPS With OruxMaps – Part V: Creating Custom Offline Mapsets From OziExplorer And Calibrated Map Files

Yesterday, I covered ways to create an OruxMaps offline mapset from online map data like Google Maps and Bing Maps. But there may be occasions when you have a separate scanned map image that you want to use in OruxMaps. There’s a free Java app available from the OruxMaps website called OruxMaps Desktop that can convert properly-calibrated scanned map images into an OruxMaps-compatible format. It accepts calibrated map images in two kinds of formats:

OziExplorer-calibrated maps: These are scanned map images calibrated in the OziExplorer program. This is a full-feature GPS utility program, but unfortunately it’s not free – current cost is $100. However, if you search online, there are sources of free maps calibrated with this program. These will come in pairs of files: an image file (JPG, GIF, BMP, etc.), and a MAP file that contains all the calibration data needed by OruxMaps Desktop. Here’s a screen capture of such a file loaded into the program; load the MAP file with the Calibration file button, and as long as the image file is in the specified directory, or in the same directory as the MAP file, it should find it without problems:

ozi_om

Image files with worldfiles: These are often available for free from many websites, like the USGS Seamless Server. The image file contains the graphic imagery, while the worldfile contains calibration info for the image, that has some (but not all) of the data needed for the program to geographically calibrate the image. Worldfiles are simple text files with extensions that usually vary depending on what kind of image they’re associated with (jgw for JPEG, bpw for BMP, tfw for TIF, etc.). They contain information about the starting coordinate position in the upper-left-hand corner of the image, as well as the coordinate dimensions for each pixel. But what they don’t contain is information about the coordinate system used, and the units. You have to find out what this is for a map image; fortunately, there’s usually information about what kind of coordinate system was used in creating that world file available either from the download source, or with the downloaded files.

For example, I downloaded an aerial photo from the USGS Seamless Server website recently, and it came in a compressed zip file format. Inside the zip file were a number of files:

om_zip

There are three files here that I need for use with OruxMaps Desktop:

  • 7714086.tif is the aerial photo image file
  • 7714086.tfw is the worldfile needed for calibration
  • 77140806.prj is a text file that contains information about the coordinate system used for calibration

After unzipping these files, I load the tfw calibration file and the tif image file into OruxMaps Desktop (note: to use TIF files, you’ll need to download and install the JAI I/O tools on your system; they’re available at this website (choose the file that includes “jre” in its name)).

tfw_om

As I load the calibration and/or image files, I’ll get a pop-up telling me that the datum (a set of equations describing the shape of the earth) and the projection (the type of coordinates used with this image) are undefined. For the OziExplorer example above, the MAP file includes this info; for this tiff image file with a worldfile, I’ll need to choose the correct values from the DATUM and PROJECTION dropdowns. In this case, I can open the PRJ file that came with the other files in a text editor, and find out what the correct values are for the datum and projection:

Projection    UTM
Zone          12
Datum         NAD83
Spheroid      GRS80
Units         METERS
Zunits        NO
Parameters

The datum is NAD83 (North American 1983, and the projection is UTM (Universal Transverse Mercator). For UTM, I’ll also have to specify the zone, 12 here (a pop-up window will let me input that in OruxMaps Desktop):

om_tif

From this point on, the steps are the same for both OziExplorer and worldfile maps. Specify the map name, destination directory, and the type of image format you want the tiles in (JPG or PNG), and press the Create Map button; a mapset folder with the mapset name will be created in the destination directory. For photographic images like aerial photos, JPG is likely to be the most efficient space-wise, and you can set the JPG quality with the dropdown. For graphic files like maps, PNG may be a better choice, but I’ve found the file size for PNG files to be huge. You then copy the mapset folder in the oruxmaps/mapfiles directory on your Android, and it will show up when you Browse maps from the startup screen, or look for offline maps from other screens.

If you have a scanned map without any calibration data, you’ll have to create a worldfile to go with it. This is often not a trivial process, but if you want to try it, here’s a list of free software and websites to help you. And if you have a GeoTiff file, which has the calibration info embedded in it but no worldfile, here’s a link to a program that will extract the worldfile, and here’s an app that will extract information about datum/projection used.




Turn Your Android Into A True Handheld GPS With OruxMaps – Part IV: Creating Custom Offline Mapsets From Online Map Services

Previous posts in this series: One, two, three.

As mentioned in Part Three, OruxMaps will automatically cache data from online map services, up to a user-specified limit. However, it can also use mapsets generated automatically from online map data in several different ways. This has the advantage of letting you specify the geographic area and zoom levels you want included, and letting the program handle the download chores; for cached data, you have to manually scroll to the desired area, and zoom in/out to cover all desired map zoom levels. If at all possible, you should only do this when you have a good WiFi connection, as these mapsets can easily run to 10s, if not 100s, of megabytes in size.

map_creator

Figure 1: The first method for generating such mapsets is to use OruxMaps built-in mapset generator. From the main intro screen, choose Online Maps, select the online map source you want to use, and zoom/scroll to the desired map location and area coverage. Then go to Menu => Tools => Map Creator

mc_screen

Figure 2: Here, you can modify the latitude/longitude limits of the map, and select the zoom levels you want included. This is a bit inconvenient – other map programs let you manually select the desired area graphically rather than requiring lat/long values.

mc1

Figure 3: Higher zoom levels are greater detail, but will require more storage space; OruxMaps will tell you how much storage space will be needed, and how many tiles will be downloaded. For example, checking “17” and “18” here would increase the mapset size to 697 MB; checking “19” would exceed the maximum allowable size of 2000 MB, 2 GB. You’ll also need to specify a name for the mapset at the bottom. Once done, click on download, and you’ll get a progress bar; for a large dataset, be prepared to wait a while, even with a fast connection.

GM

Figure 4: Once complete, the new mapset should show up in the list of offline maps that pops up when you choose Browse maps from the startup screen, or Offline maps from any map selection screen …

gm_map

Figure 5: … and the selected mapset should load in. Zoom in to a level for which you have no data, and either you’ll get a blank screen, or a different mapset for which data for that zoom level exists will load in.

This works, but it isn’t the easiest system, and you’re limited to just those online mapsets available in OruxMaps. The app author himself doesn’t really recommend this approach, but it’s there if you need it. A better option may be to use the free Mobile Atlas Creator application. I’ve covered how to use this app in previous posts, so I won’t repeat the basic operations. But for creating a mapset for OruxMaps, the app-specific details seem to be:

  • Select OruxMaps or OruxMaps Sqliteas the atlas format (latter requires the SQLiteJDBC library file in the same directory).
  • You can add multiple mapset types to the atlas, but be sure to give each a unique name.
  • Create the atlas, and when complete, open the atlas folder.
  • Open the folder for the newly-created atlas, and copy the folders with the same names as the mapsets into the oruxmaps/mapfiles folder on your Android unit.
  • Start up OruxMaps, and you should get a message stating that the map database is being updated. If you don’t get that, you can do this manually from the startup screen with Menu => Update maps DB. Your mapset “should” show up in the Browse maps option.

Notice how I said that these “seem to be” the details? That’s because I couldn’t get this process to work on my Android, no matter how hard I tried. Others have reported success, so it must be something that I’m doing wrong, or some quirk with my phone.  If anyone else gets this to work, please post in the comments section, along with any special tricks you might have used. I’d really like to get this to work on my phone!

Tomorrow: Creating OruxMaps mapsets from scanned/downloaded mapfiles.




Turn Your Android Into A True Handheld GPS With OruxMaps – Part III: Managing Online And Offline Maps

Part I (OruxMaps interface) here; Part II (GPS Functionality) here.

OruxMaps has terrific map display functionality built into it. It can download and display map imagery in real-time from online sources like Google Maps and Bing Maps. But it also has the ability to use downloaded and saved map files to display map imagery even when no data connection is available, so you can use it in places where no WiFi or cellular coverage is available.

om_interface

Figure 1: Here’s the start-up screen for OruxMaps. If you select Online Maps

online

Figure 2: The last online map service you used will be loaded in, at the last zoom level you used. Here, it’s Bing Maps at zoom level 19. If I want to select a different online map, I can press the Map Layers button on one of the button bars, hidden here, but which can be revealed by tapping in the appropriate location on-screen (see Part I of this review for more info). I can also use the Menu => Maps option to bring up the selection list …

maplist

Figure 3: There are roughly 30 different mapsets available by default in this list, some of which cover the whole earth while others have limited geographic coverage. If you pick a mapset with no coverage for your area, you’ll get a blank display. You can also add Web Mapping Service (WMS) servers to supply additional mapset options; more on this in a future post. If I select IFR-L …

ifr

Figure 4: … I get an aviation map for my area.

cache

Figure 4: Online maps are just that: online. If you’re in an area with no data connectivity. i.e. offline, you can’t download new map data. However, OruxMaps will automatically save/cache map tile data in your Android unit’s memory, so that it doesn’t have to keep downloading the data over and over again. This cached data is also available when you’re offline as well. So one quick way to save map data for online use is to scroll the online map to your area of interest when you have a data connection, and zoom in to your desired detail level; every map tile downloaded for view will also be saved to the cache. This is a big plus if you’re on a limited wireless data plan – cache maps when you have a free WiFi connection, then use them later.

By default, OruxMaps sets a 256 MB minimum and 512 MB maximum cache threshold for saved map data. When you hit the maximum, it will tell you, and then process the cache to remove older map data until it hits the minimum cache threshold (the author cautions that this may take a while, and you should leave it undisturbed during the process.. You can adjust these threshold values up or down in the Settings => Maps online section.

choose_map

Figure 5: In addition to online maps, direct and cached, OruxMaps lets you use custom created mapsets. These can be generated either from online map services, or from your own graphic map files. I’ll review some ways to create these and install them on your Android in upcoming posts. For now, I’ll just say that you can access these mapsets either from the Browse maps option on the starting screen (first pic above), or by clicking on the Offline maps button in the online map selection screen (third pic above).

If your last location fix was in a spot included on the selected map, you will go immediately to that spot; if not, you’ll be shown the middle point of that mapset. GPS tracking will normally be off in this mode; if you turn it on, and your chosen mapset doesn’t include your current position, you’ll be asked to choose a mapset that does include your current position, and you’ll be given a list of available maps that meet that criterion.

Maps are stored in the “mapfiles” subdirectory of the main OruxMaps directory on your SD card. Unfortunately, there’s no way inside the program to move/copy/delete mapsets in that program; you’ll have to either use a file manager like Astro File Manager or OI File Manager, or hook up your Android in USB Mass Storage mode to do this.

fs_topo

Figure 6: The map quality for custom mapsets can be very high; here’s a sample of a Forest Service topographic map, downloaded from the Forest Service raster data gateway. By default, these are displayed at 100% zoom, 1:1 pixel ratio, but you can overzoom in closer, or zoom out to view more area. For the latter, though, OruxMaps limits the number of map tiles loaded; however, as you move or scroll to new area, the corresponding map tiles are loaded automatically

According to the OruxMaps website manual (scroll to the bottom), you can also add a Web Map Service server to your list of online maps, which in theory could give you flexibility in adding additional online mapsets to OruxMaps from a wide variety of sources. However, I can’t get it to work on my phone, even though the OruxMaps forum reports success with other phones. If you can get it to work on your phone, please let me know in the comments section. Started working spontaneously for me after a short break; not sure what happened.

Tomorrow: how to generate custom mapset files from online map services.