workflow for custom offline maps?

I thought I’d ask, this time, instead of doing my usual thrash around and come up with some totally unworkable way to do what I want…

I ride a dual-sport motorcycle (on/off road) with a GPS. I’ve recently switched GPS units and now run an Android device instead of Garmin. With the Garmin, I built my own custom maps that do things like take my regular routes and make them very obvious… stuff like making them toll expressways instead of the dirt paths they really are… anything to make them really stand out on a little map screen while I’m riding fast. I also have a habit of tracing out potential riding routes via Google Earth or any other map-source I can find. In other words, not stuff that should ever make it into the OSM project. I’ve got a pretty decent workflow with Garmin… mapedit ect…

Now, with the Android-based GPS, it looks like my custom Garmin-format maps are useless and I have to start over. It also looks like I’m going to be dealing with tile-based maps instead of vector. So far in my research it looks like it will be something like: JOSM → Maperitive → MOBAC → Orux on the GPS. I’ve tested and can get data all the way through this chain.

What I’m wondering is:

  • is there a better way?

if not…

  • how can I break up the data in JOSM such that I can actually edit it without the system bogging down? I can cover a lot of ground on my bike and doing things like downloading everything around a gpx track adds up pretty quick (it didn’t help that the first track I tested happened to have the route to a local lake AND my flight to Japan – oops). Are there bite-sized vector files of OSM data? …something like the Garmin img files?

I really like OSM and the data is getting great. I think I can add a lot to it as I get way, way out there, down some pretty obscure tracks. But, I need a way to keep my hacks separate from the clean data.

Any suggestions?


There is an Android app called Locus which can do vector maps, it uses the mapsforge library. You can compile your own maps as well. I’m not sure if you can change the styles of the map yet - it was something the mapsforge people were working on, IIRC.


There are quite a few Android apps that can use vector maps. eg MapsDroyd, OsmAnd, Navit. Though not sure which are any good, or if they can change the map styles. Apparently OruxMaps can use some sort of vector maps, but not sure how that works. Or some more options listed here

To get larger areas of OSM data, you can use Planet extracts:
These are available for whole countries of regions etc. If you don’t need the whole area, you can use Osmosis to extract an area from it, or Splitter to divide it into tiles.
You can then use the extract to render maps with Maperitive, or convert into a suitable format for using as vector maps in the Android app.

just to name one more app that might be suitable für you (also listed in wiki’s overview):

It can display both, vector maps and tile based maps. This app is under very active development.

You can generate your vector maps on your own by feeding its Mapcreator with OSM data extracts.

+1 for OsmAnd’s verctor map support

It supports multiple input maps, so I would go like this :

  • use the default OSM vector map for your area
  • Extract with JOSM the special ways you are interested in
  • Convert the GPX files you have to OSM ways and use some internal tags of your making
  • convert both to OsmAnd’s format with custim rendering (huge, red, …)
  • put in on your OsmAnd’s folder

First, sorry for the late response. Life took one of those turns… is an amazing page! So many options. Kudos to all the people that must have worked together to build such a resource. Thanks for pointing that out, though it will take a bit of research on my part. More than I expected actually.

Also, thanks for the ‘Splitter’ reference. As I had found the planet and region extracts but couldn’t figure out how to get JOSM to use them, that looks like the part I was missing.

I had actually looked at that but dismissed it… paid and I didn’t see any vector at the time. Thanks for pointing that out. Now I’ll have to figure out if I can use it, or something like it, to either work with my old maps or go vector with the OSM maps. I can easily get my old stuff into MP format and convert from there. Still thinking… so much to learn. Seems making maps for OsmAnd from data in MP format is possible… might be worth paying. Then again, if I can get MP into OSM (and the OsmAnd site aludes to this) then I might have a whole new set of workflow possibilities.

I should explain one thing. Along with switching to an Android device (mostly because my Dakota 20 died and I’m mad at Garmin), I’ve also converted to the Linux ecosystem, including a Nokia N810 tablet that has GPS functionality (sort of). I’ve had the N810 for years. Now, none of the N810 apps really did what I wanted to do with a GPS on the bike (inc Navit and Gosmore) but they may be more mature on Android. Also, I’ll admit that I’ve not quite entirely got over the “Linux convert Snob” stage. Thus, the first thing I did with that wiki page on Android is sort by license :slight_smile: I’ll work my way through the GPL stuff first, and preferentially. I mean, there’s nothing in the list I can’t afford (the most expensive seems to be around 20 euros) but there are principles at stake :wink:

Of course, throwing my principles out, cGPSmapper seems to handle large datasets a lot better than JOSM… though I expect there’s a lot of OSM specific stuff it doesn’t do. Still, if I could work in that, then convert to OSM, then dump into Maperitive, then tiles for Orux… after dealing with tile-based maps via the N810, I’m not opposed to them - they do have advantages. I just have that vector data to start with. I might even try that Androzic app. I remember converting some old topo maps to ozf2 format and being amazed at how well they turned out. I wonder if they’re render as well on the tablet in that app (yup - way better than Orux).

So much to learn.

Thanks to all for the pointers. I still don’t know what I’m going to do, but at least I have some better options,


Just a follow-up on this, for anyone else searching:

What I’ve settled on is running stock OSM data and augmenting it with custom OSM files. These extra files include Google Earth traces, etc., and custom ways that I’ve tagged in JOSM with my very own tags. These are my standard and potential routes to various places. Stuff that has no business being in OSM proper. This all gets rendered down to tiles that I use in Orux maps. It works great. I am very happy with the results.

The basic workflow is: OSM world data → Osmosis, to pick out the region I’m interested in → JOSM to make my own complementary files → Maperitive with a custom rendering ruleset to generate tiles based on the above data → and then MOBAC to convert said tiles into Orux maps, which I dump on my Android tablet.

The custom Maperitive ruleset makes beautiful to me maps that most would consider hideous. Mostly black and white, with nearly all the ground cover stripped out, and with very fat black lines for roads. High contrast and easy to see while riding, even with glare on a cheap tablet. I love them. The ruleset also renders my custom routes tags to be super-thick but translucent blue or orange traces that overlay the roads. They don’t hide the road details but it is very clear where my routes are and go. Again, I love it, and they are so easy to follow while riding. I also created some custom gate tags, with custom images that I’ve included in both Maperitive and JOSM. Thus, a quick glance tells me if the gate is passable by motorcycle or not, which is all I really care about.

On top of all that, I also maintain a set of acceptable OSM data I’ve generated from GPS traces that I can upload to OSM. I’ve already contributed some. More will follow as I get the hang of this.

The tools available to work with OSM are amazing and very powerful. Making maps is so much easier now that it was even a few years ago. The learning curve is a bit steep, what with all the different applications needed to get the final result, but I bashed my way through it. Once I finish writing up my notes, I’ll publish them and provide a link here.