OSM Scout Server

Rating: 
5
Your rating: None Average: 5 (7 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.

Starting from 0.7.0 release, maps are distributed online and should be downloaded through provided Map Manager interface.

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: LGPL
Source code: https://github.com/rinigus/osmscout-server

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

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.

Screenshots: 
Application versions: 
AttachmentSizeDate
harbour-osmscout-server-0.5.0-1.armv7hl.rpm724.58 KB11/12/2016 - 00:57
harbour-osmscout-server-0.5.0-1.i486.rpm797.69 KB11/12/2016 - 00:57
harbour-osmscout-server-0.5.1-1.armv7hl.rpm724.59 KB13/12/2016 - 00:32
harbour-osmscout-server-0.5.1-1.i486.rpm798.98 KB13/12/2016 - 00:32
harbour-osmscout-server-0.5.2-1.armv7hl.rpm727.52 KB07/01/2017 - 14:53
harbour-osmscout-server-0.5.2-1.i486.rpm801.14 KB07/01/2017 - 14:53
harbour-osmscout-server-0.5.3-1.armv7hl.rpm730.98 KB07/01/2017 - 16:50
harbour-osmscout-server-0.5.3-1.i486.rpm804.69 KB07/01/2017 - 16:50
harbour-osmscout-server-0.6.0-1.i486.rpm1.72 MB28/01/2017 - 19:02
harbour-osmscout-server-0.6.0-1.armv7hl.rpm1.57 MB28/01/2017 - 19:02
harbour-osmscout-server-0.6.1-1.armv7hl.rpm1.57 MB04/02/2017 - 12:58
harbour-osmscout-server-0.6.1-1.i486.rpm1.72 MB04/02/2017 - 12:58
harbour-osmscout-server-0.6.2-1.armv7hl.rpm1.57 MB09/02/2017 - 21:41
harbour-osmscout-server-0.6.2-1.i486.rpm1.72 MB09/02/2017 - 21:41
harbour-osmscout-server-0.7.0-1.armv7hl.rpm1.61 MB05/03/2017 - 16:50
harbour-osmscout-server-0.7.0-1.i486.rpm1.78 MB05/03/2017 - 16:50
harbour-osmscout-server-0.7.1-1.i486.rpm1.8 MB09/03/2017 - 20:25
harbour-osmscout-server-0.7.1-1.armv7hl.rpm1.64 MB09/03/2017 - 20:25
harbour-osmscout-server-0.7.2-1.i486.rpm1.82 MB12/03/2017 - 23:56
harbour-osmscout-server-0.7.2-1.armv7hl.rpm1.66 MB12/03/2017 - 23:56
harbour-osmscout-server-0.7.5-1.i486.rpm1.83 MB19/03/2017 - 11:03
harbour-osmscout-server-0.7.5-1.armv7hl.rpm1.66 MB19/03/2017 - 11:03
harbour-osmscout-server-0.8.0-1.armv7hl.rpm1.73 MB29/03/2017 - 06:42
harbour-osmscout-server-0.8.0-1.i486.rpm1.91 MB30/03/2017 - 23:54
harbour-osmscout-server-0.8.1-1.i486.rpm1.91 MB05/04/2017 - 21:35
harbour-osmscout-server-0.8.1-1.armv7hl.rpm1.73 MB05/04/2017 - 21:35
harbour-osmscout-server-0.9.0-1.i486.rpm14.68 MB23/04/2017 - 09:15
harbour-osmscout-server-0.9.0-1.armv7hl.rpm13.9 MB23/04/2017 - 09:15
harbour-osmscout-server-0.9.6-1.i486.rpm13.48 MB04/05/2017 - 15:08
harbour-osmscout-server-0.9.6-1.armv7hl.rpm12.69 MB04/05/2017 - 15:08
harbour-osmscout-server-0.10.0-1.armv7hl.rpm10.02 MB05/06/2017 - 21:29
harbour-osmscout-server-0.10.0-1.i486.rpm10.8 MB05/06/2017 - 21:29
harbour-osmscout-server-0.10.1-1.armv7hl.rpm10.01 MB08/06/2017 - 21:40
harbour-osmscout-server-0.10.1-1.i486.rpm10.8 MB08/06/2017 - 21:40
harbour-osmscout-server-0.11.1-1.i486.rpm10.82 MB25/06/2017 - 20:38
harbour-osmscout-server-0.11.1-1.armv7hl.rpm10.03 MB25/06/2017 - 20:38
Changelog: 

0.11.1

  • Add guide search support for Geocoder-NLP
  • Guide search looks for type or name when using Geocoder-NLP
  • Support for V2 routing protocol by libosmscout backend
  • Updated translations
  • Other smaller changes

0.10.1

  • Updated translations

0.10.0

  • Valhalla added as a routing engine
  • Routing is supported between different territories when using Valhalla
  • Search is performed for all databases when using Geocoder-NLP
  • Server is distributed using modular approach
  • Two server modules introduced: Route and Fonts
  • Update libosmscout version, 20170521
  • Make storage of libosmscout databases optional
  • Mapnik uses Noto fonts by default
  • Other smaller changes

0.9.5, 0.9.6

  • Mapnik database schema changes to reduce size and speedup rendering
  • Mapnik renderer default style adjustments
  • Updated translations

0.9.0

  • Mapnik added as an alternative map rendering backend
  • Enhance Linux command line support for map subscription

0.8.1

  • Updated translations
  • Fix start error on i486

0.8.0

  • Optimization of geocoder-nlp, changes in geocoder data format
  • Updates from libosmscout upstream
  • Addition of command line options
  • Updated translations

0.7.5

  • Expose map updates to GUI
  • Propose to create a storage folder (suggested by @Feathers McGraw)
  • Updated translations

0.7.2

  • New transalations completed: French, Russian
  • New translations started: Polish, Norwegian
  • Fix buffer overflow during fast download and slow writing

0.7.1

  • Updated translations
  • Improved handling of some network errors during download

0.7.0

  • Maps are provided through CDN
  • Adding Map Manager to download and remove maps on the device
  • libosmscout backend changes, including rendering speedup by @Karry
  • Settings grouped by backend and available via Settings dialog
  • Small enhancements

0.6.2

  • German translation
  • Moving translations to Transifex
  • Start and target description are given when available

0.6.1

  • Updated Spanish and Swedish translations

0.6.0

  • Adding libpostal-based geocoder
  • Update to the latest libosmscout version
  • Updated Spanish and Swedish translation

0.5.3

  • Swedish translation

0.5.2

  • Czech translation
  • Minor update in search

0.5.1

  • Updated Spanish translation

0.5.0

  • Added file and directory selection dialog
  • Support for metric and imperial units
  • Built against libosmscout 0.0.git.20161207

0.4.1

  • Updated Spanish translation

0.4.0

  • Changes for better localization support
  • Spanish translation
  • GUI shows number of jobs in queue
  • Support for routing cost limits
  • Bugfixes in routing (libosmscout library)

0.3.0

  • Decoupling number of parallel processing threads and number of requests
  • Adding GPX output for router
  • Adding ability to log events into session log file
  • Using libmicrohttpd as a http server engine
  • Bugfixes in routing
  • Static linking of libosmscout, marisa, and libmicrohttpd
  • Used versions of the libraries: libosmscout (0.0.git.20161110), marisa (0.2.4), libmicrohttpd (0.9.50)

0.2.1

  • Bug fix in routing target description; small changes in route instructions text

0.2.0

  • Support for route calculation
  • Add settings for transport speed properties
  • Add ability to increase area processed for tile drawing
  • Small enhancements and bug fixes

0.1.0

  • Initial release
  • Support for map tiles
  • Support for location search
  • Support for free text search
  • Support for search of POIs next to a reference point

Comments

ade's picture

Is there a manual download alternative left? The map download keeps on throwing timeouts and the postal part as a separate download keeps on getting killed by the OOM-killer (mem usage gets around 50%). This postal download is "just" 705MB.

rinigus's picture

Hi! The manual downloads are not available anymore (or more specifically, at present). See TMO thread for details. But let's try to figure out what's going on with your installation and see how I can fix it.

Do I understand correctly that the server gets killed while downloading only and not doing anything?

Either its a bug in my code or there is something that I did not anticipate in your setup. One possibility for large RAM usage could be that your download speed exceeds write speed on storage or its processing by bunzip2. Is this possible? I presume that then some internal buffers could get full and get OOM-killer up. It might also initiate some timeout stops since network download is not bringing any bytes in (waiting for writing).

To test whether timeouts are causing some trouble, try to use 0.7.0 version. That version has a more straightforward download implementation. It wouldn't save you against some other issues, but may help here.

Would you mind to tell which hardware do you use it on and where do you write the maps (internal or external storage)?

Yes postal download is big, but you don't have to use it. It "just" allows you to use a new geocoder :).

Please do report back and tell how is it going. You could use TMO/github/or here. I would like to fix this issue and ensure that everything works as it should.

ziellos's picture

I can confirm the described behaviour. After switching to geocoder-nlp, the download of "Adressanalyse Sprachunterstützung" always stops when < 10 MB of data are remaining (message is "Fehler beim Herunterladen [path]/postal/global/language_classifier/language_classifier.dat" - Timeout).

And your assumption about memory usage is correct. If download is faster than unzipping and writing, the buffer fills up to several hundred MBs (which is not a problem on my Aqua Fish). Doing the same on Jolla 1 with limited RAM may cause the process being killed.

But apart from that issue, your app is simply stunning. I don't know any other app in Sailfish-land of comparable complexity which is that easy to setup and use. The combination of Poor Maps and OSMScout Server may easily outperform Here Maps (Android). Thanks a lot for your work!!!

rinigus's picture

This bug has been fixed, as from yesterday's morning. Fix description: https://github.com/rinigus/osmscout-server/issues/89 . I am preparing for a new release and will few hours for translations before packaging and releasing new version later today. Right now the test version with the fixed bug is distributed as explained at http://talk.maemo.org/showpost.php?p=1525204&postcount=131

Thank you very much for your warm words, its great to know that the work is appreciated!

ziellos's picture

The download issue is now solved. Again, many thanks!

rinigus's picture

Welcome!

ade's picture

I will create a github issue then. Nice to see your drive to fix issues.

mase's picture

Can it provide multiple maps (one per country), or only one a time?

rinigus's picture

Unfortunately, not yet. I have opened issues in github to address that, but there are few other things that I have to fix first. The situation is somewhat more difficult from 0.6.x releases and my priority is to simplify that part with the next release.

The map that you select in general settings, is a map for libosmscout. This map you can either download using OSM Scout application by Karry or make yourself with the importer. If you make it yourself, you can easily generate a map covering several countries. See links at https://github.com/rinigus/osmscout-server#maps

For the new geocoder part, few other databases are needed. I think its impractical to generate libpostal datasets (you need big server with lots of data for it). Those you have to download from links provided at TMO thread. The geocoder database is easier to make, but not trivial (you would need linux PC, installed libpostal, libosmscout, and run geocoder-nlp/importer). That's why I also generate them and distribute together with libpostal database. These databases are made usually one per country. For some countries they are relatively big, but the search speed should be OK in the latest version.

monkeyisland's picture

hi is german language for routing possible?

rinigus's picture

Sure! Its just that the routing instructions would have to be translated. So far, we have translations for Spanish, Swedish, and Czech. If you wish, you could translate it as well and submit the changes via github project page.

naalaa's picture

Hallo rinigus, i installed osm scout server in the latest version on Jolla 1  2.0.5.6, i downloaded a map from you (germany) and i use poormaps and modrana as clients. Everything works without problems. Very good work. So I want to spend some money for the further work. But I did not find any way to send some money. Maybe you integrate a Button here e.g. pay with paypal or something like this.

rinigus's picture

Thank you very much for your kind words! I am doing it as a hobby and its OK as it is. Its possible that we would need to start taking donations to cover expenses with distribution of the maps for libosmscout or for accessing the other servers via Poor Maps or modRana. Then the situation would possibly change.

As for now - enjoy the server and the clients :)

