OSM Scout Server

Your rating: None Average: 5 (72 votes)

OSM Scout Server is a native offline maps provider. This server can be used as a drop-in replacement for online map services providing map tiles, search, and routing. As a result, together with the map client, a full offline solution is available for map search and navigation (car, bicycle, and walking).

The server can be used to provide:

  • map tiles for other applications;
  • search for locations and free text search;
  • search for POIs next to a reference;
  • calculate the route between two or more locations.

To use the server, you have to start it and configure the client to access it. Poor Maps and modRana have support for the server already with no additional configuration needed.

NB! For SFOS < 3.4. users - starting from 1.17.1 release, SFOS 3.4.0 is required for the builds published at OpenRepos. For older SFOS, please use OBS. Currently, SFOS 3.3.0 is supported in addition to SFOS 3.4.0.

OBS: https://build.merproject.org/project/show/home:rinigus:maps




Specific update instructions:

1.15.0 Valhalla database format has been updated. Please update maps after installation.

1.14.3 I suggest to uninstall old version of the server, check if anything stayed in /usr/share/harbour-osmscout-server and if that folder is there and/or not empty, remove it using devel-su. After that, install a new version (1.14.3 and up).

NB! When Mapbox GL schema is changed (as for 1.4.0), please remove Mapbox GL application caches.

NB! When a new backend is added, such as with the release of 0.9.0 and 0.10.0, please ensure that you have subscription information updated. For that, in Map Manager, click on "Check for updates", decline updates, and unsubscribe/subscribe each territory that you have subscribed. After that, proceed with the downloads. This is not needed if you don't want to use the added backend(s).

For detailed up-to-date description, please see https://github.com/rinigus/osmscout-server/blob/master/README.md

License: GPL
Source code: https://github.com/rinigus/osmscout-server

User's guide: https://rinigus.github.io/osmscout-server

Official TMO thread: http://talk.maemo.org/showthread.php?t=97823

Donations: https://rinigus.github.io/donate

Screenshots show the running server and, as an example client application, Poor Maps accessing the map tiles and calculated route prior to navigation.

Maps are hosted by Natural Language Processing Centre (https://nlp.fi.muni.cz/en/ , Faculty of Informatics, Masaryk University, Brno, Czech Republic) through modRana (http://modrana.org)
data repository.

Map data from OpenStreetMap, Open Database License 1.0. Maps are converted to a suitable format from downloaded extracts and/or using polygons as provided by Geofabrik GmbH.

Application versions: 


rinigus's picture

the server providing maps is down again , unfortunately . I expect out will work tomorrow .

DarkTuring's picture

It works now!

rinigus's picture

Great. There is also redundancy in the latest version of the server allowing us to provide maps via two distribution servers. So, if the main server is down, the backup will be asked for the data - it may just take a bit longer for the first connection

naytsyrhc's picture

I always get an error: mapnik not available due to sqlite malformed disk image. Is there a way to repair? Downloaded maps freshly but still the same. Try to store maps on sd card. May that cause the error? Thx for help.

rinigus's picture

I would need a bit more info to help. In particular, there are several SQLite databases involved and I want to be sure where does the error come from. So, here are the questions:

* does it happen to any new Mapnik database or only one in particular? Try to download some small country and see if that works.

* If there is one country in particular, please let me know which. Then I can test it as well

* If it happens to any country, try to make a new directory for maps and see if it helps. You would have to redownload all maps though. There is a "master" database that keeps versions of all downloaded files and if something happened to that (never heard of it though), it could have some strange results. With the new folder, you would start a new "master" database

I am also keeping all on SD card, so that should be fine.

naytsyrhc's picture

Seems to be a problem with all databases. As the directory is totally new an all maps have been downloaded freshly, it seems to be sonething in general. Any debugging possibilities?

rinigus's picture

Its something new, haven't had this issue earlier. We can try to see your session log file:

* Go to Settings, scroll to the the end, enable "Log messages into session log file"

* Accept Settings

* Close OSM Scout Server

* Open OSM Scout Server again

* Close it again (I presume that the errors are logged)

* Copy session log file from .cache/harbour-osmscout-server/harbour-osmscout-server/session.log to somewhere (pastebin?) and send me a link

* Start OSM Scout Server and disable logging in Settings

Let's see if its also error on SD card. For that, enable "libosmscout" profile (this should have smallest files), setup a new folder on internal storage and download some smaller country. Do you get errors again?

To test maps with the smaller country, try to see this country with Poor Maps or modRana. For that, use first online basemap, navigate to country, and then switch over to OSM Scout Server basemap. It will not be as pretty as Mapnik, but should show something

naytsyrhc's picture

Thx for the response and offered help. It somehow healed itself. I removed (unsubscribed) all maps and performed  a cleaning. Afterwards I resubscribed and the map was available.

rinigus's picture

Thank you very much for reporting back! Enjoy using it

naytsyrhc's picture

Thank you for providing this great tool. Another update: when.I installed a new map (that worked) that was only a part of germany. After that I again tried the whole germany map and that again causes the error. The map is quite large (9 GB) and I had two download failures and had to presume download. Maybe the error has something to do with it?

rinigus's picture

In case of full Germany, the issue could be filesystem support for files larger than 4GB. In particular, Mapnik is done via single file which is 6.7GB in this case.

There is a way around it: download Germany by parts. If you use the default profile (mapnik.geocoder-nlp/valhalla), the server will show data from all datasets "glued" together.

In a bit longer term: wait till I release Mapbox GL support for OSM Scout Server. In this new approach, the biggest tile database is below 1GB (0.5GB to be more precise) and it would suit well for getting support of larger territories. I am making good progress with it, but its not ready yet

objectifnul's picture

Is modrana.org down permanently? If so, is there an alternative?

rinigus's picture

Hi, no, its not permanently. However, since it gone down saturday night and its hosted by the research institution, we probably have to wait till monday. At present, there is no fallback server, unfortunately. I could upload to the cloud that I use, but it would probably take about 12 hours due to the partitioning of the datasets. Taking into account that modrana.org will be probably back tomorrow, I presume that its not worth it...

I will look for alternative servers to use as a fallback to make the map distribution more stable.

objectifnul's picture

Thx. By the way, congratulations for this awsome work.

ferlanero's picture

Thumbs up for new release. I'm absolute impressed with how this project is developed!

rinigus's picture

Thank you!

Vilkz's picture

Hello, I want to get the osm.org stylesheet for mapnik. I have tried replacing "/usr/share/harbour-osmscout-server/mapnik/default/day/mapnik.xml" with osm.xml from https://trac.openstreetmap.org/browser/subversion/applications/rendering/mapnik, I then get the error message "Mapnik exception: failed to initialize projection with:[the path to mapnik.xml inside ~/.cache]". I guess this isn't the correct way to do this?

rinigus's picture

Unfortunately, its not that easy. All mapnik styles are attached to some data source. In the case of osm.org, its attached to PostGIS database. I am using SQLite datasource as a backend for my mapnik styles to keep RAM consumption small. So, if you wish to adapt osm.org, you would have to maake a corresponding style as well. See https://github.com/rinigus/mapnik-styles-sqlite for  styles used by OSM Scout Server. If you are faamiliar with how to edit these styles, its not too hard to make one for yourself.

DrYak's picture

Feature request:

- Whole Europe download in the GUI interface (for people with 128GB  uSD-cards), like navit.

BTW: great app, love it ! Big thanks!

rinigus's picture

That's not very simple. One way would be to make a single import, but it would take large amount of time. Alternative is to have "batch" download, but the server doesn't exactly support it yet. Second alternative would be to generate countries_requested.json file and use it for subscription of the maps. This would allow to enter all European countries as the subscribed ones and use OSM Scout Server to download them.

Right now, I don't think I have time for it. If you would like to do that and know how to program in something that readw/writes JSON, you could try to make a hack for yourself :)

DrYak's picture

Second alternative would be to generate countries_requested.json file and use it for subscription of the maps.


If you would like to do that and know how to program in something that readw/writes JSON, you could try to make a hack for yourself :)

