Skip to main content

OsmAnd: Navigating With OpenStreetMap

Chances are you using Google Maps for all your navigation needs. Why shouldn't you?

Once upon a time I had to provide my modem to a Comcast representative so that they could disconnect it from my account. I looked up the nearest Comcast location and embarked on a journey. The Google Maps pin was pointing to a non-residential building, so I blindly trusted Google to guide me to the correct location. Upon arriving at the building under a light rain, I was surprised to find out it was actually a public pool/Department of Conservation and Recreation (DCR) office. I wasn't the first one to get there by mistake, so I was redirected to the end of the road, just a couple blocks away.

Please note that I did not own a car, and no buses were going that route, so a couple of blocks away (half a mile, 800m) turned into a 20 minute walk under what turned to be an umbrella-bending thunderstorm.

Having returned home, I decided to notify Google of the wrong marker location. I sent a request explaining the issue. A few days later I received the notification that my case was closed and no action taken since not enough proof was provided. I tried the second time, but something did not work quite right then either.

Since I started driving, I've missed a number of turns because the map did not match what was on the ground, Google Maps would announce "Arrived" when my destination entrance was concealed by the trees and there was a whole parking lot between us, we've been guided through that Casey Overpass WIP site where left turn is a suicide because you don't see oncoming traffic. I started to care deeply about those things, but I can't influence a corporation to care about a small misplaced road.

So now I fix things myself. And when a number of naviqgation applications pick these changes up, I can benefit from having an accurate map at my disposal.


So the first application I downloaded related to OpenStreetMap was OsmAnd.

/galleries/openstreetmap/osmand-logo.jpg

TL;DR

Name

OsmAnd (free), OsmAnd+ (paid, $6.49)

Version

2.3.5

Map update

May 1st, 2016 (monthly)

Platforms

Android, iOS

Supports

offline: car, foot, bicycle; online: OSRM, YOURS

License

GPLv3, CC-BY-ND-NC, various third-party licenses

Permissions

Camera, Location, Microphone, and Storage

Outstanding Features

Live(-ish) map update, generate/export GPX, display/follow GPX route, block roads, add OSM POIs and notes.

Pros

  • Open Source (mostly GPLv3).

  • Adding POIs and Notes from Android device.

  • Creating georeferenced photos and audio commentary.

  • Writes GPS Tracks.

  • Car parking plugin.

  • Different detail level for car, foot, and bicycle.

  • Frequent map updates, provides tools to generate maps by end-user.

Cons:

  • Extremely visible map redraws and jumpy panning.

  • Map rendering is crowded with details.

  • You can get lost in configuration menus.

  • OSRM (online) turn-by-turn navigation lacks street names.

  • Live Map updates (beta) do not change routing patterns.

Jack of All Trades

Let me start with what I am using it extensively for - surveying the locations and adding the data offline prior to uploading it to OpenStreetMap.

Survey

/galleries/openstreetmap/osmand-night-mode.png

Night mode

OsmAnd uses OpenStreetMap data and they are committed to providing timely map updates.

OsmAnd can write GPX tracks, which you can export later, analyze the path, upload to OpenStreetMap, use as a navigation guide or replay your trip in the application itself.

The application supports different display settings for three modes of navigation - foot, bicycle and car, meaning that you can hide/show the objects depending on your method of transportation. Additionally, OsmAnd has support for night mode (dark colors), a set of road styles (German/American/High contrast and others), a set of map styles, various magnification levels for text and map elements.

Oh, and you can overlay and underlay maps using external tile servers, so you can easily make a hybrid map using the data from various OpenStreetMap services or Bing Earth. This makes it extremely easy to correlate the features in the map to the features on the ground.

/galleries/openstreetmap/osmand-poi-edit.png

Editing Point of Interest

You can enable display of map fixme and note tags allowing you to see the issues in the field. Some editing of OpenStreetMap data is also supported - you can add and modify OpenStreetMap Points of Interest (if presented as a node), create or resolve map notes. Later you can export your findings to a file or have them uploaded to OpenStreetMap website.

Note that MAPS.ME also allows adding POIs, but they update maps only when a new application version is released (why?), so we'll most likely get a lot of duplicate POIs from MAPS.ME users even when they contribute quality data.

