maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [Announce] modRana: a flexible GPS navigation system (https://talk.maemo.org/showthread.php?t=58861)

taixzo 2015-03-24 05:14

Re: [Announce] modRana: a flexible GPS navigation system
 
...Does modrana have a Python library that I could just import? In that case I could bypass going through the process of launching modrana, at least for search.

MartinK 2015-03-25 00:33

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by taixzo (Post 1464789)
...Does modrana have a Python library that I could just import?

I'm afraid there is currently nothing like a library or an externally usable module at the moment. The closest thing would be just ripping out some of the code talking to the various online services from the onlineService modRana module and incorporate it to Saera. :)

Quote:

Originally Posted by taixzo (Post 1464789)
In that case I could bypass going through the process of launching modrana, at least for search.

This got me thinking and I've realized that there is actually nothing preventing you from calling the main modRana executable directly, totally bypassing QML for non-GUI queries. The modRana executable already implements short circuits that only initialize what is needed to respond to the query. As a result the full modRana startup is skipped and the query is answered very quickly - it was implemented back then like this for processing queries from the original Saera. :)

To try it out, you will need to clone modRana from git, as the latest release available from OpenRepos has a bug that prevents the command line interface from working:

Code:

git clone https://github.com/M4rtinK/modrana
cd modrana
python3 modrana.py --address-search "London" --return-static-map-url

This should result return this static map URL for the result:
Code:

http://staticmap.openstreetmap.de/staticmap.php?center=51.507322,-0.127647&zoom=15&size=350x350&markers=51.507322,-0.127647,ol-marker
It also currently returns some log messages, but I'll that's a bug I'll have to fix, so that only the static map URL is returned.

You can also make it return the list of available CLI options:

Code:

python3 modrana.py --help
Only the non-GUI ones will probably work at the moment though, but I should be able to make also the GUI using ones work with the Qt 5 GUI eventually. :)

marmistrz 2015-03-25 15:25

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 1464633)
I finally got to trying the Python Mapnik example, and it seems to be working! :) This is the resulting image from the example, rendered on my N900:

It's great ;)

Am I the one to fix the mapnik bug concerning the misconfigured path?
I'll be very busy up to 14th Apr, but later I should have more time.

MartinK 2015-03-26 23:59

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by marmistrz (Post 1464929)
It's great ;)

Am I the one to fix the mapnik bug concerning the misconfigured path?

Yep - I think it should be fixed in the package.

Quote:

Originally Posted by marmistrz (Post 1464929)
I'll be very busy up to 14th Apr, but later I should have more time.

No problem - I'm also unlikely to be doing any significant work on Mapnik before that. :)

MartinK 2015-04-12 23:25

Re: [Announce] modRana: a flexible GPS navigation system
 
modRana 0.52.1 has been released! :)

So the quite massive modRana update is finally here for all supported platforms. Get it while it's hot! :)

Highlights

The main highlight of this release is routing support for the Qt 5 GUI! :) It is not yet as advanced as in the GTK GUI and online only for now, but nevertheless finally opens the world of routing to users on Sailfish OS, Android and other Qt 5-GUI only platforms! :)
I would also like to use this opportunity to Frederik Ferner who contributed the core routing support code for the Qt 5 GUI - thanks a lot! :)

Another highlight are GTK GUI map drawing improvements - the map should now correctly handle state changes such as switching overlay on/off, changing overlay layers, switching network usage modes, etc. Batch downloaded tiles should now also be used right away once the batch download finishes.

And thats not all - it is now possible to use double click zooming and mouse wheel zooming, track recording statistics, Android packages now have an Android visual style, performance improvements, lots of fixes, etc. Check the changelog for more details. :)

Changelog

Code:

* Sun Apr 12 2015 Martin Kolman - 0.52.1
- point to point online routing is now supported in the Qt 5 GUI! :)
 - Frederik Ferner contributed the core Qt 5 GUI routing support code - thanks a lot! :-)
 - routing mode can be activated from the main menu by clicking the "Route" button
  - to end the routing mode, just press the "clear" button
 - routing parameters can be configured in Options->Navigation
  - the car, walking and cycling routing mode can be set
  - avoiding of major highways and toll roads can be toggled
- GTK GUI should now properly refresh the map when it changes state
 - such as when switching overlays, switching network usage modes, when batch download finishes, etc.
