<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>while not keypressed (Posts about navigation)</title><link>https://www.keypressure.com/</link><description></description><atom:link href="https://www.keypressure.com/blog/tags/navigation.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Thu, 23 Oct 2025 15:54:38 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>OsmAnd: Navigating With OpenStreetMap</title><link>https://www.keypressure.com/blog/2016-05-22-osm-navigation-osmand/</link><dc:creator>Roman Yepishev</dc:creator><description>&lt;p&gt;Chances are you using Google Maps for all your navigation needs. Why shouldn't you?&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;hr class="docutils"&gt;
&lt;p&gt;So the first application I downloaded related to OpenStreetMap was OsmAnd.&lt;/p&gt;
&lt;figure&gt;
&lt;a class="reference external image-reference" href="http://osmand.net/"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-logo.jpg" src="https://www.keypressure.com/galleries/openstreetmap/osmand-logo.jpg"&gt;
&lt;/a&gt;
&lt;/figure&gt;
&lt;section id="tl-dr"&gt;
&lt;h2&gt;TL;DR&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Name&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;OsmAnd (free), OsmAnd+ (paid, $6.49)&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Version&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;2.3.5&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Map update&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;May 1st, 2016 (monthly)&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Platforms&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;Android, iOS&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Supports&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;offline: car, foot, bicycle; online: OSRM, YOURS&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;License&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;&lt;a class="reference external" href="https://github.com/osmandapp/Osmand/blob/master/LICENSE"&gt;GPLv3, CC-BY-ND-NC, various third-party licenses&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Permissions&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;Camera, Location, Microphone, and Storage&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Outstanding Features&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;Live(-ish) map update, generate/export GPX, display/follow GPX route, block roads, add OSM POIs and notes.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;section id="pros"&gt;
&lt;h3&gt;Pros&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Open Source (mostly GPLv3).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding POIs and Notes from Android device.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Creating georeferenced photos and audio commentary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Writes GPS Tracks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Car parking plugin.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Different detail level for car, foot, and bicycle.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frequent map updates, provides tools to generate maps by end-user.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="cons"&gt;
&lt;h3&gt;Cons:&lt;/h3&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Extremely visible map redraws and jumpy panning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Map rendering is crowded with details.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can get lost in configuration menus.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;OSRM (online) turn-by-turn navigation lacks street names.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Live Map updates (beta) do not change routing patterns.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- TEASER_END --&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="jack-of-all-trades"&gt;
&lt;h2&gt;Jack of All Trades&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;section id="survey"&gt;
&lt;h3&gt;Survey&lt;/h3&gt;
&lt;figure class="pull-right"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-night-mode.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-night-mode.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;Night mode&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;OsmAnd uses OpenStreetMap data and they are committed to providing timely map
updates.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;figure class="pull-left"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-poi-edit.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-poi-edit.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;Editing Point of Interest&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;You can enable display of map &lt;code class="docutils literal"&gt;fixme&lt;/code&gt; and &lt;code class="docutils literal"&gt;note&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;Note that &lt;a class="reference external" href="http://maps.me/en/home"&gt;MAPS.ME&lt;/a&gt; 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.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="navigation"&gt;
&lt;h3&gt;Navigation&lt;/h3&gt;
&lt;p&gt;Turn-by-turn navigation is completely offline, and you can use online services
such as &lt;a class="reference external" href="http://project-osrm.org/"&gt;OSRM&lt;/a&gt; and &lt;a class="reference external" href="http://www.yournavigation.org/"&gt;YOURS&lt;/a&gt; (the latter updated in 2014, though).  While offline
navigation does not seem to matter to an always-connected person, there were a
couple of times when we lost network connection during navigation with Google
Maps, so having an offline map is always a plus. On the other hand, almost all
OSM-powered applications require you to download the maps to your device and
you can cache some regions with Google Maps. You can also download whole
countries/states with Here Maps.&lt;/p&gt;
&lt;figure class="pull-right"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-lane.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-lane.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;Lane guidance (visual only)&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;You can add intermediate waypoints to your route customizing it to your liking.
I am using this functionality to avoid intersections I don't like by setting a
detour through a different road as well as actually making a list of points to
visit.&lt;/p&gt;
&lt;p&gt;Again, Google Maps and Here Maps allow you to define waypoints through a web
interface, but this functionality is completely missing from their Android
applications (MapQuest supports waypoints on Android app too).&lt;/p&gt;
&lt;p&gt;If a road has defined lane configurations, OsmAnd will display lane markings,
allowing you to pick the correct lane for traveling. Same goes for
the speed limit (&lt;code class="docutils literal"&gt;maxspeed&lt;/code&gt; OSM tag). You'll have the current speed limit
displayed and be notified in case you go over it.&lt;/p&gt;
&lt;p&gt;So it is basically everything you'd want to have in a navigation application.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="except-this-one-thing"&gt;
&lt;h2&gt;Except this one thing...&lt;/h2&gt;
&lt;div class="pull-right"&gt;&lt;video controls height="492" width="277"&gt;
    &lt;source src="https://www.keypressure.com/files/video/osmand-panning.webm" type="video/webm"&gt;
    &lt;source src="https://www.keypressure.com/files/video/osmand-panning.mp4" type="video/mp4"&gt;
