The Following 30 Users Say Thank You to rinigus For This Useful Post: | ||
acrux, Amboss, anig, Bundyo, carlosgonz, eekkelund, elvarr, Fellfrosch, Fuzzillogic, handaxe, Jordi, juiceme, klinglerware, KylliOrvokki, lal, Macros, Mara, MartinK, mautz, mrsellout, nodevel, nthn, otsaloma, P@t, PamNor, peterleinchen, pichlo, reinob, seiichiro0185, Wikiwide |
|
2016-10-14
, 20:15
|
|
Posts: 141 |
Thanked: 1,530 times |
Joined on May 2011
@ Finland
|
#2
|
I would like to ask the community developers to help with the aspects of this project. In particular, a vital part of using any offline maps solution is getting the maps on a device. At this stage, we would need an Import utility that would be compiled for different platforms (preferably statically linked, if possible) that users could download and use to convert OSM maps into libosmscout format. Maybe there is someone wishing to help with that?
The Following 10 Users Say Thank You to otsaloma For This Useful Post: | ||
|
2016-10-14
, 20:56
|
Posts: 1,414 |
Thanked: 7,547 times |
Joined on Aug 2016
@ Estonia
|
#3
|
I expect to ship the provider files in Poor Maps, so that if you have OSM Scout Server installed, it'll be listed in Poor Maps along rest of the providers. It just needs a bit of testing, so that release is maybe a week or so away.
Wouldn't it be easiest to just put the generated database files on a server for users to download? Bandwidth shouldn't be that expensive these days. It would mean writing conversion and upload scripts (preferrably in a separate repository) and having your app list what's on the server and download what the user chooses. Karry already has some kind of a download server.
Or are you looking to be able to import arbitrary smaller regions? Are full countries/states too large or slow?
|
2016-10-15
, 23:37
|
|
Posts: 141 |
Thanked: 1,530 times |
Joined on May 2011
@ Finland
|
#4
|
The Following 8 Users Say Thank You to otsaloma For This Useful Post: | ||
|
2016-10-16
, 08:15
|
Posts: 1,414 |
Thanked: 7,547 times |
Joined on Aug 2016
@ Estonia
|
#5
|
I had a chance to try your server. My observations:
- libosmscout is no masterpiece of cartographic rendering -- upsidedown labels, all kinds of things overlapping -- but I guess that was to be expected.
- There's a huge difference in rendering time between using a Mapzen metro extract for the Helsinki region and a Geofabrik extract for the whole Finland. So, your desire for users to be able to have databases of arbitrary regions instead of country extracts makes sense from a speed standpoint as well. With a Mapzen metro extract, the rendering time is surprisingly fast -- it's very usable!
- The large tile size seems fine. I doubt we need the smaller ones.
- The search seems very particular about the query format. e.g. "Erottaja" works, but "Erottaja, Helsinki" doesn't, "Tukholmankatu" works, but "Tukholmankatu 3" doesn't.
- The "admin_region" field in search results and thus the description field in Poor Maps is often empty. I can't conclude from the results when or why.
- The Nearby search seems to work fine, expect for the missing region data, which is a known problem. The raw OSM data is really bad for this though -- it's incomplete, outdated and very particular about how exactly POIs are tagged.
|
2016-10-16
, 12:22
|
Posts: 30 |
Thanked: 48 times |
Joined on Dec 2013
@ Finland
|
#6
|
|
2016-10-16
, 12:58
|
Posts: 1,414 |
Thanked: 7,547 times |
Joined on Aug 2016
@ Estonia
|
#7
|
|
2016-10-16
, 14:40
|
|
Posts: 141 |
Thanked: 1,530 times |
Joined on May 2011
@ Finland
|
#8
|
If you have upside-down labels then note that this is unexpected and we should raise an issue in libosmscout developers list or github.
I am not sure how to improve this [search] - whether to educate us as users or try to fix it in the library or server.
|
2016-10-16
, 15:44
|
Posts: 1,414 |
Thanked: 7,547 times |
Joined on Aug 2016
@ Estonia
|
#9
|
i have problem installing server. libosmscout depends on libprotobuf which i have newer version. could it be possible to update to newer version, or i just back down. tried to make symlink, didnt work.
|
2016-10-16
, 21:14
|
Posts: 1,414 |
Thanked: 7,547 times |
Joined on Aug 2016
@ Estonia
|
#10
|
I doubt it's unexpected, since I see it all over the place: regular roads, forks, labels wrapping around a U-turn, etc. Couple examples below, center of the screen.
https://postimg.org/gallery/d4dc0wbm/
I understand that it's a very difficult problem to parse and match search queries when people give them in many different formats and sometimes you might have partial matches, e.g. street found, but not the the full address, etc. But I also think that search should work with the same format queries as with online providers. Especially in an app like Poor Maps, which supports several providers and has a common history. No-one is going to read a long manual -- if normal search queries don't work, users will just conlude your software is broken.
Since it's a big problem, I wonder if there's a suitable external library you could use instead of trying to solve the problem on your own? For example, Mapzen has recently released Libpostal -- "a fast, multilingual, international street address parser trained on OpenStreetMap data".
https://mapzen.com/blog/inside-libpostal/
Tags |
geocoder, linux, offline maps, router, sailfish os, tiles |
|
The 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 supports:
License: GPL
Source code: https://github.com/rinigus/osmscout-server
User's guide: https://rinigus.github.io/osmscout-server
Packaging: OpenRepos https://openrepos.net/content/rinigus/osm-scout-server
Starting from 1.4.3, distribution via Jolla Store stopped until systemd linking is allowed (https://github.com/sailfishos/sdk-ha...tor/issues/102)
Translations: https://www.transifex.com/rinigus/osm-scout-server
At present, the server can be used to provide:
Starting from version 0.7, the server uses maps distributed via online distribution network. It is expected that the users would download, update, and, when needed, remove maps via server's GUI. This distribution model allows users to specify which components are required (libosmscout, geocoder-nlp, for example) and download only the required components.
To use the server, you have to start it and configure the client to access it. Recent versions of Poor Maps and modRana cover the full functionality of the server without any additional steps needed to be done by the user. In addition, an example configurations for Poor Maps and modRana are provided under "thirdparty" folder (see Github source tree).
The server can be used as Sailfish application or running in console on regular Linux. By default, it is configured to accept connections from localhost only, but you can change the configuration and serve it on LAN or even provide a globally accessible service, if you wish.
On Sailfish device, route calculations could take some time. As a reference, route calculation for shorter distances takes few seconds on a device (I use it on Nexus 4). For example, Stockholm -> Malmö (600 km) is about 15 seconds. Route calculation from Stockholm to Aarhus (950 km, via bridges) would take about 45 seconds. These are times that are visible for end user when using libosmscout backend (2016) - from starting route calculation request in Poor Maps till Poor Maps displayed the result.
For detailed up-to-date description and map import instructions, please see https://github.com/rinigus/osmscout-...ster/README.md
The server relies on the same library as an offline map viewing application OSM Scout by Lukáš Karas (@Karry). As the result, you could use the same maps when using the server or OSM Scout. However, at the current stage of development, the server is using the latest version of the upstream library without the compatibility with the older map formats, as done in OSM Scout. This may change in future, but at present the focus is on other aspects of the development.
Starting from 0.6.0 version, the server provides an additional geocoder that uses libpostal for normalization and parsing of the search requests.
When a new backend is added, such as with the release of 0.9.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).
Acknowledgments
The server is just a small part in large amount of work that have been done on mapping solutions by many other developers.
The underlying library was originally developed by Tim Teulings (@Framstag) who is the principal developer right now as well. Lukáš Karas (@Karry) has been working actively on the development of this library and Sailfish application OSM Scout. The server relies on their and other libosmscout developers code to provide the service.
On the other side, the server allows us to use excellent map applications developed over time for Sailfish and Linux. Already in the early development stage, I was helped by Poor Maps and modRana developers Osmo Salomaa (@otsaloma) and Martin Kolman (@M4rtinK), respectively. Thank you! While developing server, I could not cover all possible client applications and limited myself to these two. I am sure that if the server would become popular, the other plugins would be developed as well.
Changelog
Please see https://github.com/rinigus/osmscout-server/releases for changelog
Last edited by rinigus; 2018-08-16 at 07:51. Reason: License updated