Creating a map with "ICAO maps style"

Hi all!

I’m using OpenStreetMap as source for an App I’m writing. The App should be used by flying, so it would be better, if the maps will be as closed as possible to the official ICAO maps.
I know, many other Apps (VFRNav, AviaMaps, usw.) use maps material from OpenStreetMaps, and the maps look very like the ICAO maps.

Unfortunately, I didn’t found any settings to create the tiles so as I need…
I use MOBAC to create the sqlite files to use in OSMDroid.

Can someone suggest me a solution to my problem?

Thanks a lot

First things first, you’re going to need to create your own map style. Beyond that, you have a couple of choices:

  1. One is to use one of several vector tile toolchains to create vector tiles (in your new style). There’s some information at , but not a huge amount.

  2. Another is to create raster tiles and convert them to your desired format using MOBAC.

For (2), describes how to set up a tile server that you can then “scrape” yourself. For the “create your own map style” part, one of more of the tutorials at is probably the best start. I also wrote a while back to explain exactly what I did to add one simple change (for bus guideways) to OSM Carto.

The reason that I’ve not added a “vector tiles” section to yet is that I’ve not found an option that is (1) well enough explained (2) supported and likely to continue to be and (3) not locked in to one vendor or another. Logically what you are doing does sound more suited to a vector tile solution than something based on raster tiles, however.

If you did want to continue with your current plan of new “map style → raster tiles → MOBAC → mobile application” then don’t forget you’re not limited in the same way that the current OSM Carto style on is - you can create whatever database columns you like, and not have to worry about lua transformations at data load because “reloading the data at style change” won’t be a major logistical effort where you need to negotiate downtime with database consumers.

Hi and thank you very much for your answer!
It look like it is a very complex theme and need a huge amount of resources…

I think, I’ll check if I’ll find something I can use and that looks like what I’d like…

Anyway, many thanks!

So, I see, I must create my own tile server and change the map style…
I got it working, but I cannot understand how I change the style… My first try was to hide the aerodromes and the peak, so I deleted the references of these elements in project.mml and amenity-points.mss, but it does not work…

Could you suggest me a documentation that explain how to do that?

Thanks a lot

The best option that I’m aware of is Ircama’s site, that I linked to above. You could try asking elsewhere - a few places mentioned at are likely to get more viewers than here.

The most likely reason is that something caching old data. When making a change to an OSM Carto style I use to reload the style, and if I need to reload the data as well I use . There’s lots of stuff in there you won’t need (that script merges together different .pbf files and processes them so that, for examples, Scots Gaelic is used for names in the northwest of Scotland), but the basics of rerunning carto, reloading the database if necessary, and restarting apache2 and renderd might be useful to you.

OK, thank you.

My error was that I didn’t reload renderd and didn’t delete the tiles…
As soon as I do it, the maps were generate correctly. Or better: correctly as I can do now, with some experiments…

Another question: is there a possibility to recreate all tiles at once? Currently I must wait and reload the test page (with leaflets) many time before I can see the complete map.
For the test, it is OK, but later, when I’ll use MOBAC to generate the database, it will make many problems…
My idea is to experiment now with a little map (currenty I use Saxony) and as soon I got my style as I want, download the countries I need and force the re-generation of all tiles, then with MOBAC generate the DBs.
In this moment it’s not important, if the generation of all tiles takes many hours, but it is important that later I can get them with MOBAC in seconds…

And the very question is: how to make that?

Thanks a lot