Reposser's picture

Doesn't install:

Sailfish screenshot with error message

I'm just a user. Unfortunately, I don't have the time and the knowledge to fiddle around with workarounds. It would need to work out of the box.

rinigus's picture

It seems that sometimes Jolla repos get messed up. You might need to refresh the repos. See posts on http://talk.maemo.org/showthread.php?t=97823&page=2

Note that you would have to convert maps as well. A first shot on simpler importer is given in the last post of that thread in TMO. But its not all point and click and requires Linux PC.

makinit's picture

It takes some effort to import the OSM data, but after that it works seamlessly with Poor Maps.

rinigus's picture

Thank you for using it! Indeed, import is probably the hardest thing that's left. I am looking into how to make it simpler. Until I figure out how to distribute the Import tool, keep the sources around. The maps database is evolving to cover routing functionality and you may have to run import commands again from newer version of the library in future.

naytsyrhc's picture

Hi, great idea and I'd love to test it. Unfortunately I can't install it on SFOS 2.0.4.14, I get the warning/error, that gmp-4.3.2.1-1.2.3.armv7hl.rpm can not be found on medium https://releases.jolla.com/releases/2.0.4.14/jolla/armv7hl

Probably a wrong dependency?

Thx for any help or hint.

rinigus's picture

Please see TMO thread. It seems that several users had the same problem and @nodevel suggested to refresh the repositories (pkcon refresh) to fix it.