- you can now double-click the map to zoom in both Qt 5 GUI and GTK GUI
- you can now use the mouse wheel to zoom the map in and out in both Qt 5 GUI and GTK GUI
- various statistics are now shown during track recording
- start using PyOtherSide 1.4 and Qt 5.4 for the Android package
 - this should fix a possible PyOtherSide crash at startup and adds Sqlite tile storage support on Android
 - thanks to Qt 5.4 the QtQuick controls (used through UC) now have a native Android theme
 - the compass rose now finally turns - also thanks to Qt 5.4 :)
- use Sqlite tile storage by default on Android
- prevent tile images from being indexed into the gallery on Android
- make the persistent dictionary usage Python 2 & 3 compatible by using the nr. 2 marshal file format
 - this should make it possible to use the Qt 5 GUI (Python 3) and GTK GUI (Python 2) on a single system while sharing a single options file
 - Fedora is one such platform where this is useful
- fix CLI mode
- disable log output to stdout in CLI mode
- Qt 5 GUI map screen performance should now be a bit improved, as an unexpectedly costly debugging element has been removed
- release media keys when the modRana window is not active on Sailfish OS
- notifications now work correctly in the Qt 5 GUI
- make QML -> Python log forwarding more robust
- the Qt 5 GUI can now properly use positioning data from GPSD


biketool 2015-04-13 05:41

Re: [Announce] modRana: a flexible GPS navigation system
 
Still loving modRana
Feature request as you begin on the next version, location sharing especially for N900.
suggesting the following services
Mitaru - http://miataru.com/ OSS has sailfish, droid, html5, and ios ports
location2sms https://gitorious.org/location2sms OSS N9 port
Icecondor https://github.com/icecondor/api/wiki/api-v2 OSS

moving dots or pins for friends would be great as well as popup when a friend, especially a selected one, was nearby inside a defined distance.

NxDefiant 2015-05-11 08:51

Re: [Announce] modRana: a flexible GPS navigation system
 
Just trying out modrana 0.52.1 but I'm unable to figure out how handmade routing is working. I can add start, middle and end points, but how do I add them to a line? Also the route-Button on the lower right doesn't seem to do anything. Any pointers here?

MartinK 2015-05-11 11:52

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by NxDefiant (Post 1469946)
Just trying out modrana 0.52.1 but I'm unable to figure out how handmade routing is working. I can add start, middle and end points, but how do I add them to a line? Also the route-Button on the lower right doesn't seem to do anything. Any pointers here?

It is unfortunately broken at the moment. I'l try to get it working again in the next modRana release. :)

MartinK 2015-05-21 15:55

Re: [Announce] modRana: a flexible GPS navigation system
 
modRana is finally in Harbour!
So after being available for Sailfish OS for ~1.5 years only from OpenRepos modRana is now also available from the default Sailfish OS store AKA Harbour! :)

FAQ

Q: Are the OpenRepos and Harbour packages the same ?
A: In most aspects yes. The Harbour version of modRana can't use some APIs not yet allowed in Harbour, so some features don't work:
  • keep screen on
  • prevent suspend when recording a track
  • volume key zooming
These features work just fine with the OpenRepos version and will also work with in Harbour modRana once the needed APIs are allowed. So take this into account when deciding which modRana package to install. :)

Q: I have installed modRana from OpenRepos and I can't install modRana from the Jolla store client. What should I do ?
A: Just uninstall the modRana package (using the store client or Warehouse) and install the package from Harbour - your local settings & map data won't be affected.

(As for why this is needed - the OpenRepos package has vendor set to "meego" (the default in the Mer OBS), but the Harbour package does not have a vendor set (to be Harbour compliant). This causes issues as even though the packaging tools see the possible package updates, they won't actually update them due to different vendors. This confusion should be hopefully fixed for good soon once I push a modRana package without vendor also to OpenRepos - even though OpenRepos package users will probably have to manually install it to get normal updates working again.)

Q: What will now happen to the OpenRepos package when modRana is also available from the Jolla Store/Harbour ?
A: I will keep updating the OpenRepos modRana package just like before. Then afterwards if no major issues have been found the package will also be submitted to Harbour. :) So basically an idea similar to how the opt-in updates work for Sailfish OS:
  • if you want the newest modRana with largest amount of features - install modRana from OpenRepos
  • if you want something more stable and tested + update notifications - install modRana from the Jolla Store/Harbour

MartinK 2015-05-27 23:36

Re: [Announce] modRana: a flexible GPS navigation system
 
