15 Years of OsmAnd
All these 15 years can be roughly divided into three stages. For the first five years, we built the very basic functionality—offline maps and navigation that just worked. Over the next five years, we transformed OsmAnd into a full-fledged application with plugins, extensive settings, and professional tools. We dedicated the third five-year period to deep internal work: completely rewriting and improving key components like the rendering engine and routing algorithms.Now, a new, fourth stage begins. We have reached functional maturity, and our main goal for the near future is to polish what we've already built. We will focus on stability, speed, and consolidation. User expectations are growing, and what was once considered normal must now be flawless.
(Thanks to Paul Wise).
Posted Jul 1, 2025 14:29 UTC (Tue)
by jezuch (subscriber, #52988)
[Link]
Posted Jul 1, 2025 14:58 UTC (Tue)
by pbo (subscriber, #165352)
[Link] (2 responses)
For people who tried offline routing (without BRouter), this was painfully slow, forcing you to introduce intermediate points to guide the algorithm. Now, it's possible to route over hundreds of kilometers in a few seconds.
Very nice blog article about the magic behind it: https://osmand.net/blog/fast-routing
Posted Jul 2, 2025 20:26 UTC (Wed)
by bluss (guest, #47454)
[Link] (1 responses)
Posted Jul 3, 2025 20:29 UTC (Thu)
by pbo (subscriber, #165352)
[Link]
Anyway, happy to see that sharing this information helped at least someone else!
Posted Jul 1, 2025 18:45 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (13 responses)
I'd love to self-host the entire globe, but the current solutions are painful. They require PostGIS and it's not the fastest tools for map rendering. Never mind that it takes about 2Tb to store the data.
Posted Jul 1, 2025 20:20 UTC (Tue)
by malmedal (subscriber, #56172)
[Link] (12 responses)
Basically, either render your own vector tiles with tilemaker, https://github.com/systemed/tilemaker
The standard .mbtiles format is just sqlite3, easy to handle. pmtiles is not very much harder.
To display you need e.g.: https://github.com/maplibre/maplibre-gl-js
You'll need a style, for instance: https://github.com/maputnik/osm-liberty
Use maputnik, from the same people, if you want to change it.
Posted Jul 1, 2025 21:30 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (11 responses)
I tried `tilemaker`, but I can't get it to render the tiles on-demand. Which it should be able to do.
> You'll need a style, for instance: https://github.com/maputnik/osm-liberty
I found this one, but it depends on MapTiler which is commercial. It works great, but I'd love to do a fully OSS solution.
Posted Jul 1, 2025 23:40 UTC (Tue)
by brunowolff (guest, #71160)
[Link] (7 responses)
Posted Jul 2, 2025 10:53 UTC (Wed)
by malmedal (subscriber, #56172)
[Link] (6 responses)
In addition to what I explained to Cyberax, if you want
https://github.com/GIScience/openrouteservice
gives you walking and driving directions and various other nice things. GIScience also has a number of other nice projects for things like geocoding and reverse geocoding.
Sadly I don't have enough space on my phone to have this in addition to the maps, but if you're carrying a laptop you'll be fine.
Posted Jul 2, 2025 13:42 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (5 responses)
Don't the latest phones have far more "memory" available than your typical laptop?
I might be out of date, but the recent laptops I looked at, many were 32/32 (32GB ram, 32GB SSD). Okay they were chromebooks, but the real laptops weren't much better.
Whereas your typical phone had no trouble whatsoever adding a 512GB microSD card ...
Cheers,
Posted Jul 2, 2025 14:13 UTC (Wed)
by malmedal (subscriber, #56172)
[Link] (4 responses)
Posted Jul 2, 2025 14:30 UTC (Wed)
by Wol (subscriber, #4433)
[Link] (3 responses)
?????
Ouch!
Given I tend to buy high-end budget phones, I didn't realise that ... seems daft I can have more storage than you! Although I was aware high end phones tended to come with "unlimited cloud storage" ... what happens when you change phone?
Cheers,
Posted Jul 2, 2025 17:08 UTC (Wed)
by malmedal (subscriber, #56172)
[Link] (2 responses)
Posted Jul 3, 2025 10:10 UTC (Thu)
by farnz (subscriber, #17727)
[Link] (1 responses)
And, of course, there's the thing where someone who's paid £150 for a phone is less likely to be willing to pay £50/month for unlimited data, whereas someone spending £1,000 on a phone might well pay for unlimited data, and thus be more willing to rely on cloud storage for bulk data like photos and videos.
Posted Jul 7, 2025 12:28 UTC (Mon)
by DrMcCoy (subscriber, #86699)
[Link]
I actually put such a card into my previous, cheaper phone, when I got it, several years ago. You'll see all sorts of weird errors then.
Posted Jul 2, 2025 10:31 UTC (Wed)
by malmedal (subscriber, #56172)
[Link] (2 responses)
I will be surprised if that can be made performant enough. I am using to render the entire world into a 70Gig or so file which fits on my phone.
> but it depends on MapTiler which is commercial.
You don't have to. This is what the tilemaker tiles replace.
To explain a bit more; what I do is use tilemaker to make vector tiles of the entire world, takes about a day, then copy it to my phone.
Instead of running tilemaker yourself you can download maptiler-osm-2025-06-30-v3.15-planet.mbtiles from MapTiler, not FOSS, but free for personal use,
The phone app consists of an Android WebView backed by an http-server which serves the tilemaker tiles and a javascript app, written with maplibre-gl and using osm-liberty as style.
This gives me a nice map of wherever I am in the world, which I can use without expensive roaming charges or messing with a local sim.
Posted Jul 2, 2025 17:52 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
That's the part that doesn't work for me. I couldn't get tilemaker tiles from the converted mbtiles. My goal is to render them on the web (for things like the map for Immich).
Do you mind sharing the configuration for that tile server? I promise I'll share the resulting `docker-compose.yml` and write a blog post about it.
Posted Jul 2, 2025 19:03 UTC (Wed)
by malmedal (subscriber, #56172)
[Link]
Are you sure you are talking about tilemaker and not one of the others like e.g. tippecanoe?
I prefer tilemaker because you just give it the planet-latest.osm.pbf and out comes either a .mbtiles or .pmtiles file. This is what you serve, for serving .mbtiles, you need to know it is just a sqlite3 file so I just coded up a simple endpoint in jetty(Java webserver) that did select tile where zoom = ? and row = ? and column = ?; and returned that.
For .pmtiles it is even easier, you just put the file in just about any webserver and point the client to that. The client will use byte-range http requests to get the metadata and the data it needs.(As long as you're not using a pre http/1.1 server :) )
Was that clear enough? Happy to answer more of needed.
Posted Jul 2, 2025 15:54 UTC (Wed)
by FloatingBoater (subscriber, #67237)
[Link]
In my second decade of OSM contributions, Garmin GPSr (e.g Oregon) have largely been replaced with a phone for maps and a dual-band GPSr watch (Foreunner 255) for GPX data collection. The large screen means you can get more situational awareness of what's nearby when out surveying ground-truth.
Has it really been that long since OSMAnd started and I first loaded it on a phone? Time flies...
Almost 10 years for me
Try the new routing algorithm
Try the new routing algorithm
Try the new routing algorithm
Custom renderer?
Custom renderer?
or get them from: https://data.maptiler.com/downloads/tileset/osm/
Custom renderer?
Custom renderer?
Custom renderer?
routing there's:
Custom renderer?
Wol
Custom renderer?
Custom renderer?
Wol
Custom renderer?
There's three reasons to not put an SD slot in a phone:
SD cards in phones
SD cards in phones
Custom renderer?
Custom renderer?
Custom renderer?
OSMAnd supports OSM contributors with free Live Updates