naytsyrhc's picture

Yes thx. I got it installed now. So pkcon refresh seems to do the trick.

rinigus's picture

This is a strange one. I don't have gmp installed on my phone at all. I am running 2.0.2 at present, but this should not cause such error. The server does depend on two additional libs, but they should not depend on gmp.

I wonder if you have a problem that is caused by something else. Maybe you could test by installing some other software from OpenRepos?

If othe rsoftware works and does not require gmp, let's try to find the offending package. For that, please install in the given order:

  1. https://openrepos.net/content/rinigus/libmarisa
  2. https://openrepos.net/content/rinigus/libosmscout-qt
  3. OSM Scout Server, this package.

Let me know how it went, please.

 

naytsyrhc's picture

Thx for the help. The problem still persisted and libosmscout-qt was the one that needed gmp. I did a pkcon refresh and aftewards it worked. But I also rebooted my phone today, so maybe that fixed it. Anyway I was able to install this app now.

Klipata's picture

Happy to see offline maps app. Great job ;)
I will wait for easier way to have this app working.  

 

rinigus's picture

Thanks! I would expect that a new version of Poor Maps would come out very soon - maybe within a week. The main problem - conversion of the maps to libosmscout supported format - would have to be faced by each user, at least for some time. If you wish, I can assist you to help with the conversion. Having such step-by-step guide may be of help for others as well. If you wish to do so, maybe we should try to do it at talk.maemo.org - its easier to read mails over there.