So as I've already mentioned I have just pushed modRana 0.52.9 to OpenRepos. This package update should fix the compatibility issues between the modRana package in OpenRepos and the one in Jolla Store/Harbour.

If you have installed modRana <0.52.9 from OpenRepos you will need to manually uninstall it and then install it (>=0.52.9) back. Otherwise package updates for modRana would not work correctly.

This can be done either with the Warehouse application or from the terminal (as root):

Code:

zypper refresh
zypper remove harbour-modrana
zypper install harbour-modrana


handaxe 2015-05-28 10:23

Re: [Announce] modRana: a flexible GPS navigation system
 
@MartinK,
Do you know which of the included map sources are working at present and which not? I have a few that yield errors - Virtual Earth, MapQuest for eg.

wisgal 2015-05-28 13:00

Re: [Announce] modRana: a flexible GPS navigation system
 
Modrana failed to install on N9. The reason is:
Failed to fetch
https://qa9recEP:Pat2UGuP@downloads....an/apps/./pyth...
Any idea?

wisgal 2015-06-06 16:28

Re: [Announce] modRana: a flexible GPS navigation system
 
As I didn't receive answer I noticed that modrana deb file is not enough to install and needs to download other applications about 3 mb additional and due to the close of nokia store it doesn't find the required files. The question now is: how to add these files and does openrepos website contain them? Any help will be appreciated.

peterleinchen 2015-06-06 18:28

Re: [Announce] modRana: a flexible GPS navigation system
 
I guess this link will help you.
This info should somehow propagate ...

wisgal 2015-06-06 19:55

Re: [Announce] modRana: a flexible GPS navigation system
 
@peterleinchen
But I already installed repomirror. Thanks for advice.

peterleinchen 2015-06-07 08:33

Re: [Announce] modRana: a flexible GPS navigation system
 
Then you should fix above posted link. As it is not obvious which python package you are referring to and where it is located ...

btw.: where did you get that link from?
the mirror is not a complete mirror. More it just covers ssu (but your requested package should be in there, too)

marmistrz 2015-06-07 09:25

Re: [Announce] modRana: a flexible GPS navigation system
 
Well, I guess Harmattan simply needs CSSU... :)
MartinK: any ETA for OSM vector maps? I'm starting to doubt that my N900 will survive until that foretold moment of modRana supporing vector maps.
Besides, sorry for not fixing the packaging issues. They are minor and I totally forgot about them. I should fix them once and for all in the second half of June.

wisgal 2015-06-07 12:12

Re: [Announce] modRana: a flexible GPS navigation system
 
@ peterleinchen
I tried two ways to install the application. The first is from warehouse which ended with the link above. Yes the link is not complete but that what I captured by screen shot. The second is that I downloaded the deb file from openrepos website which started installation by asking to accept a dependency notice that it needs to download other applications and it ended with: download failed (connection to the application provider was lost).

nieldk 2015-06-07 12:32

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by wisgal (Post 1472881)
@ peterleinchen
I tried two ways to install the application. The first is from warehouse which ended with the link above. Yes the link is not complete but that what I captured by screen shot. The second is that I downloaded the deb file from openrepos website which started installation by asking to accept a dependency notice that it needs to download other applications and it ended with: download failed (connection to the application provider was lost).

From github pages, the dependencies seems to be:
PySide & Qt 4.7.4+
python-mobility

and Qt Components (whatever that implies)

But, I can confirm that it is troublesome to install. And its not enough with simply n9mirror.

wisgal 2015-06-07 13:54

Re: [Announce] modRana: a flexible GPS navigation system
 
@ peterleinchen
I tried to install the application by three ways. The first one is from the warehouse which is ended by the link above. Yes it is incomplete but that what I captured by screen shot. The second way is by downloading the deb file from openrepos website which showed a dependency notice asking to accept downloading more files. At the end it said: download failed (connection to the application provider was lost). The third way is by terminal command which also ended with errors. I have a screen shot of the terminal but I couldn't find a way to attach it here. The insert image button leads to url location.

wisgal 2015-06-07 18:43

Re: [Announce] modRana: a flexible GPS navigation system
 
1 Attachment(s)
Quote:

Originally Posted by nieldk (Post 1472884)
From github pages, the dependencies seems to be:
PySide & Qt 4.7.4+
python-mobility

and Qt Components (whatever that implies)

But, I can confirm that it is troublesome to install. And its not enough with simply n9mirror.

Does that mean it cannot be installed on N9? The terminal image is attached.