I'm fluent in Perl (in addition to other stuff like C/C++) so cobbling together something like this shouldn't be difficult.

The only thing that bothers me is that currently OSM Scout has only one active map at one time, so this wouldn't allow me to just select "Europe" and be done with it.

rinigus's picture

It has a single active map for libosmscout backend only. For Mapnik, Geocoder-NLP, and Valhalla, all maps are active. This is the default profile and you should be nicely covered.

The selected map on main GUI in the case of default profile (Mapnik, Geocoder-NLP, and Valhalla) is used only by the geocoder for the first preference of the search. Namely, when you search for something you would get hits from that country first (if they are as good as in the other countries).

DrYak's picture

For Mapnik, Geocoder-NLP, and Valhalla, all maps are active.

Then this is definitely interesting for me !

rinigus's picture

That's one of the main reasons why the Default profile enables these backends.

cybershaman's picture

rinigus: thank you for all your great work on this app, it has made my life easier numerous times when abroad.
Is there a technical reason why you opt to having the map server run in foreground (cover) mode only compared to letting it run in background (possibly on SFOS bootup) also?

rinigus's picture

You are welcome! There are few reasons behind such design:

  • Jolla Store does not accept daemons. So, if I want to distribute in the both places, versions would differ and the code will have to be properly #ifdef'd
  • If I make it as a daemon, I would have to communicate changes in settings, maps, and so on. In one application its just a bit easier.

Its possible that I will add daemon mode, but that's not priority yet.

DrYak's picture

I second the request for daemon mode.

rinigus's picture

I added the issue https://github.com/rinigus/osmscout-server/issues/176 . However, note that its lower priority right now. I would like to work on other aspects of the navigation first.

olf's picture

[Daemon or not] For the apps "Situations" and "Find my Jolla" (both in Jolla Store), the solution was to create a separate autostarter for each (both available in Warehouse). Technically, this is not elegant, but that approach works well and avoids conflicting with Jolla's Store guidelines.

Apart from this (i.e. separately), I believe a way to hide the UI on startup of OSM Scout Server would be useful.
Just a spontaneous idea: OSM Scout Server could e.g. generate a notification in the SFOS eventsview when starting (already does that), with which (by tapping on it) its GUI is started (in order to access the GUI, when OSM Scout Server was started without it).

rinigus's picture

@olf, sorry, I forgot to reply to you. I have added your suggestions to github issue to keep all data in the same place. Will look into it when I have finished few other things