So, the first question - what is your platform you work on? Linux? Something else?

Klipata's picture

Hey, Rinigus.  It is great idea!
I am woriking on Win10 platform and want to have offline European maps 

rinigus's picture

Hi Klipata!

it took a bit longer, but I am getting to supported importers for Windows. if you are still interested, please check http://talk.maemo.org/showpost.php?p=1519356&postcount=25 and maybe you could help with Windows scripting?

 

rinigus's picture

That's a large import :) . For reference, Europe http://download.geofabrik.de/europe.html is about 18GB (osm.pbf) with the import in libosmscout format being of the similar or a bit larger size. For example, the largest import, reported so far, was about 13GB with the area a bit larger than http://nsm08.casimages.com/img/2016/10/07//16100707043121126214541591.png . Import took 3 days by the user who did it. So, let's start with smaller area at the beginning and see where it would bring us.

Re Win10: I don't know much about it and it will be hard to help. But give me 1-2 weeks and I will look on how to make the import a bit easier. I want to finish current restructuring of internals of the server and then I'll look into import. How confident are you in using virtual machines in your PC? Or, do you use Win10 for software development with compilation of C++/C projects?

If I will not hear back from you, I'll reply here again when the Import tool would be a bit more accessible...

 

danfin's picture

that seems a phantastic app to me!  Offline Maps for Jolla, great!

However OSM Scout displays a error after install: Error 11:03:45 Cannot open database: /home/nemo/Documents/Maps

rinigus's picture

Thank you!

To make it work, you need:

  • convert maps: maps that you downloaded from http://download.geofabrik.de/ to your PC(!) should be converted to libosmscout format. See https://github.com/rinigus/osmscout-server#maps for instructions and follow the links within. Its not a very simple process, but doable. Start with the smaller region and later you could extend it to larger areas. I would recommend doing it in Linux, virtual machine with Linux would be fine.
  • You would need a client to access the server. I use Poor Maps. The upcoming version of Poor Maps will support the server out of the box. To use it today, you would have to follow instructions at https://github.com/rinigus/osmscout-server/tree/master/thirdparty/poor-maps . These are a bit outdated - just copy this folder in your device to /home/nemo/.local/share/harbour-poor-maps to get support for tiles, search, and navigation.
  • To use it, start the server app, Poor Maps, and choose OSM Scout as a source for Basemaps, Search, Nearby venues, and Navigation.

As you could see, its not just a simple app install and you have to do few things in addition. But, as a result, you will get the full offline mode.

danfin's picture

ok, I'll try soon and I suspected this might not be a very simple app.