peterleinchen 2015-06-07 20:38

Re: [Announce] modRana: a flexible GPS navigation system
 
So, for sure python-qtmobility is available on the N9 repo mirror.
Quote:

~ $ apt-cache showpkg python-qtmobility
Package: python-qtmobility
Versions:
0.2.2.1-0maemo3+0m6 (/var/lib/apt/lists/coderus.openrepos.net_n9mirror_apps_._Packages)
Description Language:
File: /var/lib/apt/lists/coderus.openrepos.net_n9mirror_apps_._Packages
MD5: 32ace0c0cec89c8f8a20eae36d9f7952]
Looks like some other dependency is the problem.

Maybe we derail this thread, maybe not.
What you can/should do is install everything manually:
devel-su
apt-get install modrana
- error thrown about python-qtmobility, then
apt-cache search python-qtmobility
-see that it is available, and continue with
apt-get install python-qtmobility
read the log, find out which package is problem and continue with last two steps (apt-cache search ... and apt-get install ...)

Maybe this way we can narrow it down to the real problem.

MartinK 2015-06-07 21:25

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by wisgal (Post 1472900)
Does that mean it cannot be installed on N9? The terminal image is attached.

Try:

Code:

apt-get install python-qtmobility
That should install the missing dependency. But Warehouse should do that automatically when installing modRana, it's weird it's not working correctly.

Quote:

Originally Posted by marmistrz (Post 1472874)
MartinK: any ETA for OSM vector maps? I'm starting to doubt that my N900 will survive until that foretold moment of modRana supporing vector maps.

It's of course still on my mind, but compared to all the other stuff needed & requested by users it is one of the most complex items. Also I would like to make it as multi platform as possible so that there aren't big separate platform specific chinks of code. For example I can count on Mapnik being available on Maemo (thanks to you heroic effort! :) ) and on desktop, but I'm not sure if I'll be able to build it for Sailfish OS and I have serious doubts of an Android build being doable. Still from my experiments it should be possible to run Mapnik in a "local" tileserver mode - basically feeding it with geometry and making it render individual tiles using the Python interface. Then the current tried and tested tile handling machinery would put the rendered tiles on the screen, show a loading tile before tile rendering is ready, could cache tiles, etc. :)

Still, the main issues still stands: How to get the data for rendering ? AFAIK big Mapnik tileservers use a Postgis database to fetch geometry during rendering - that would be probably too much of an overkill for the N900 and mobile devices in general. So some other more simple/lightweight format/store is needed that can still be plumbed to Mapnik (and/or ideally other potential renderers). Raw OSM data files (XML, PBF) won't do for any non-trivial area due to missing support for efficient random access and area queries.

Therefore some sort of custom format with pre-processed data will be needed - my current favorite is reusing the already present support for sqlite tile database files, but storing tile geometry instead of tile images, with optional per tile compression. Using this method the tile rendering backend would very easily query the geometry for any given tile.
There also options for just generating "geometry tiles" for all layers we might want to render for maximal simplicity and ultra fast fetching (this would make the database bigger than the raw OSM data for the area) or storing just a single (or a couple) of map layers and combine/split them for the given zoom level (meaning the database would not be (much) bigger than the raw OSM data for the area.

In short - I'm still investigating how to best do it and piecemail working on the needed components - testing your Mapnik port, investigating the QtQuick 2 Canvas, improving the modRana data repository, planning improvement in the tile storage module for "geometry tiles" support, etc.

Also as for related development - Basil Semuonov (probably best know for running Open Repos) has apparently been working on a offline rendering and routing server (I might have written about it already a while ago). That would also help a lot - provided that:
  1. he actually ever releases it (he seems to be generally really busy)
  2. it can be ported to Maemo (you have used your magic to port Magic, so I'm sure this would be easy for you ;-) )

More or less instant offline maps as his solution seems to have some sort of internal database (solving the data issue), can import raw OSM data and provides a localhost tile server (very easy to use by current modRana codebase).

Quote:

Originally Posted by marmistrz (Post 1472874)
Besides, sorry for not fixing the packaging issues. They are minor and I totally forgot about them. I should fix them once and for all in the second half of June.

Thanks! :)

Quote:

Originally Posted by handaxe (Post 1471704)
@MartinK,
Do you know which of the included map sources are working at present and which not? I have a few that yield errors - Virtual Earth, MapQuest for eg.

I haven't really checked in quite a while - I have "write a layer availability testing script" on my TODO but have not got to it yet. :P So just let me know what layers seem dead and I'll remove them if they also don't work on my side & if I can't fix the URLs. Thanks in advance! :)

