A nice Free-Software GPS navi app

Yes (in my experience) and therefore we need as decent as possible open source navigation application (routing in road networks, etc.) relaying on just fine single-frequency GNSS positioning data from GPS, Galilelo, Glonass, BeiDou and QZSS received on Librem 5 by the measurement engine positioning receiver Teseo LIV3F even when cellular modem HKS Off. In the future Purism may built its next phone with one from multi-band Teseo ASIL Precise Positioning (TeseoAPP) family of chips (please skim Notes for Editors under the given link) but for now I think this is the only option we need. Another dual-frequency positioning receivers are BroadcomĀ® BCM47755 and two Allystar Technology Co. Ltd. HD8040 series chips. Smartphones with QualcommĀ® Snapdragonā„¢ 855 also claim dual-frequency support but Location Granularity might be something of concern.

Until now I use Osmand. I like it a lot. I paired it with brouter to have an alternative to the build in routing for bikes and made a profile that fits my needs for planning routes for road bike tours.

I tried alternatives mentioned here on my desktop in preparation to using them on my Librem5 when it arrives and before testing them in mobian on a pinephone.

Iā€™d expect the following features

  • using maps and routing completely offline with an option for bike routing (would be o.k. to have an option to avoid e.g. highways)
  • setting multiple waypoints to plan a round course
  • insert points where I do not like the proposed routing
  • block roads (running into unexpected road constructions)

I didnā€™t find a single project that would offer most or all of them.

Is there any progress I missed to have a software like Osmand for (mobile) linux?

I searched some more and found that it is possible to use brouter offline in linux using a web-interface which can be tested here.

The solution to plan trips looks perfect for me. The resulting routes can be exported using different formats.

Now the app would be missing that can follow the prepared route. @rinigus, is there such a feature planned for Pure Maps?

Maybe it could all fit together:

  1. brouter-web to have an interface for planning
  2. brouter as a backend for brouter-web (as I understand it would be optional if brouter-web could use osmscout-server as a routing backend)
  3. osmscout-server would provide the OpenStreetMap data
  4. Pure Maps could be the application to use on the road - as it is or using a pre-planned route from brouter-web

Open questions: Can all the needed service be run on a Librem5 or Pinephone or do they need to much ressources? If thereā€™s a chance that the above works, Iā€™d configure it on PureOS on my notebook as a first step and have a look at the ressources it uses.

Pure Maps does support routing via prepared GPX. GPX can be either user as it is, or can be processed by Valhalla router which will detect the used streets/paths and will give also routing instructions (turn left in 100m and similar). To use it, open routing in Pure Maps and select GPX or GPX Smart as a router (works in all profiles, online/offline/mixed).

I donā€™t know much about brouter. As for resources, OSM Scout Server and Pure Maps work on devices with 2GB RAM and some even use on device with 1GB RAM (Jolla1). L5 should be fine in this respect.

Valhalla, the router used by OSM Scout Server, does support bike routing. It also supports elevation data, but I donā€™t distribute it (yet?) with OSM Scout Server maps as it is rather large. In this respect, I donā€™t know what extra does brouter provide.

If you wish to use one more router on device offline then you will have to get maps for that as well. So, that would have to be considered.

1 Like

Yes, great. Since I had my problems finding it - even after you wrote it :slight_smile: - here are some screenshots how to do it:

click navigation symbol


open top right corner menu and click on ā€˜use stadia mapsā€™

click on ā€˜gpxā€™ or ā€˜gpx smartā€™ and confirm with ā€˜acceptā€™

click the navigation symbol in the upper bar to view your route

Really cool, Iā€™ll have to try it :slight_smile: .

3 Likes

There is a plan to make a homepage that would guide through different tasks. One of Sailfish users is looking into it. In addition, maybe GPX should be added somewhere more obvious, but I am not sure where.

how aboutā€¦

well, the icon should be black for sureā€¦

Or maybe as the first item in ā€œStreckenā€. That part would then display always and not only after the first planned route.

Yes, maybe it should go thereā€¦

After thinking a bit about it - Iā€™d say Iā€™d prefer it this way:

As it is now, right? Without ā€œfixingā€ anythingā€¦

No (didnā€™t expect that the difference in the manipulated pictures wouldnā€™t show :wink: ).

In the left picture in the area of ā€œStreckenā€ the first item in the list is new: ā€œaus Datei ƶffnen (GPX-Datei)ā€. Itā€™s ment to open the file selection dialog to choose a gpx file.

In the second picture (after opening a gpx file) the placement of the ā€œGPX Smartā€ selection is new.

As of writing this I see that ā€œBenutze GPXā€ shouldnā€™t be there (not necessary anymore) and there could be a button to dismiss the file. But by the logic for navigation without gpx the disabling of the route could be the same way as disabling/deleting any other route: By clicking on the head status (showing distance total and to go) for the actual route and then select in the ā€œAnweisungenā€ screen ā€œLƶschenā€.

Afterwards the gpx file route could be shown in the ā€œStreckenā€ section of the left screen above.

Maybe we should move further discussion into an issue in your git repository?

Yes, to https://github.com/rinigus/pure-maps/issues/412

Got around to install PureMaps and OSM Scout Server (great work, @rinigus ). Works fine.

But the planning options are not sufficient to plan a route for a roadbike ride returning to the point one left from (which is not all to bad, because it keeps the interface for the main purpose of the program clean).