&lt;/source&gt;&lt;/source&gt;&lt;/video&gt;&lt;/div&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="figure alert alert-info"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th class="head"&gt;&lt;p&gt;Application&lt;/p&gt;&lt;/th&gt;
&lt;th class="head"&gt;&lt;p&gt;1 mile/1.7 km&lt;/p&gt;&lt;/th&gt;
&lt;th class="head"&gt;&lt;p&gt;8 miles/14 km&lt;/p&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;OsmAnd+&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;15s&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;30s&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;Navmii GPS (World)&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;3s&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;2s&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;p&gt;MapFactor Navigator&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;2s&lt;/p&gt;&lt;/td&gt;
&lt;td&gt;&lt;p&gt;2s&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="caption"&gt;Route building times&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;Canceling a route requires you to click the "navigation" icon and select the
close icon, which was not obvious for me.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;div class="pull-left figure"&gt;&lt;video controls height="640" width="360"&gt;
    &lt;source src="https://www.keypressure.com/files/video/osmand-jumpy.webm" type="video/webm"&gt;
    &lt;source src="https://www.keypressure.com/files/video/osmand-jumpy.mp4" type="video/mp4"&gt;
&lt;/source&gt;&lt;/source&gt;&lt;/video&gt;
&lt;p class="caption"&gt;
OsmAnd+
&lt;/p&gt;&lt;/div&gt;&lt;div class="pull-right figure"&gt;&lt;video controls height="640" width="360"&gt;
    &lt;source src="https://www.keypressure.com/files/video/navmii-smooth.webm" type="video/webm"&gt;
    &lt;source src="https://www.keypressure.com/files/video/navmii-smooth.mp4" type="video/mp4"&gt;
&lt;/source&gt;&lt;/source&gt;&lt;/video&gt;
&lt;p class="caption"&gt;
Navmii GPS (World)
&lt;/p&gt;&lt;/div&gt;&lt;p class="pull-clear"&gt;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.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="/galleries/openstreetmap/osmand-menus.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-menus.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;Various OsmAnd+ menus&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="pull-right"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-addr-search.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-addr-search.png"&gt;
&lt;/figure&gt;
&lt;p&gt;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 (&lt;a class="reference external" href="https://www.keypressure.com/blog/osm-in-the-beginning-there-was-a-node/"&gt;so go add things!&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The search requires you to split your address into components, which depending
on where you live can be either welcome or annoying.&lt;/p&gt;
&lt;p&gt;Additionally, OsmAnd registers itself as a handler for &lt;a class="reference external" href="https://developer.android.com/guide/components/intents-common.html#Maps"&gt;geo&lt;/a&gt; protocol, but I was
never able to get it to actually find anything via the address query, while
the &lt;code class="docutils literal"&gt;geo:lat,lng&lt;/code&gt; worked. If only all the businesses published their
geographical coordinates...&lt;/p&gt;
&lt;/section&gt;
&lt;section id="osm-live-beta"&gt;
&lt;h2&gt;OSM Live (Beta)&lt;/h2&gt;
&lt;p&gt;OsmAnd is already ahead of the competition in terms of map availability
(&lt;a class="reference external" href="https://github.com/mapzen/eraser-map"&gt;Mapzen Eraser Map beta&lt;/a&gt; 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).&lt;/p&gt;
&lt;p&gt;$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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;figure class="pull-right"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-osrm-nostreet.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-osrm-nostreet.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;No streets with OSRM&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class="pull-left"&gt;
&lt;img alt="/galleries/openstreetmap/osmand-live-road-gone.png" src="https://www.keypressure.com/galleries/openstreetmap/osmand-live-road-gone.png"&gt;
&lt;figcaption&gt;
&lt;p&gt;The turn is no longer there&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;If you are a DIY person, you can &lt;a class="reference external" href="https://wiki.openstreetmap.org/wiki/OsmAndMapCreator"&gt;generate the maps yourself&lt;/a&gt; from
OpenStreetMap dumps and upload them to your phone.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="afterword"&gt;
&lt;h2&gt;Afterword&lt;/h2&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/section&gt;</description><category>android</category><category>bugs</category><category>gps</category><category>navigation</category><category>openstreetmap</category><category>rendering</category><guid>https://www.keypressure.com/blog/2016-05-22-osm-navigation-osmand/</guid><pubDate>Sun, 22 May 2016 16:36:38 GMT</pubDate></item></channel></rss>