wisgal 2015-06-08 14:28

Re: [Announce] modRana: a flexible GPS navigation system
 
2 Attachment(s)
Quote:

Originally Posted by peterleinchen (Post 1472903)
So, for sure python-qtmobility is available on the N9 repo mirror.

Looks like some other dependency is the problem.

Maybe we derail this thread, maybe not.
What you can/should do is install everything manually:
devel-su
apt-get install modrana
- error thrown about python-qtmobility, then
apt-cache search python-qtmobility
-see that it is available, and continue with
apt-get install python-qtmobility
read the log, find out which package is problem and continue with last two steps (apt-cache search ... and apt-get install ...)

Maybe this way we can narrow it down to the real problem.

I am sorry if my post may derail the thread. Of course I will leave after failure. However I tried what you and Martink proposed and what the terminal asked for apt-get update but still no success. The results are shown in the attachments.

peterleinchen 2015-06-08 15:48

Re: [Announce] modRana: a flexible GPS navigation system
 
So you still have downloads. maemo.nokia.com configured!
That is the reason.

Remove it from sssu file.
Or try to remove ancelads repo-mirror deb and install it again. Iirc there was some update on it. And n9 keeps older repos in higher (and singleton) priority (even it should take the next one :()

wisgal 2015-06-08 20:10

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by peterleinchen (Post 1472985)
So you still have downloads. maemo.nokia.com configured!
That is the reason.

Remove it from sssu file.
Or try to remove ancelads repo-mirror deb and install it again. Iirc there was some update on it. And n9 keeps older repos in higher (and singleton) priority (even it should take the next one :()

Removed and reinstalled Ancelads repomirror from openrepos and the results are the same. Regarding the second option I didn't find such configuration in the /.config folder.

peterleinchen 2015-06-08 20:27

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by wisgal (Post 1473019)
Removed and reinstalled Ancelads repomirror from openrepos and the results are the same.

Rebooted?

Quote:

Regarding the second option I didn't find such configuration in the /.config folder.
file /etc/apt/sourceslist.d/aegis.ssu-keyring-xxx.list

wisgal 2015-06-08 21:03

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by peterleinchen (Post 1473022)
Rebooted?


file /etc/apt/sourceslist.d/aegis.ssu-keyring-xxx.list

That's it. Deleting the two keyring files solved this issue. Thanks a lot.

marmistrz 2015-06-09 08:37

Re: [Announce] modRana: a flexible GPS navigation system
 
Thanks for the reply :)

Quote:

Originally Posted by MartinK (Post 1472905)
but I'm not sure if I'll be able to build it for Sailfish OS and I have serious doubts of an Android build being doable.

Well, Sailfish is Linux, so grabbing the packaged mapnik and its build-deps for Fedora or whatever should just work. As for Android, it's become such a caricature of what Linux should be that I don't have any idea. But if the Digia folks were able to run Qt there and Python runs there as well, why shouldn't boost & mapnik fail? But I guess xda-developers may be a better place to discuss mapnik on Android

Quote:

Originally Posted by MartinK (Post 1472905)
Still, the main issues still stands: How to get the data for rendering ? AFAIK big Mapnik tileservers use a Postgis database to fetch geometry during rendering - that would be probably too much of an overkill for the N900 and mobile devices in general. So some other more simple/lightweight format/store is needed that can still be plumbed to Mapnik (and/or ideally other potential renderers). Raw OSM data files (XML, PBF) won't do for any non-trivial area due to missing support for efficient random access and area queries.

Therefore some sort of custom format with pre-processed data will be needed - my current favorite is reusing the already present support for sqlite tile database files, but storing tile geometry instead of tile images, with optional per tile compression. Using this method the tile rendering backend would very easily query the geometry for any given tile.
There also options for just generating "geometry tiles" for all layers we might want to render for maximal simplicity and ultra fast fetching (this would make the database bigger than the raw OSM data for the area) or storing just a single (or a couple) of map layers and combine/split them for the given zoom level (meaning the database would not be (much) bigger than the raw OSM data for the area.

In short - I'm still investigating how to best do it and piecemail working on the needed components - testing your Mapnik port, investigating the QtQuick 2 Canvas, improving the modRana data repository, planning improvement in the tile storage module for "geometry tiles" support, etc.

Also as for related development - Basil Semuonov (probably best know for running Open Repos) has apparently been working on a offline rendering and routing server (I might have written about it already a while ago). That would also help a lot - provided that:
  1. he actually ever releases it (he seems to be generally really busy)
  2. it can be ported to Maemo (you have used your magic to port Magic, so I'm sure this would be easy for you ;-) )

More or less instant offline maps as his solution seems to have some sort of internal database (solving the data issue), can import raw OSM data and provides a localhost tile server (very easy to use by current modRana codebase).

Well, it must be easily convertible from the data here: http://download.geofabrik.de/europe/poland.html#

I have no clue about the custom format, but wouldn't it be a good idea to:
1. Create any offline vector maps, even if it'd be a killer
2. Then add code delaying the loading of the whole file into the memory (not a killer anymore but maybe a little slower - slow but reliable in case of no Internet connection)
3. Investigate the custom format, indexing or anything else to enable quick lookup.

Or maybe the pbf (for instance) file could be split into smaller chucks, e.g. 50 MB each depending on the coordinates? And than it would be trivial to get the proper file - take the coordinates x,y - let x1=f(x), y1=g(y) - take the file `map-$x1-$y1` - find the fragment. This would greatly diminish the amount of file reading and RAM used.

Well, I'd rather start considering the basil's once it's working. But I guess it shouldn't be very difficult to port.

wisgal 2015-06-10 14:30

Re: [Announce] modRana: a flexible GPS navigation system
 
Modrana on my N9:
The main page: Nothing happens when clicking on Routes or POI.
Options page: Clicking on POI, Navigation, Network, Debug just bring a black page with just a header of the item. Is there any other files to be installed to make the application useful?

skanky 2015-06-10 17:15

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 1472905)
I haven't really checked in quite a while - I have "write a layer availability testing script" on my TODO but have not got to it yet. :P So just let me know what layers seem dead and I'll remove them if they also don't work on my side & if I can't fix the URLs. Thanks in advance! :)

There's this one at VE OS maps: http://talk.maemo.org/showpost.php?p...postcount=1739

Doesn't work on Jolla, I've not recently tried on n900.

:)