For this I found brouter-web-standalone very helpful. It uses gauss.openstreetmap.de to get tiles and (didnā€™t find this out, yet, but suspect:) vector information for routing.

In its documentation mapsforge-tile-server is referenced as a tile server to run brouter-web without network connection. The mapsforge-tile-server project is not developed anymore.

I tried to find information how to get brouter-web to use your tile server OSM Scout Server, but didnā€™t get it working, yet.

brouter-web would like to request tiles via http e.g. http://localhost:6090/{z}/{x}/{y}.png . I didnā€™t find a way to get a tile in png format from OSM scout server so far. Further more I do not understand which data brouter requests/stores to be able to route, but that would be the next step after having brouter-web show a user interface containing an offline map.

The workflow Iā€™m aiming at is the following

  • plan route in brouter-web using a web browser (already works, but not offline, yet)
  • get the gpx of that route (already works)
  • use PureMaps offline with OSM Scout Server during cycling (or whatever mode of transportation) (already works)
  • use the gpx in PureMaps as a route (already works, this way it is easy to have a course that ends where it starts)

Once I got this running (preferably with only one tile server, the one developed and maintained by @rinigus :wink: ), Iā€™d like to try installing it on the pinephone and for sure - once arrived - to my Librem5.

Iā€™m wondering whether a little proxy is needed as a converter for the data exchange between brouter-web and OSM Scout Server or if OSM Scout Server can provide the data as needed by brouter-web?

I am not sure I understand what is exactly a problem.

Re router: what is missing for you in the router? Maybe we can look into requirements and then you could check with Valhalla project what should be fixed.

Reasons for asking are simple - any additional router that you want, will lead to more data required on device. This is due to the router-specific format used to store data. For example, Valhalla, on import, already has some processing done.

If you need to get raster tiles (tiles with *png), you would have to enable raster tile support in the profile of OSM Scout Server. Thatā€™s extra data as raster tiles are generated by Mapnik. API (URL form) is described at https://github.com/rinigus/osmscout-server#raster-tiles . So, you will have to adjust brouter-web requested URL. As it was never needed, I donā€™t have raster tile generation from Mapbox vector tiles.

Let me know if something is missing in my reply.

1 Like

I think what @ChriChri is referring to, is that he wants to route circular routes that have the same start-end-point. Possibly, there is a need to be able to use map (raster images) and routing while offline. But Iā€™m wondering if this is a matter of adding waypoints to achieve the same, or is there other problem using the exact same point for start and end?

Anyways, this is interesting use-case and descriptions/documentation/guide for both, user howto on planning a circular route (if itā€™s not straight forward or can be done in a special way) and how to set up offline maps and routing, would be a nice read. If there already is a good one, link here, or maybe formulate one now based on thisā€¦?

OK, I see. same start-end points would require support for waypoints. That is planned to be added to Pure Maps and is supported by routers already. I just have to get to it by rewriting routing support (want to change few things and address multiple issues via it)

As for docs, it is not possible yet in one go. For offline setup, see https://rinigus.github.io/osmscout-server/

3 Likes

Thanks for the information and hint to look into Valhalla which is quiet interesting reading.

For Valhalla I didnā€™t find any information how to use elevation in route cost calculation which is a major feature of brouter. Furthermore brouter makes it very simple for users to adjust the route cost calculation to their needs and there are a lot of profiles around. brouter can calculate the cost of a path for a rider from the riders power and weight.

As I understood this all can be added to Valhallas route cost calculation also, but it is from what I read not possible by just changing a simple text file (no programming skill needed).

Another argument which makes me believe that planning routes for use in PureMaps using brouter-web is quiet a good idea is that the interface is already optimized to do so.

There is no doubt that having all the features directly accessible in PureMaps would be great, but I guess it would take really some time to implement whats missing.

I agree that it would be a great advantage to have the map data only once (in one format) on the device, but from the information you provided that seems to be impossible whithout having some major changes in one of the projects.

Re elevation: Valhalla actually does have elevation data that it can consider. I never packaged it for offline as it was rather big.

Sounds like brouter is targeted router and probably can currently provide a better routes for you. Note that you could also implement router interface between brouter <ā€“> Pure Maps. Assuming that brouter does have some HTTP API. Current routers and README on how to make a new one are at https://github.com/rinigus/pure-maps/tree/master/routers

If you want / have to go with GPX approach, for offline tiles, you could still use mapnik raster tiles by osm scout server.

To be honest: I really donā€™t know since I didnā€™t compare much to Valhalla routing.

I agree with you that itā€™d be best to push one solution to the point of being usable for sports (the idea of getting back to where you started after a course applies to running most times alsoā€¦).

I guess brouter could be integrated into PureMaps since it offers a http api. If PureMaps would offer waypoints to plan routes it would (I guess) sufficiently replace my mentioned usage of osmand.

Maybe all this could be done with Valhalla, also. Maybe Iā€™ll get around to look into it.

For the moment Iā€™ve got running brouter-web as a ui for planning using OSM Scout Server (thanks for helping with the configuration of providing raster images!) and the resulting gpx route can be used in PureMaps for navigation.

This solution can evolve into a better direction in the future and it works now - at least on my desktop.

Iā€™ll play a bit around with it and will try to set it up on my Pinephone (or if delivered until then the Librem5).

2 Likes