Except this one thing...

When you launch the application you will definitely notice its redraw procedure. No matter which device you use, you can see how the road shadings and areas are drawn prior to road overlays, with the map sometimes completely disappearing for a couple of milliseconds.

OsmAnd tries to render as much information as possible, causing the map to look extremely cluttered. While there are a number of color palettes (and you can create new ones yourself), I have yet to find one that I'd like.

Additionally, building a route takes time. Building a route that spans more than 200 km may take minutes or never complete, as the helpful message explains in the interface itself.

While these aren't really problems if you use OsmAnd for walking directions or just browsing the map, it becomes an issue once you start car navigation.

Application

1 mile/1.7 km

8 miles/14 km

OsmAnd+

15s

30s

Navmii GPS (World)

3s

2s

MapFactor Navigator

2s

2s

Route building times

Canceling a route requires you to click the "navigation" icon and select the close icon, which was not obvious for me.

My wife, who is a great copilot, has expressed her frustration with OsmAnd numerous times, when the screen got redrawn at random intervals, hiding/showing the roads requiring you to keep track the small nearby roads in order to be able to position yourself on the map.

When driving alone, using OsmAnd is pleasant if the road does not have many turns, but as soon as you approach a complex intersection, the application makes it even harder by selectively showing different areas at different times.

It was my expectation that any OpenStreetMap-based application would behave similarly, but having tested 5 other navigators, I found this to be an exception rather than a rule. For example, here's the same route segment as rendered by OsmAnd and Navmii:

OsmAnd+

Navmii GPS (World)

You can disable the automatic zoom feature, but it forces you to manually adjust zoom to see more/fewer details and your must never play with your phone while driving.

You are also greeted with a big number of controls you can click and several menu levels that you will want to click-through before you can get comfortable with the application (e.g. the route simulation button is at the bottom of the "Dashboard" section).

/galleries/openstreetmap/osmand-menus.png

Various OsmAnd+ menus

/galleries/openstreetmap/osmand-addr-search.png

The only source for addresses in OsmAnd is OpenStreetMap itself, and you'll be able to find the locations through search only if the (local) mappers added the correct data (so go add things!).

The search requires you to split your address into components, which depending on where you live can be either welcome or annoying.

Additionally, OsmAnd registers itself as a handler for geo protocol, but I was never able to get it to actually find anything via the address query, while the geo:lat,lng worked. If only all the businesses published their geographical coordinates...

OSM Live (Beta)

OsmAnd is already ahead of the competition in terms of map availability (Mapzen Eraser Map beta appears to update daily, but it requires online connectivity for tiles and routing), but you can get map updates even faster with OSM Live (Beta).

$1.09/mo is the price you can pay to get the latest map imagery every hour and this is the only application that provides such functionality.

A part of the funds from subscription then get distributed to the mappers who made the changes in a region you are subscribed to, so technically I can get reimbursed for updating the map. Now, the payments are performed via Bitcoin, and this is a thing I haven't yet become crazy about.

/galleries/openstreetmap/osmand-osrm-nostreet.png

No streets with OSRM

/galleries/openstreetmap/osmand-live-road-gone.png

The turn is no longer there

Unfortunately, routing information is not updated when new map files are downloaded, so you'll have to wait until the next month for routing update.

Now, you do have an option of using on-line OSRM routing, which should be only around a day or two behind the OSM data, but by doing that you lose the street names and you'll be directed to your destination with generic "in 9/10 mile turn right", "turn left", etc. If you stick to OsmAnd offline routing, that won't be an issue.

All of this is subject to change, as OSM Live is in beta stage, and it would be a truly unique offering if both map imagery and routing information were beamed to the devices in near-realtime.

If you are a DIY person, you can generate the maps yourself from OpenStreetMap dumps and upload them to your phone.

Afterword

I truly hope that OsmAnd can get a better rendering engine as the current one does a disservice to the functionality of the application. I wish I could help, but I am not proficient in either Qt or Android development.

OsmAnd is indispensable for surveying locations, as you can gather all the information offline and dump it to a computer whenever you want (or even upload directly to OpenStreetMap), and I am using it extensively for this purpose, but it won't be my daily navigator.