MartinK 2015-06-27 13:43

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by marmistrz (Post 1473061)
Thanks for the reply :)



Well, Sailfish is Linux, so grabbing the packaged mapnik and its build-deps for Fedora or whatever should just work. As for Android, it's become such a caricature of what Linux should be that I don't have any idea.

I think I'll try to build the Mapnik packages from Open SUSE or Fedora on the Mer OBS. :)


Quote:

Originally Posted by marmistrz (Post 1473061)
But if the Digia folks were able to run Qt there and Python runs there as well, why shouldn't boost & mapnik fail? But I guess xda-developers may be a better place to discuss mapnik on Android

Even though there are (cross) compilers, it is usually quite a pain to build stuff on Android due to the various quirks and hack inherent to the platform. And another issues is cramming the stuff you have built to your APK in a workable manner due to the lack of dependency handling support.

Overall I think I'll just concentrate on getting one offline map rendering solution going and we will se how to go from that. :)


Quote:

Originally Posted by marmistrz (Post 1473061)
Or maybe the pbf (for instance) file could be split into smaller chucks, e.g. 50 MB each depending on the coordinates? And than it would be trivial to get the proper file - take the coordinates x,y - let x1=f(x), y1=g(y) - take the file `map-$x1-$y1` - find the fragment. This would greatly diminish the amount of file reading and RAM used.

That's basically the plan - storing the OSM geometry corresponding to a tile image in a sqlite tile database. The current tile handling & caching mechanisms could be used, but instead of displaying tile images, the tile geometry would be rendered (using a map style) and then displayed.

Quote:

Originally Posted by wisgal (Post 1473162)
Modrana on my N9:
The main page: Nothing happens when clicking on Routes or POI.
Options page: Clicking on POI, Navigation, Network, Debug just bring a black page with just a header of the item. Is there any other files to be installed to make the application useful?

That's unfortunately the expected behavior - all these features were planned but I have not managed to implement them before I stopped working on the N9 port of modRana.

Quote:

Originally Posted by skanky (Post 1473177)
There's this one at VE OS maps: http://talk.maemo.org/showpost.php?p...postcount=1739

Doesn't work on Jolla, I've not recently tried on n900.

:)

Thanks, I'll take a look. :)

Update:
Should be now fixed! :)

MartinK 2015-06-27 16:18

Re: [Announce] modRana: a flexible GPS navigation system
 
And now for a late release announcement. :)

modRana 0.52.10 has been released ! :)

The only notable user visible change is the quick routing feature:
http://modrana.org/images/qt5_gui/mo...route_here.jpg
Just long press a point of the map and a quick routing menu shows up. :)

Changelog
The changelog format has changed due to various packaging changes to make modRana packaging more sane & Harbour compatible. The new spec file changelog is now automatically generated from commit message headers and looks like this:

Code:

* Tue Jun 16 2015 Martin Kolman - 0.52.10-1
- Make sure the background bubble stays visible on Sailfish OS (martin.kolman)
- Add long-click menu with a "route here" button (martin.kolman)
- Set start and destination by a function (martin.kolman)
- Add functions for enabling and disabling the routing UI (martin.kolman)
- Make it possible to set marker name when appending it (martin.kolman)
- Move the pinch and mouse areas under them tile grid (martin.kolman)
- Make pan detection HiDPI aware (martin.kolman)
- Don't trigger the long-click signal if a pan is in progress (martin.kolman)
- Clarify Python 3 support (martin.kolman)
- Round position change when panning during pinch zoom (martin.kolman)
- Refactor the map marker implementation (martin.kolman)
- Add support for long-click detection to the PinchMap element (martin.kolman)
- Use rWin.lastGoodPos when computing distance to search results (martin.kolman)

* Wed May 27 2015 Martin Kolman - 0.52.9-1
- Make sure that version.txt is present in sourcedir (martin.kolman)

* Mon May 25 2015 Martin Kolman - 0.52.8-1
- Create a version.txt file when making the tarball (martin.kolman)

* Tue May 19 2015 Martin Kolman - 0.52.7-1
- Only show the keep-screen-on toggle when it does something (martin.kolman)

* Sat May 16 2015 Martin Kolman - 0.52.6-1
- More Sailfish Harbour packaging fixes (martin.kolman)

* Wed May 13 2015 Martin Kolman - 0.52.5-1
- Remove python3-base dependency on Sailfish OS (martin.kolman)

* Wed May 13 2015 Martin Kolman - 0.52.4-1
- Sailfish packaging fixes (martin.kolman)

* Tue Apr 21 2015 Martin Kolman - 0.52.3-1
- Fix the Sailfish QML mangling script (martin.kolman)

* Wed Apr 01 2015 Martin Kolman - 0.52.2-1
- Initial package

The spec file is now part of the modRana source code repository, so you can now easily check the modRana changelog at any time. :)

While this is handy for packaging (it is automatically generated!) and for checking which commits are present in which modRana release, this new format is less readable than the "old" hand-written changelog entries.

So I've started writing simple hand written changelogs to the release commits:

Code:

New modRana version 0.52.10
   
- add a long-click menu to the map for easy routing
- prevent the route from wobbling during pinch zoom

As hand-written logs are more readable this will probably be the format of changelogs in future release announcements. :)

skanky 2015-08-10 08:53

Re: [Announce] modRana: a flexible GPS navigation system
 
Does 0.52.10 include the VE OS maps fix? I still can't seem to get it to download - though I'm perfectly willing to accept it's pebkac issue.

MartinK 2015-08-10 13:06

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by skanky (Post 1479121)
Does 0.52.10 include the VE OS maps fix? I still can't seem to get it to download - though I'm perfectly willing to accept it's pebkac issue.

It was fixed past the 0.52.10 release so it is not yet in a released version. I already have a couple of other fixes that would warrant a new release, but I'm not sure I'll manage to do that before I go to vacation this Saturday.

In any case if you clone modRana from GitHub it will have the fix and should run out of the box. If you are using it on the N900 just run modrana.py from the command line. On Sailfish OS you can use the run/sailfish startup script. :)

skanky 2015-08-10 13:58

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MartinK (Post 1479135)
It was fixed past the 0.52.10 release so it is not yet in a released version. I already have a couple of other fixes that would warrant a new release, but I'm not sure I'll manage to do that before I go to vacation this Saturday.

In any case if you clone modRana from GitHub it will have the fix and should run out of the box. If you are using it on the N900 just run modrana.py from the command line. On Sailfish OS you can use the run/sailfish startup script. :)

Okay, that's great. No rush on it, I just noticed the fix and release were roughly the same time and wanted to just check that I wasn't doing something wrong.

If a need comes up, I'll look into cloning it, but I'm busy with wrapping up one job and hunting for another at the moment. I hope to have some time to play more with less standard stuff on SFOS when the tablet arrives and I have a bit more time.

MikeHG 2015-08-11 17:13

Re: [Announce] modRana: a flexible GPS navigation system
 
Two questions:

1) Do normal map tiles 'expire'? It'd be ideal if the app could check whether tiles were up to date if they're older than a certain age and still being used, though if that isn't possible just having an option to flush them after a year or so would be good.

2) Don't copy-on-write filesystems have terrible performance for databases? I read older versions of BTRFS were notorious, and Sailfish has an oldish one...

I'm wondering whether creating a subvol without COW for the maps, or perhaps just tuning down the write frequency massively in the config file might help performance (not sure I'm brave enough to try the former - and I'm certainly not suggesting anyone else should, unless they know what they're doing...)

Love the app, but hitting some weird problems on sqlite where it seems to refuse to load tiles it has clearly loaded before. Still, I realise it's early days yet for the port. I'll try to capture some debug output if I can.

(p.s. sorry if these have been answered. I read 20 - 30 pages of the thread, didn't see anything)

MikeHG 2015-08-13 00:13

Re: [Announce] modRana: a flexible GPS navigation system
 
This is a log from when the database seems to 'lock up', apparently refusing to load tiles it has already downloaded. I'm not 100% sure how to trigger it, but generally scrolling around and zooming in and out in an area I haven't yet downloaded works reliably eventually. I've left it in that state for 1/2 hour probably, and it doesn't recover - though interestingly, it does seem to be able to load other tiles sometimes (e.g. if I zoom really far out) - it just seems to choke on certain particular areas of map, but after closing the program and relaunching it, and sometimes even just by zooming out then back in again, those areas of map will draw fine.

http://pastebin.com/dVuPYC4k

Quite a few examples of this:

Code:

Traceback (most recent call last):
  File "modules/gui_modules/gui_qt5/gui_qt5.py", line 302, in _selectImageProviderCB
    return self._imageProviders[providerId].getImage(imageId, requestedSize)
  File "modules/gui_modules/gui_qt5/gui_qt5.py", line 599, in getImage
    log.exception()
TypeError: exception() missing 1 required positional argument: 'msg'
2015-08-13 00:53:58,644 ERROR mod.gui.qt5: tile image provider: loading tile failed
2015-08-13 00:53:58,652 ERROR mod.gui.qt5: mainMap/mapnik/13/4094/2727
2015-08-13 00:53:58,655 ERROR mod.gui.qt5: (-1, -1)
2015-08-13 00:53:58,658 ERROR mod.gui.qt5: image loading failed, imageId: tile/mainMap/mapnik/13/4094/2727
Traceback (most recent call last):
  File "modules/gui_modules/gui_qt5/gui_qt5.py", line 579, in getImage
    download=False)
  File "modules/mod_mapTiles/mod_mapTiles.py", line 211, in getTile
    tileData = self._storeTiles.getTileData(lzxy)
  File "modules/mod_storeTiles.py", line 369, in getTileData
    return self._getTileDataFromSqlite(lzxy)
  File "modules/mod_storeTiles.py", line 385, in _getTileDataFromSqlite
    result = self.getTileFromDb(lookupConn, dbFolderPath, lzxy)
  File "modules/mod_storeTiles.py", line 455, in getTileFromDb
    (z, x, y))
sqlite3.OperationalError: database is locked

And probably less important, but nevertheless rather saddening to read, this too:

Quote:

NOTE: this probably means that the tileserver returned an
error page in place of the tile, because it doesn't like you
:(:(:(
:)

handaxe 2015-08-13 09:38

Re: [Announce] modRana: a flexible GPS navigation system
 
Quote:

Originally Posted by MikeHG (Post 1479366)
- it just seems to choke on certain particular areas of map, but after closing the program and relaunching it, and sometimes even just by zooming out then back in again, those areas of map will draw fine.

I too have noticed this. I also "owe" MartinK a list of map sources that no longer work, as there seems to be a few. I hope to get time to do that.

MikeHG 2015-08-13 11:07

Re: [Announce] modRana: a flexible GPS navigation system
 
Side note:

Due to a bug, it seems it's currently impossible to send the logs via the Jolla mail client using gmail, unless you rename them (removing the #).

https://together.jolla.com/question/...ent-via-gmail/


All times are GMT. The time now is 10:11.

vBulletin® Version 3.8.8