PDA

View Full Version : [Announce] modRana: a flexible GPS navigation system


Pages : 1 2 3 4 [5] 6 7 8 9

petur
2012-05-15, 16:50
started from commandline, once the maps fail to show I disabled centering, then stopped again:

display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
display: redraw ON (N900 window is active)
GTK GUI: size allocation <GdkRectangle at 0x460e10>
mapTiles: exception while drawing the map layer: ModRana instance has no attribute 'expandViewportTiles'
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 555, in drawMap
add = self.modrana.expandViewportTiles
AttributeError: ModRana instance has no attribute 'expandViewportTiles'
icons: not found
mapTiles: exception while drawing the map layer: ModRana instance has no attribute 'expandViewportTiles'
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 555, in drawMap
add = self.modrana.expandViewportTiles
AttributeError: ModRana instance has no attribute 'expandViewportTiles'
mapTiles: exception while drawing the map layer: ModRana instance has no attribute 'expandViewportTiles'
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 555, in drawMap
add = self.modrana.expandViewportTiles
AttributeError: ModRana instance has no attribute 'expandViewportTiles'
False
N900: key centred toggled
False
sqlite tiles: initializing db for layer: Google Maps
Shutting-down modules

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)
storePOI: disconnecting from db
location: disabling location
n900 - location: stopping

MartinK
2012-05-16, 09:59
started from commandline, once the maps fail to show I disabled centering, then stopped again:

Thanks for the CLI output! I've just uploaded version 0.31.5 where it should be fixed. Looks like I forgot to rewrite some calls when moving the GUI to its separate module. :) So please check if the issue is gone or if you can still somehow reproduce it. :)

petur
2012-05-16, 10:22
Looks fixed. Thanks!

rotoflex
2012-05-17, 07:58
Thank you, Martin.

The shortcuts for Modrana & Modrana QML now appear as blue squares. I have re-powered the N900, but they do not change to the usual icons.

anab
2012-05-17, 08:13
I enjoy with version 0.29.02. After update and in end new installation some probs. No GPS connection. no automatic rotation. German language is mixed with english. The shortcuts for Modrana & Modrana QML now appear as blue squares.

MartinK
2012-05-17, 11:03
I enjoy with version 0.29.02. After update and in end new installation some probs. No GPS connection. no automatic rotation.

This was caused by a missing dependency, I've just uploaded V0.31.6 that should fix it. :)


German language is mixed with english.

Where exactly ? In the written/spoken driving directions ?


The shortcuts for Modrana & Modrana QML now appear as blue squares.

Thank you, Martin.

The shortcuts for Modrana & Modrana QML now appear as blue squares. I have re-powered the N900, but they do not change to the usual icons.
Yep, I got that too. I'll check out the icon installation paths, probably made a typo somewhere when upgrading the packaging scripts. :)

UPDATE
I've just uploaded V0.31.8 that fixes the missing desktop icons. :)

rotoflex
2012-05-17, 16:29
I enjoy with version 0.29.02.

For some reason, my N900 didn't notice that updates for Modrana were available. After waiting a day or so after MartinK announced the update was available, I opened the N900's Application Manager, selected "Update", & the Modrana update was immediately discovered.

anab
2012-05-17, 17:27
UPDATE
I've just uploaded V0.31.8 that fixes the missing desktop icons. :)[/QUOTE]

Seems to be fixed for me.
Great job and fast reply!
Thanks a lot, Martin!:)

gkuenning
2012-05-17, 23:54
Hmmm...the new Qt version seems to launch to a completely black screen. Is it just slow the first time, or do I have something actually broken?

mick3_de
2012-05-18, 12:18
Hmmm...the new Qt version seems to launch to a completely black screen. Is it just slow the first time, or do I have something actually broken?

The same for me. There is a segmentation fault at the end:

Preloading theme "base" from cache
file:///opt/modrana/modules/gui_modules/gui_qml/qml/main.qml:12:19: Type MapPage unavailable
initialPage : MapPage {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/MapPage.qml:20:5: Type PinchMap unavailable
PinchMap {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:422:5: PinchArea is not a type
PinchArea {
^
"" ""
"" ""
"" ""
"" ""
"" ""
"" ""
"" ""
"" ""
Segmentation fault

MartinK
2012-05-18, 22:20
Hmmm...the new Qt version seems to launch to a completely black screen. Is it just slow the first time, or do I have something actually broken?

The same for me. There is a segmentation fault at the end:


Do you have CSSU installed ? It is (unfortunately ?) a prerequisite for running the QML GUI as Qt Components & PySide are badly broken on vanilla PR 1.3 Fremantle.

[QUOTE=mick3_de;1208615]
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:422:5: PinchArea is not a type
PinchArea {
^


This looks like running under QML 1.0, which doesn't have PinchArea and some other types/properties. Still, it should have crashed sooner on import QtQuick 1.1, which should not be available without CSSU. :)

petur
2012-05-18, 23:49
Don't know what I did wrong, but it looks like it's ignoring my settings, like switching off the screen even if I set it to always on, etc... I see the config bin file gets updated in ~/.modrana so I'm puzzled what this is...

mick3_de
2012-05-19, 08:34
Do you have CSSU installed ? It is (unfortunately ?) a prerequisite for running the QML GUI as Qt Components & PySide are badly broken on vanilla PR 1.3 Fremantle.

Ok, I installed CSSU. Seems to work now.


This looks like running under QML 1.0, which doesn't have PinchArea and some other types/properties. Still, it should have crashed sooner on import QtQuick 1.1, which should not be available without CSSU. :)
Can you add some dependency test to prevent installation for PR 1.3 without CSSU? I had no problems to get it with all of python-qtmobility12 installed.

Best, M.

mick3_de
2012-05-19, 09:00
Ok, I installed CSSU. Seems to work now.

Now I have random segfaults later after loading some tiles:
.
.
.
RESPONSE
STORED
download
http://c.tile.openstreetmap.org/mm/nnnn/oooo.png
"" ""
"" ""
Segmentation fault


Still, loading or rendering tiles seems to be much slower compared to the older GTK version.

Thanks, M.

petur
2012-05-19, 09:48
Don't know what I did wrong, but it looks like it's ignoring my settings, like switching off the screen even if I set it to always on, etc... I see the config bin file gets updated in ~/.modrana so I'm puzzled what this is...

from looking at the terminal output, the config is read fine (says display on -> always) but still switches off the screen after some time.

aaaargh.

MartinK
2012-05-19, 12:10
from looking at the terminal output, the config is read fine (says display on -> always) but still switches off the screen after some time.

aaaargh.
Looks like I managed to reproduce it - I'll see what's causing it. :)

petur
2012-05-19, 16:02
If you find it in the next 2 hours I can use it to navigate to the restaurant easier :)
(currently at the rockbox devcon)

MartinK
2012-05-19, 16:35
If you find it in the next 2 hours I can use it to navigate to the restaurant easier :)
(currently at the rockbox devcon)
OK, I'm on it. :D

petur
2012-05-19, 16:44
hehe

[message too short fix]

MartinK
2012-05-19, 17:21
Just uploaded V0.31.10 where it (screen blanking prevention not working) should be fixed. :)

petur
2012-05-19, 17:32
great great great!

MartinK
2012-05-19, 17:43
Another fix - V0.31.11 fixes screen not redrawing properly in case N900 has no GPS lock. The periodic liblocation callback is also used to periodically refresh the screen. Looks like: no lock = no callback, so I've added a 1000 ms timer that checks for list redraw time-stamp and acts accordingly. :)

droll
2012-05-20, 08:44
i cannot startup modrana. i deleted the config folder .modrana and now it refuses to startup. help??

lokimotive
2012-05-20, 09:29
i cannot startup modrana. i deleted the config folder .modrana and now it refuses to startup. help??

I guess a reinstall would fix that.

int_ua
2012-05-20, 10:20
QML variant 0.31.11 segfaults after a while with hundreds of
file:///usr/lib/qt4/imports/com/nokia/meego/Style.qml:46: Unable to assign [undefined] to bool inverted
file:///usr/lib/qt4/imports/com/nokia/meego/Style.qml:46: Unable to assign [undefined] to bool inverted
file:///usr/lib/qt4/imports/com/nokia/meego/Style.qml:46: Unable to assign [undefined] to bool inverted
Segmentation fault (core dumped)

Style.qml:46 is
property bool inverted: theme.inverted
and theme variable isn't defined in it.

droll
2012-05-20, 16:10
reinstalling modrana didn't help :(
i wiped out the config folder and re-ran modrana. no help.

i then launched modrana from command line
== modRana Starting ==
modRana: loading options
modRana: exception while loading saved options:
[Errno 2] No such file or directory: '/home/user/.modrana/options.bin'
importing modules:
N900: dbus initialized
N900 device specific module initialized
* device: A N900 modRana device-specific module (420.00 ms)
modRana: module: gui_gtk/gui failed to load
Traceback (most recent call last):
File "modrana.py", line 254, in _loadModule
module = a.getModule(self.m, self.d, initInfo)
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 46, in getModule
return(GTKGUI(m,d,i))
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 87, in __init__
self._registerCenteringShiftCallbacks()
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 261, in _registerCenteringShiftCallbacks
self._updateCenteringShiftCB()
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 278, in _updateCenteringShiftCB
(sx,sy,sw,sh) = self.get('viewport')
TypeError: 'NoneType' object is not iterable
* mapData: Handle downloading of map data (100.00 ms)
* config: Handle configuration, options, and setup (0.00 ms)
* example: A sample pyroute module (0.00 ms)
* cron: A GTK timing and scheduling module for modRana (0.00 ms)
* sketch: Sketching functionality (0.00 ms)
* units: a unit handling module (30.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
storePOI: POI database path:
/home/user/MyDocs/.maps/modrana_poi.db
storePOI: connection to POI db established
* storePOI: Store POI data. (20.00 ms)
* display: A platform independent display device control module (140.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* search: Search for POI (10.00 ms)
* showPOI: Show POI on the map and in the menu. (0.00 ms)
* loadTracklogs: A sample pyroute module (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (0.00 ms)
* voice: Handle text to speach. (0.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* animatedMapView: A sample pyroute module (10.00 ms)
* log: A modRana logging module (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (0.00 ms)
* showGPX: draws a GPX track on the map (10.00 ms)
* storeTiles: Single-file-fs tile storage (0.00 ms)
* info: A modRana information handling module (10.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
* stats: Handles messages (0.00 ms)
* notification: This module provides notification support. (0.00 ms)
* options: Handle options (10.00 ms)
* route: Routes (50.00 ms)
* icons: Draw icons (120.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* menu: Handle menus (10.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
* messages: Handles messages (0.00 ms)
* tracklog: Record tracklogs (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* onlineServices: A module for talking to various online services (70.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
* location: Supplies position info from a position source (0.00 ms)
modRana: module: mod_mapTiles/mapTiles failed to load
Traceback (most recent call last):
File "modrana.py", line 254, in _loadModule
module = a.getModule(self.m, self.d, initInfo)
File "/opt/modrana/modules/mod_mapTiles.py", line 48, in getModule
return(MapTiles(m,d,i))
File "/opt/modrana/modules/mod_mapTiles.py", line 87, in __init__
if gui.getIDString() == "GTK":
AttributeError: 'NoneType' object has no attribute 'getIDString'
* mapView: Controls the view being displayed on the map (10.00 ms)
Loaded all modules in 1180.00 ms, initialising
icons: switched theme to: default
Traceback (most recent call last):
File "modrana.py", line 718, in <module>
program = ModRana()
File "modrana.py", line 138, in __init__
self.loadModules()
File "modrana.py", line 232, in loadModules
m.firstTime()
File "/opt/modrana/modules/mod_options.py", line 291, in firstTime
addItems("Main map", "layer", layerNameKey, group, "mapnik")
File "/opt/modrana/modules/mod_options.py", line 145, in addItemsOption
menu = self.menuModule.getClearedMenu(backAction)
File "/opt/modrana/modules/mod_menu.py", line 579, in getClearedMenu
timedAction=(self.modrana.gui.msLongPress,"set:menu:None")
AttributeError: 'NoneType' object has no attribute 'msLongPress'
still doesn't work...

MartinK
2012-05-20, 16:55
QML variant 0.31.11 segfaults after a while with hundreds of

Style.qml:46 is

and theme variable isn't defined in it.
I finally tracked down the cause af all those error messages - I have declared a new string property called theme in the main.qml file. But it looks like there already is property/object with the same name. So it tried to assign a string property in place of the object-property a generated a whole lot of errors.

After i renamed the string property, the errors don't show up anymore. :) The fix is in V0.31.12, does it help with your segfaults ?

BTW, make sure to start the QML GUI with the /usr/bin/modrana-qml startup script, otherwise it would segfault during startup because of a bug in Python bindings for Qt mobility 12 (this (https://github.com/M4rtinK/modrana/blob/master/run/fremantle_qml) is how the startup script works around it).

reinstalling modrana didn't help :(
i wiped out the config folder and re-ran modrana. no help.

still doesn't work...

Try this (as root):

apt-get update
apt-get remove modrana
rm -rf /home/user/.modrana/
rm -rf /opt/modrana/
apt-get install modrana

It should unistall modRana, remove the config folder (if present), remove any possible remains of modRana program files and then do a clean modRana install. :)

droll
2012-05-20, 17:09
arrgh what is going on. still doesn't work..
== modRana Starting ==
modRana: loading options
modRana: exception while loading saved options:
[Errno 2] No such file or directory: '/home/user/.modrana/options.bin'
importing modules:
N900: dbus initialized
N900 device specific module initialized
* device: A N900 modRana device-specific module (450.00 ms)
modRana: module: gui_gtk/gui failed to load
Traceback (most recent call last):
File "modrana.py", line 254, in _loadModule
module = a.getModule(self.m, self.d, initInfo)
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 46, in getModule
return(GTKGUI(m,d,i))
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 87, in __init__
self._registerCenteringShiftCallbacks()
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 261, in _registerCenteringShiftCallbacks
self._updateCenteringShiftCB()
File "/opt/modrana/modules/gui_modules/gui_gtk.py", line 278, in _updateCenteringShiftCB
(sx,sy,sw,sh) = self.get('viewport')
TypeError: 'NoneType' object is not iterable
* mapData: Handle downloading of map data (90.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
* example: A sample pyroute module (0.00 ms)
* cron: A GTK timing and scheduling module for modRana (0.00 ms)
* sketch: Sketching functionality (10.00 ms)
* units: a unit handling module (20.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* updateTiles: Update stored map tiles. (10.00 ms)
* positionMarker: A sample pyroute module (0.00 ms)
storePOI: POI database path:
/home/user/MyDocs/.maps/modrana_poi.db
storePOI: connection to POI db established
* storePOI: Store POI data. (20.00 ms)
* display: A platform independent display device control module (140.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* search: Search for POI (10.00 ms)
* showPOI: Show POI on the map and in the menu. (0.00 ms)
* loadTracklogs: A sample pyroute module (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (10.00 ms)
* voice: Handle text to speach. (0.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* animatedMapView: A sample pyroute module (0.00 ms)
* log: A modRana logging module (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (0.00 ms)
* showGPX: draws a GPX track on the map (10.00 ms)
* storeTiles: Single-file-fs tile storage (0.00 ms)
* info: A modRana information handling module (10.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
* stats: Handles messages (10.00 ms)
* notification: This module provides notification support. (0.00 ms)
* options: Handle options (10.00 ms)
* route: Routes (50.00 ms)
* icons: Draw icons (120.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* menu: Handle menus (20.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
* messages: Handles messages (0.00 ms)
* tracklog: Record tracklogs (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* onlineServices: A module for talking to various online services (60.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
* location: Supplies position info from a position source (0.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (80.00 ms)
* mapView: Controls the view being displayed on the map (0.00 ms)
Loaded all modules in 1280.00 ms, initialising
icons: switched theme to: default
Traceback (most recent call last):
File "modrana.py", line 718, in <module>
program = ModRana()
File "modrana.py", line 138, in __init__
self.loadModules()
File "modrana.py", line 232, in loadModules
m.firstTime()
File "/opt/modrana/modules/mod_options.py", line 291, in firstTime
addItems("Main map", "layer", layerNameKey, group, "mapnik")
File "/opt/modrana/modules/mod_options.py", line 145, in addItemsOption
menu = self.menuModule.getClearedMenu(backAction)
File "/opt/modrana/modules/mod_menu.py", line 579, in getClearedMenu
timedAction=(self.modrana.gui.msLongPress,"set:menu:None")
AttributeError: 'NoneType' object has no attribute 'msLongPress'

MartinK
2012-05-20, 19:14
arrgh what is going on. still doesn't work..

Thanks for the output! I've hardened the startup a bit in V0.31.13 based on it. :)

bipinbn
2012-05-21, 02:41
Thanks for the output! I've hardened the startup a bit in V0.31.13 based on it. :)

Thank you very much buddy, also when you get time can you please check on Route Info window after the route gets calculated , the text in the window get jumbled up due to too much data, it will help if we reduce the font size.

droll
2012-05-22, 01:14
works like magic now. Thanks MartinK!

int_ua
2012-05-23, 10:24
0.31.13:
Left top corner in Options behaves as standard "task switcher". It may be a useful feature but the "back" button in About is blocked this way.
Also it jumps to South Atlantic Ocean for a second after startup :)
modrana still terminates if I leave it inactive for a while:
* all modules loaded (12289 ms), 12713/13505 ms
* all modules initialized (792 ms), 13505/13505 ms
** whole startup: 13505 ms **
Preloading theme "base" from cache
GET
(u'currentTheme', u'default', 'default')
Segmentation fault (core dumped)
Do you need a dump?

Wikiwide
2012-05-23, 12:06
The same for me. There is a segmentation fault at the end:


Do you have CSSU installed ? It is (unfortunately ?) a prerequisite for running the QML GUI as Qt Components & PySide are badly broken on vanilla PR 1.3 Fremantle.



This looks like running under QML 1.0, which doesn't have PinchArea and some other types/properties. Still, it should have crashed sooner on import QtQuick 1.1, which should not be available without CSSU. :)

QtQuick is available by installing qtquickcompat, or it pretends to be.
Is it necessary to install CSSU to get modrana-qml working? Could the Qt dependencies of Modrana be specified more clearly?

Which version of interface should be better for battery life - in case I need to travel for day or more, while electricity is scarce?

Thank you. The program is as enjoyable as ever.

doublezero
2012-05-24, 14:21
Hi Martin. First of all, congratulations for the software, and thank you.

Some questions: the qml gui is not fully functional yet, right?
And what about this error: "//usr/lib/qt4/imports/com/nokia/meego/PageStack.js:123: TypeError: Result of expression 'page' [undefined] is not an object."?

Thanks again.

MartinK
2012-05-24, 22:11
Thank you very much buddy, also when you get time can you please check on Route Info window after the route gets calculated , the text in the window get jumbled up due to too much data, it will help if we reduce the font size.
Yep, checking the number of lines & changing the font size accordingly should do the trick. :)

0.31.13:
Left top corner in Options behaves as standard "task switcher". It may be a useful feature but the "back" button in About is blocked this way.

I think this is the default behavior for the Maemo 5 Qt Components port - it tries to fix the lack of Swipe by basically adding invisible Hildon style window controls. So clicking the upper left corner will probably close modRana. :)

As modRana has no need for these invisible buttons due to the fullscreen toggle button on the map screen, I'll have to check out how to disable them (or change the behaviour so that it won't clash with the back button).


Also it jumps to South Atlantic Ocean for a second after startup :)

Thats the geographic point, where both latitude & longitude are equal to zero. :)
I'll change it to the last known position in a future update.


modrana still terminates if I leave it inactive for a while:
Do you need a dump?
Well, why not. But I've never worked with crash-dumps before, so also a pointer what to use to analyze it would be welcome. :)

I'll also try to do some stress testing to check if I can also manage to make it segfault. BTW, I've also had quite a few segfaults initially on Fremantle:

after importing python-mobility - solved by this contraption (https://github.com/M4rtinK/modrana/blob/master/run/fremantle_qml#L4) as found in a bug-report somewhere
random segfeaults & segfaults when minimized - solved by making sure no GTK/Gobject/Hildon stuff is accidentally loaded when running with the QML interface

GTK & company making Qt application segfault is quite a weird combination, considering that for example the latest AGTL has a QML interface, which is used together with a Gobject based (signals, callbacks) "core". :)

QtQuick is available by installing qtquickcompat, or it pretends to be.

Yes, it is, but it only supports QtQuick 1.0. CSSU & Harmattan have 1.1. Also, on non-CSSU Qt Components have a different namespace (org.maemo.fremantle vs the usual com.nokia.meego).
As a result, I would need to maintain two versions for all QML files - one for vanilla Fremantle which has the Fremantle QtC namespace & uses only QtQuick 1.0 features (no pinch area, no image caching, some other missing properties, etc.) and then a "normal" version for CSSU & Harmattan.

Due to the missing features in QtQuick 1.0, just replacing the namespace won't do, I would have to to synchronize the changes between the two by hand. And the QML files change a lot - it's just too much work.

Actually, I tried to make a separate non-CSSU QML files (https://github.com/M4rtinK/mieru/tree/master/gui/qml_1.0_fremantle) for Mieru (http://talk.maemo.org/showthread.php?t=73907) - but even after changing the namespace & commenting out all the QtQuick 1.1 features, the application started, but with a very broken layout & there were other issues (no support for multiple decorators) caused by the old PySide version. Never got it to work usably on non-CSSU in the end. I have since then upgraded my N900 to CSSU, so I don't have a real device to test the non-CSSU version on anyway.


Is it necessary to install CSSU to get modrana-qml working?

Yep.


Could the Qt dependencies of Modrana be specified more clearly?

Well, the "classic" GTK interface is still usable without issues on both CSSU and non-CSSU, so old Qt version should not be preventing users from running modRana with the GTK GUI.

But I can (and probably will) add a runtime Qt version detection. If it detects Qt version < 4.7.4 (Harmattan also has 4.7.4, non-CSSU has 4.7.0) it would show a "You need to upgrade to CSSU to run the new QML based modRana interface." instead of just crashing.


Which version of interface should be better for battery life - in case I need to travel for day or more, while electricity is scarce?

Probably the QML interface.
The GTK interface:

does full screen redraws only
redraws at least once per second even if nothing changes
when drawing the map, tiles are laid-out, rotated, scaled, etc. again on every redraw
runs everything on CPU


Don't really know about how QML handles screen redrawing but I'd guess it should be much more efficient. Also, it either uses some form of GPU acceleration or is just much more optimized, consider how much more smooth it is.

Still, might be interesting to compare the two in some simple battery usage benchmark. :)


Some questions: the qml gui is not fully functional yet, right?
And what about this error: "//usr/lib/qt4/imports/com/nokia/meego/PageStack.js:123: TypeError: Result of expression 'page' [undefined] is not an object."?
This happens when you press a menu on a button that points to a page menu/screen that is not yet present. Nothing serious. :)

gkuenning
2012-05-25, 05:48
Well, why not. But I've never worked with crash-dumps before, so also a pointer what to use to analyze it would be welcome. :)


gdb is the most common tool. But I'm not sure what you'd learn. With an interpreted language like Python, what you get is a traceback that tells you where the interpreter died. Connecting that to a problem in the Python source is almost impossible without intimate knowledge of how the interpreter works.

My experience is that the Python interpreter never crashes due to segfaults; Python programs die with exceptions. Given that fact, I think that a traceback from the console wold be vastly more useful than a crash dump.

MartinK
2012-05-25, 10:03
My experience is that the Python interpreter never crashes due to segfaults; Python programs die with exceptions. Given that fact, I think that a traceback from the console wold be vastly more useful than a crash dump.
I don't think it is Python crashing, most probably either Qt or Qt Mobility (or both) segfault and take the rest of the program down with it.

Ken-Young
2012-05-25, 13:31
Modrana has stopped downloading new tiles on my N900. It still displays the cached tiles I have downloaded in the past, and properly positions me on the map, but whenever a new tile is needed, I just get the "Loading..." message which never clears. I have tried uninstalling and reinstalling Modrana, but that did not help. I have tried both Wifi and 3G network connects, and I have verified that the network was functional. No luck. I have also verified that the Openstreetmap site was online and functional when I did these tests. Has anyone else seen this problem, and/or has some idea how I can fix it?

cirodv
2012-05-25, 20:47
Hi Martin.

First of all, congratulations for your excellent job. I appreciate very much.

I'm facing serious problems when trying to batch download an area for my Google Map layer. Downloading "on the fly" is (almost) always efficient and fast, even via cellular network, but the batch downloading always fails - with few exceptions.

My /home/user/.modrana/map_config.conf sets "http://mt1.google.com/vt/"
as the url where the Google Maps are supposed to live, but opening such an url with my browser gives the error message "Your client has issued a malformed or illegal request. That's all we know.". Is this the issue?

A good solution could the Sqlite batch import scrip discussed at
http://modrana.org/trac/wiki/SQLiteTilesImportPerlScriptEN. The
problem here is that the perlscript mapconvert I've downloaded
from http://www.beermad.org.uk/mapconvert doesn't work in my linux box running Fedora: the error message is "install_driver(SQLite)
failed: Can't locate DBD/SQLite.pm in @INC (@INC contains:
/usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at (eval 5)
line 3. Perhaps the DBD::SQLite perl module hasn't been fully installed,
or perhaps the capitalisation of 'SQLite' isn't right. Available drivers:
DBM, ExampleP, File, Gofer, Proxy, Sponge, mysql. at ./mapconvert line 24".

Which are the packages required? According to the listed dependencies, it seems that the rpm packages perl-DBI and perl-DBD-MySQL should meet the requirements, but, although I've installed them, I get the previous mentioned perl error message.

Thank you very much for any help.

Ken-Young
2012-05-25, 23:34
Modrana has stopped downloading new tiles on my N900. It still displays the cached tiles I have downloaded in the past, and properly positions me on the map, but whenever a new tile is needed, I just get the "Loading..." message which never clears. I have tried uninstalling and reinstalling Modrana, but that did not help. I have tried both Wifi and 3G network connects, and I have verified that the network was functional. No luck. I have also verified that the Openstreetmap site was online and functional when I did these tests. Has anyone else seen this problem, and/or has some idea how I can fix it?

Nevermind - I found the problem. The Network Usage option Only For Important Data had been set. Apparently downloading tiles is not considered important. Selecting Unlimited Use of Network fixed the problem.

rotoflex
2012-05-26, 10:13
I do not really wish to make extra work for Martin who has done so much work already to make Modrana an excellent program, but it would be nice if in a future update that in options there was a picker or text entry box to set the location where tiles are stored.

As the collection of tiles increases, it really does seem better to move them to a memory card, & editing the config file seems to often to lead to typo problems, etc.

peterleinchen
2012-05-27, 09:42
And even better put them in a loopback mounted file with less cluster size (each little tile uses 64KB on eMMC).
See here (http://talk.maemo.org/showthread.php?t=74415)
Or consider using SQLite DB, MartinK?

MartinK
2012-05-27, 11:14
I'm facing serious problems when trying to batch download an area for my Google Map layer. Downloading "on the fly" is (almost) always efficient and fast, even via cellular network, but the batch downloading always fails - with few exceptions.

The reason is simple - Google doesn't like batch downloading and block further downloads once it is detected.


My /home/user/.modrana/map_config.conf sets "http://mt1.google.com/vt/"
as the url where the Google Maps are supposed to live, but opening such an url with my browser gives the error message "Your client has issued a malformed or illegal request. That's all we know.". Is this the issue?

Nope, thats just the prefix used to build the URL, a valid one looks like this:

http://mt1.google.com/vt/lyrs=m@177000000&hl=en&src=app&x=6&y=6&z=4


A good solution could the Sqlite batch import scrip discussed at
http://modrana.org/trac/wiki/SQLiteTilesImportPerlScriptEN.

Well, you still need to get tile tiles somewhere first. :)


The problem here is that the perlscript mapconvert I've downloaded
from http://www.beermad.org.uk/mapconvert doesn't work in my linux box running Fedora: the error message is "install_driver(SQLite)
failed: Can't locate DBD/SQLite.pm in @INC (@INC contains:
/usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at (eval 5)
line 3. Perhaps the DBD::SQLite perl module hasn't been fully installed,
or perhaps the capitalisation of 'SQLite' isn't right. Available drivers:
DBM, ExampleP, File, Gofer, Proxy, Sponge, mysql. at ./mapconvert line 24".

Which are the packages required? According to the listed dependencies, it seems that the rpm packages perl-DBI and perl-DBD-MySQL should meet the requirements, but, although I've installed them, I get the previous mentioned perl error message.

Thank you very much for any help.
Unfortunately, I don't have a Fedora installation at hand at the moment - well, you can try to just install everything with "sqlite" in name and check if it fixes the issue. :)

Nevermind - I found the problem. The Network Usage option Only For Important Data had been set. Apparently downloading tiles is not considered important. Selecting Unlimited Use of Network fixed the problem.
Yeah, the naming should really be changed to be more descriptive.
Only For Important Data means that no map tiles are downloaded but online routing & search are still allowed.
So maybe "Routing & search only" would be a better name ?

I do not really wish to make extra work for Martin who has done so much work already to make Modrana an excellent program, but it would be nice if in a future update that in options there was a picker or text entry box to set the location where tiles are stored.

As the collection of tiles increases, it really does seem better to move them to a memory card, & editing the config file seems to often to lead to typo problems, etc.
OK, I'll have a look at it once I have some spare time, shouldn't be that difficult. :) IMHO, entry box is a better choice, as the default Hildon folder chooser is dog slow & doesn't usually show all available folders (does it even show invisible folders ?).

And even better put them in a loopback mounted file with less cluster size (each little tile uses 64KB on eMMC).
See here (http://talk.maemo.org/showthread.php?t=74415)
Or consider using SQLite DB, MartinK?
Already implemented. :) The modrana.org wiki has more more information (http://modrana.org/trac/wiki/DataStorageEN#sqlite) about how it works. You can also use the (above mentioned) Perl script to import the tiles you have already downloaded to the database.

int_ua
2012-05-27, 14:45
But the tiles location is shared between multiple map applications and if you use them to view the same location you will have the tiles stored twice, right?

cirodv
2012-05-27, 19:25
The reason is simple - Google doesn't like batch downloading and block further downloads once it is detected.


Nope, thats just the prefix used to build the URL, a valid one looks like this:

http://mt1.google.com/vt/lyrs=m@177000000&hl=en&src=app&x=6&y=6&z=4


Well, you still need to get tile tiles somewhere first. :)


Unfortunately, I don't have a Fedora installation at hand at the moment - well, you can try to just install everything with "sqlite" in name and check if it fixes the issue. :)


Yeah, the naming should really be changed to be more descriptive.
Only For Important Data means that no map tiles are downloaded but online routing & search are still allowed.
So maybe "Routing & search only" would be a better name ?


OK, I'll have a look at it once I have some spare time, shouldn't be that difficult. :) IMHO, entry box is a better choice, as the default Hildon folder chooser is dog slow & doesn't usually show all available folders (does it even show invisible folders ?).


Already implemented. :) The modrana.org wiki has more more information (http://modrana.org/trac/wiki/DataStorageEN#sqlite) about how it works. You can also use the (above mentioned) Perl script to import the tiles you have already downloaded to the database.


Looks like Google Maps shouldn't be used when one needs to preload some areas (for instance before travelling abroad). Hoping
Google will change policy about that.

I got the point about the URL. My fault. My fault also the misinterpretation of mapconvert: I understood its aim was to download tiles off-line - typically on the PC.

rotoflex
2012-05-28, 09:06
But the tiles location is shared between multiple map applications and if you use them to view the same location you will have the tiles stored twice, right?

It is possible that many tend to use one map application - I do, anyway. It does seem like the default should continue to be the shared maps directory.

Then, if someone is using Modrana & really needs additional storage space, the option is there to move the tiles to a memory card. It would be ideal if the other map applications also made the tiles directory configurable, but all things can't be made ideal!

I just thought of another feature that might be useful - POI's with alarms. Since the GPS is on already, & you can enter POI's, it could be useful to associate an alarm with the POI so you don't drive past it. I would add POI's for speed limit change signs & set a bong sound in areas that I sometimes forget to to speed up or slow down in.

Ken-Young
2012-05-29, 00:29
[...]
Yeah, the naming should really be changed to be more descriptive.
Only For Important Data means that no map tiles are downloaded but online routing & search are still allowed.
So maybe "Routing & search only" would be a better name ?
[...]


Yes, I think so. Or, if tiles are the only things not downloaded when Only For Important Data is selected, then perhaps it could be named Don't Download Tiles.

Thanks very much Martin, for maintaining this package; it's by far my favorite map program for the N900.

MartinK
2012-06-01, 21:49
But the tiles location is shared between multiple map applications and if you use them to view the same location you will have the tiles stored twice, right?

Yep, but:
It is possible that many tend to use one map application - I do, anyway. It does seem like the default should continue to be the shared maps directory.
Also if you use sqlite tile storage, there are so far no other navigation apps with support for the format other than modRana. This might change in the future as the format is open & documented here (http://modrana.org/trac/wiki/SQLiteStorageDescriptionEN) and the Cloud GPS developer mentioned having support for it on his roadmap.


Then, if someone is using Modrana & really needs additional storage space, the option is there to move the tiles to a memory card. It would be ideal if the other map applications also made the tiles directory configurable, but all things can't be made ideal!
I think most probably support this through their configuration files.


I just thought of another feature that might be useful - POI's with alarms. Since the GPS is on already, & you can enter POI's, it could be useful to associate an alarm with the POI so you don't drive past it. I would add POI's for speed limit change signs & set a bong sound in areas that I sometimes forget to to speed up or slow down in.
This is actually already a ticket for this from a long time ago (http://modrana.org/trac/ticket/53). A new table in the POI database with rows bound to the POI ids would be needed. This table would store all the various alarms (more than one alarm per POI would be supported) & their metadata (distance, beep/spoken message, enabled/disabled, etc.). and you would have to assure that alarms are removed when a POI is deleted (this might be automatic given proper key arrangements are done in the database).

While I still think this is the proper way for implementing POI based alarms, your question got me thinking it there is another, more simple way how for handling alarms. :)

I asked myself a couple questions:

do the alarms need to be bound to POI after all ?
how to easily add an alarm without making a POI ?
how to make it easy for users to add many alarms at once (eq. with a script that generates them from a list of speed-limits/whatever) ?


Result: Plain-text alarm lists !
The alarms would be just stored in one or more plain-text files, one alarm per row with CSV notation.

Row notation might look like this:

lat;lon;distance;enabled;name;alert

51.178844,-1.826189;200;1;Stonehenge;Watch for the stones !

Explanation:
lat - latitude in decimal format
lon - longitude in decimal format
distance - trigger distance
enabled - 1 = enabled, 0 = disabled
name - displayed name
alert - any string other than BEEP or SAY would go directly to text-to-speech, BEEP triggers some default alarm sound, SAY: says whats after the colon (so you can SAY:BEEP :D)

What about elevation ?
A friend of mine is a glider pilot so the idea of 3D alarm coordinates has crossed my mind. Still, I want the format be as simple as possible (so that users can basically just generate the lists in excel/calc) and elevation would probably not bee needed 99% of the time. As a result, elevation support can be added in the future - probably into the distance field with some prefix (eq. ELEV:375,200)

How to add new alarms ?
There would be two ways: editing the alarm lists from the outside (just create a valid list and modRana will be able to use it) or interactively inside modRana (create new lists, add alarms from map/poi/coordinates, enabled/disable alarms, activate/deactivate alarm lists).

And now the most important thing:
What do you thing about this idea ?

did I forgot about some essential alarm parameter ?
any ideas for a better row format or an other technical solution overall ?
implementation/scalability concerns ?
or anything else ? :)

zimon
2012-06-01, 22:37
The fact that sql-format of tiles database is documented and no other map application in N900 is using it, is IMO just a prove only modRana is actively developed and the best navigation software for N900. It is a shame the other map-application developers do not implement the sql-database system, which could be shared between applications.

I think I've installed all available map-, gps-, navigation- applications available for N900, but modRana is what I find most useful.

Estel
2012-06-02, 00:47
IIRC, sqlite tile's database is on it's way for Marble (http://talk.maemo.org/showthread.php?t=67316) too.

But, those whirlwind of development convinced me to try ModRana as well :) sounds like really nice tool.

/Estel

skykooler
2012-06-02, 19:57
Really looking forward to location alarms! (Also, pilot here, would appreciate altitude alarms :) )

7thd
2012-06-02, 23:04
Sailor here,
Altitude is not a real (measurable) issue on the water. I'd suggest the idea to add content that portrays the angle to the next waypoint (either a visual or a measurement in degrees). This could open the way for efficient tacking (going upwind). BTW, I could imagine this would be too major an alteration. On the other hand, such a feature could come in handy for land driving as well btw. (i.e. for visualizing the general direction).

Anyway, absolute distance to next waypoint, too, could be informative as well and/or alternatively (i.e. to mark the 90 degr. position to a buoy, although 90 degrees normally is 'late' for a tack).

Cheers, modRana already is very cool. As said, maybe what I said is reasonably undoable, but I just wanted to describe from sailor's point of view.

Wikiwide
2012-06-10, 00:38
Quick message...
First, I have made it so that labels for POIs are not displayed if zoom level is smaller than 13: POIs are too close to each other, the labels become a useless mess, and besides, when the map is zoomed out enough, locations (continents, countries, et cetera) can be recognized without any labels at all. Though, '13' should be replaced with an option to be set through user interface.
I am also creating an amusing kind of POI. If description of a POI matches 'airport', then, instead of the green translucent circle, an over-simplified image of airplane is drawn. And, an 'airport' doesn't have any label at all, no matter what zoom level: the number of airports is small enough than an airport doesn't need it.
And, the bright blue dot is replaced with a changing-colour one: bright green if GPS isn't available, yellow if GPS gives large speed and large distance till the point, red if the speed is large and distance is small, green if the speed is small and distance is large, black if both speed and distance are small. Speed is compared to pedestrian's 5km/h, and distance is compared to one hour of travel at current speed.
By the way, is it true that POIs are drawn even when they are outside the screen? It can make drawing work for cairo context about ten-twenty-forty times larger.
I'm still wavering: to install CSSU or not... Thank you for ModRana.

MartinK
2012-06-12, 11:09
Really looking forward to location alarms! (Also, pilot here, would appreciate altitude alarms :) )
I think I'll just do it with elevation on the third place, to make the design cleaner and more future proof:
lat;lon;elevation;distance;enabled;name;alert
If elevation is empty, modRana would count the distance in 2D, if it is filled in, it would count the distance in 3D.

Sailor here,
Altitude is not a real (measurable) issue on the water. I'd suggest the idea to add content that portrays the angle to the next waypoint (either a visual or a measurement in degrees). This could open the way for efficient tacking (going upwind). BTW, I could imagine this would be too major an alteration. On the other hand, such a feature could come in handy for land driving as well btw. (i.e. for visualizing the general direction).

Anyway, absolute distance to next waypoint, too, could be informative as well and/or alternatively (i.e. to mark the 90 degr. position to a buoy, although 90 degrees normally is 'late' for a tack).
So basically a mode, which takes into account the order of the alarm points and shows the angle to the next one ? BTW, I think I'm a bit confused about the context of the angle - could perhaps provide a simple sketch illustrating how it would work ?

Anyway, I thinks that such "sailing mode" mode might not be that difficult to add, once the general alarms are implemented. :)

Quick message...
First, I have made it so that labels for POIs are not displayed if zoom level is smaller than 13: POIs are too close to each other, the labels become a useless mess, and besides, when the map is zoomed out enough, locations (continents, countries, et cetera) can be recognized without any labels at all. Though, '13' should be replaced with an option to be set through user interface.

Good idea ! You are right that the labels are not really usable at low zoomlevels and this handles the issue quite nicely. :)

Another possible, but more complicated future solution, would be to group nearby markers and just show a single marker with the label displaying the number of markers in the group. Clicking the label would show a list of the grouped marker or something similar.


I am also creating an amusing kind of POI. If description of a POI matches 'airport', then, instead of the green translucent circle, an over-simplified image of airplane is drawn. And, an 'airport' doesn't have any label at all, no matter what zoom level: the number of airports is small enough than an airport doesn't need it.

Well, why not. :)

It would be good to add and "icon" column to the database so that POIs can have both an icon and a full description, but this should work in the meantime. :)


And, the bright blue dot is replaced with a changing-colour one: bright green if GPS isn't available, yellow if GPS gives large speed and large distance till the point, red if the speed is large and distance is small, green if the speed is small and distance is large, black if both speed and distance are small. Speed is compared to pedestrian's 5km/h, and distance is compared to one hour of travel at current speed.

Oh, I've finally got it ! Like this, you know how accessible the points are from your position, with you current speed ? Nice idea ! :)


By the way, is it true that POIs are drawn even when they are outside the screen?

Unfortunately yes, modRana just draws all points that were designated as visible, even if they are outside of the viewport. Also, I think the most costly is actually not the drawing but the calculations needed to compute the screen coordinates from the geographic ones and the distance, which currently happen every time the screen is redrawn.

Therefore, just looking what points should be visible doesn't help as you still have to iterate over all the points and check if they are visible, would not help due to all the unnecessary comparisons and coordinate conversions.

Of course, there is place for optimizations (the basic idea is to somehow reduce the number of points you have to work with at a time), the first one from the top of my head :


calculate the bounding box of the current viewport in screen coordinates (I think a bounding box represented by geographic coordinates might not actually be a rectangle)
then calculate a "border" bounding box, say 2x times larger
check what markers are in the "border" bounding box
as long as the viewport bounding box is inside the "border" bounding box, you can ignore markers that are outside
once you detect that the viewport bounding box is outside of the "border" bounding box, you recalculate a new "border" bounding box and check what markers are contained within


I'm sure there are also other ways how to optimize this. :)


It can make drawing work for cairo context about ten-twenty-forty times larger.

I don't understand what you mean, can can you clarify ? :)


I'm still wavering: to install CSSU or not... Thank you for ModRana.
I'm using it for quite some time already, without issues. Still, I remember the Saera developer mentioning some issues with the camera UI in CSSU.


Anyway, thanks for the changes ! :) I'll check them out & integrate them to the upstream source code in the coming days. :)

Wikiwide
2012-06-12, 23:39
I think I'll just do it with elevation on the third place, to make the design cleaner and more future proof:
lat;lon;elevation;distance;enabled;name;alert
If elevation is empty, modRana would count the distance in 2D, if it is filled in, it would count the distance in 3D.
Good idea.

Good idea ! You are right that the labels are not really usable at low zoomlevels and this handles the issue quite nicely. :)

Another possible, but more complicated future solution, would be to group nearby markers and just show a single marker with the label displaying the number of markers in the group. Clicking the label would show a list of the grouped marker or something similar.


Thank you. What about adding to each POI (or to each category of POI) additional options, such as zoom levels, or speed levels, or distance from POI, at which they will be displayed? Then some POIs, like bus stop, or bench, or shop, will disappear if you zoom out and look at the country, not at the city.


Well, why not. :)

It would be good to add and "icon" column to the database so that POIs can have both an icon and a full description, but this should work in the meantime. :)

I was just a bit bored that all the different POI have the same appearance.

Oh, I've finally got it ! Like this, you know how accessible the points are from your position, with you current speed ? Nice idea ! :)

It's probably nice, but it's a bit confusing, and requires adding some options into the interface.

Unfortunately yes, modRana just draws all points that were designated as visible, even if they are outside of the viewport. Also, I think the most costly is actually not the drawing but the calculations needed to compute the screen coordinates from the geographic ones and the distance, which currently happen every time the screen is redrawn.

Therefore, just looking what points should be visible doesn't help as you still have to iterate over all the points and check if they are visible, would not help due to all the unnecessary comparisons and coordinate conversions.

Well, if the viewport is remembered somewhere in geographic coordinates, it's possible to compare POI with viewport without converting geocoordinates of POI into screen coordinates. But I see the point: it's better not to have POI visible until it's needed, because the computations will be happening either way.

Of course, there is place for optimizations (the basic idea is to somehow reduce the number of points you have to work with at a time), the first one from the top of my head :


calculate the bounding box of the current viewport in screen coordinates (I think a bounding box represented by geographic coordinates might not actually be a rectangle)
then calculate a "border" bounding box, say 2x times larger
check what markers are in the "border" bounding box
as long as the viewport bounding box is inside the "border" bounding box, you can ignore markers that are outside
once you detect that the viewport bounding box is outside of the "border" bounding box, you recalculate a new "border" bounding box and check what markers are contained within


I'm sure there are also other ways how to optimize this. :)
Interesting idea. Is it possible to somehow make it so that POIs are redrawn only when the map is dragged, not every second?


I don't understand what you mean, can can you clarify ? :)

Well... I meant that there might be only one-two-four POIs in the viewport, and about forty-fifty POIs altogether (visible, but outside the viewport), and redrawing all the POIs, even outside the viewport, sounds excessive.

I'm using it for quite some time already, without issues. Still, I remember the Saera developer mentioning some issues with the camera UI in CSSU.

Anyway, thanks for the changes ! :) I'll check them out & integrate them to the upstream source code in the coming days. :)
Thank you for replying. But don't integrate everything, or the program might bloat... It's not an actually useful or necessary feature, except for hiding the POIs labels.

If the conversion of geo coordinates into screen coordinates depends only on zoom, and not on current position/viewport, then screen coordinates could be permanently stored within POI, changed only when POI's geo coordinates are changed, and retrieved from here when POI is drawn, instead of being recalculated each time.

Wikiwide
2012-06-14, 07:33
Quick message...
Generally, I don't have Internet while on the move (or consider it expensive, or it is too slow). And, I generally don't want to depend on online services to help me with something which I could have done myself. Therefore, I have made a prototype offline routing: user gives one start, one end, and many middle points, and they are turned into a "route". Though, it could be developed by requiring text input for each middle point, so that the user would write the speeches for espeak - like, "turn left", "turn right", "bus stop", "train", and so on.
I would be grateful if you could integrate this into one of the next versions. Thank you.
Edit: obligatory text input for each middle point added. Though, I still haven't tested the system anywhere.
Edit: Small edit ensures that turn-by-turn navigation interface does indeed work with handmade route. But I'm not sure whether the values of distance-meters are correct here.
Edit: mod_route.turn.zip is the latest file. Two others couldn't support turn-by-turn navigation.
Best wishes to all of you.

gkuenning
2012-06-15, 13:51
Therefore, I have made a prototype offline routing: user gives one start, one end, and many middle points, and they are turned into a "route".

This is useful for more than just offline routing. I've been wanting a similar feature so I could route things like a long bike ride that does a loop and returns home.

So this is a vote for integration!

MartinK
2012-06-15, 23:34
Quick message...
Generally, I don't have Internet while on the move (or consider it expensive, or it is too slow). And, I generally don't want to depend on online services to help me with something which I could have done myself. Therefore, I have made a prototype offline routing: user gives one start, one end, and many middle points, and they are turned into a "route". Though, it could be developed by requiring text input for each middle point, so that the user would write the speeches for espeak - like, "turn left", "turn right", "bus stop", "train", and so on.
I would be grateful if you could integrate this into one of the next versions. Thank you.
Edit: obligatory text input for each middle point added. Though, I still haven't tested the system anywhere.
Edit: Small edit ensures that turn-by-turn navigation interface does indeed work with handmade route. But I'm not sure whether the values of distance-meters are correct here.
Edit: mod_route.turn.zip is the latest file. Two others couldn't support turn-by-turn navigation.
Best wishes to all of you.

WOW, that sounds interesting & useful ! :)
I've been working on CLI options for use by external program like (Saera) till now, so I'll check your changes next. :)
Anyway, thanks in advance ! :D

MartinK
2012-06-15, 23:36
ModRana V0.32 has been release, with CLI interface imeprovements. Repost from the Saera thread (http://talk.maemo.org/showthread.php?p=1222542#post1222542):

ModRana now has quite a few new CLI options for use by Saera (and any other program or script):

usage: modrana.py [-h] [-d device ID] [-u GUI ID]
[--local-search search query]
[--local-search-location an address or geographic coordinates]
[--address-search an address]
[--wikipedia-search search query] [--return-static-map-url]
[--center-on-position] [--set-zl zoom level number]
[--center-on-position-on-zl zoom level number]
[--focus-on-coordinates geographic coordinates with the geo: prefix]

A flexible GPS navigation system.

optional arguments:
-h, --help show this help message and exit
-d device ID specify device type
-u GUI ID specify user interface type (GTK or QML)
--local-search search query
specify a local search query EXAMPLE: "pizza"
--local-search-location an address or geographic coordinates
specify a geographic location for a local search query
(current location is used by default), both addresses
and geographic coordinates with the geo: prefix are
supported; use "LAST_KNOWN_POSITION" to use last known
position EXAMPLE: "London" or
"geo:50.083333,14.416667" or LAST_KNOWN_POSITION"
--address-search an address
specify an address search query EXAMPLE: "Baker Street
221b, London"
--wikipedia-search search query
specify a local search query EXAMPLE: "Prague castle"
--return-static-map-url
return static map URL for a CLI query (works for local
search, address and Wikipedia search)
--center-on-position focus on the current position & enable centering
--set-zl zoom level number
set a zoom level EXAMPLE: 15
--center-on-position-on-zl zoom level number
focus on current position on a given zoom level
EXAMPLE: 15
--focus-on-coordinates geographic coordinates with the geo: prefix
focus on given coordinates, NOTE you can use --set-zl
to set zoom level, EXAMPLE: "geo:50.083333,14.416667"

Search
The search options work in two modes:

If --return-static-map-url is used, modRana loads only the most essential modules, handles the query and exits after printing the Url pointing to a static-map with the result to stdout.

If --return-static-map-url is not used, modRana starts normally and shows the search results.

Exit codes
If everything went fine, modRana returns 0, as expected.

If something went wrong, modRana exits with one of the codes below:

SYNTAX_ERROR = 2
SEARCH_NO_RESULTS_FOUND = 3
SEARCH_PROVIDER_TIMEOUT_ERROR = 4
SEARCH_PROVIDER_ERROR = 5
LOCAL_SEARCH_CURRENT_POSITION_UNKNOWN_ERROR = 6


Local search takes some time
When modRana does local search and no --local-search-location is specified, it starts the GPS and waits for up to 30 seconds for it to supply valid location coordinates.

If the current location is not determined within the 30 second time limit, modRana uses the last known position (if available).

Results
If more results are returned for --return-static-map-url, modRana just returns Url for the first one (this is also usually the result with the best accuracy).

It also shouldn't be difficult to add support for returning multiple results or to return coordinates or other information to stdout (maybe URL + result title ?).

Other supported options
It is also possible to set the zoom level, make modRana focus on a set of coordinates or center on current position.

Routing
There are not yet CLI options for routing, but will be added in near future. :)

How to use
Example - show address search result in GTK UI on zoom level 10:

python /opt/modrana/modrana.py -d n900 -u GTK --address-search "Prague" --set-zl 10


Example - return local search result at static map URL on default zoom level (15):

python /opt/modrana/modrana.py --local-search "pizza" --return-static-map-url


Feedback
Don't hesitate to let me know if you hit any issues or if you have any ideas for improvements. :)

Wikiwide
2012-06-16, 09:38
WOW, that sounds interesting & useful ! :)
I've been working on CLI options for use by external program like (Saera) till now, so I'll check your changes next. :)
Anyway, thanks in advance ! :D
Unfortunately, I am going on a long, likely offline trip, so I will not update Modrana now - offline routing is more important for me now than CLI.
Thank you for looking into my supposed changes. :)

MartinK
2012-06-16, 09:45
Unfortunately, I am going on a long, likely offline trip, so I will not update Modrana now - offline routing is more important for me now than CLI.
Thank you for looking into my supposed changes. :)
Ok. :) Have a good trip ! :)

bocephus
2012-06-16, 15:36
What could possibly be the problem if GPX tracks I have put in MyDocs/tracklogs don't show under modRana/menu/tracklogs? No matter what I put there, the two example tracks are the only ones visible. I just upgraded to V0.32.3, but it didn't work in the previous version either. Could there be something about the format? I've tried with GPX files saved with Mappero and GPX files converted from Google KML. But GPX is a standard in and of itself, is it not? And the files should at least show up in the modRana menu as long as they have the right name, should they not?

MartinK
2012-06-16, 16:17
What could possibly be the problem if GPX tracks I have put in MyDocs/tracklogs don't show under modRana/menu/tracklogs?
Did you put them into a folder ?
MyDocs/tracklogs/my_folder/my_tracklog.gpx
The my_folder folder should show up as a new category under Tracklogs and would contain an entry called my_tracklog.gpx. It list everything that has a .gpx extension, so even if the tracklog has wrong internal structure, it should at least show up here.

I agree that this is quite confusing, there should be at least an "import tracklog dialog" so that users can easily select a tracklog and modRana would then copy it to the correct folder. And also support for some basic operations, like moving between categories, renaming, deleting, etc.

bocephus
2012-06-18, 09:58
MartinK: I did not put them in a subfolder, no. Figures I should've tried that. The GPX tracks do show up when put in a subfolder.

However, I still have the problem that they don't load properly... I have tried several different ones to try to figure out what could be wrong:

GPX tracks exported from ArcGIS (http://www.esri.com/software/arcgis/) - which is the Gold Standard when it comes to mapping software - will load, but modRana loads them incompletely. For instance, a gpx made up of several tracks will only display the track points and segments within the first <trk></trk> handle. Subsequent <trk> entries are ignored. If you want to take a look at it, I have attached an example of such a GPX file containing several tracks, where only the 3 points within the first track are loaded by modRana, but where ArcGIS, Google Maps and Mappero on the N900 all load the entire file. (It was too long to put in CODE tags, and I had to zip it to avoid "invalid file" message.)

On a side note, GPX files saved by Mappero will simply give a "loading tracklog failed" message. I would think this to be Mappero's fault, if it wasn't for the fact that I can accurately import Mappero gpx-tracks into ArcGIS or Google Maps without problem.

In fact, all my GPX tracks will display properly in Mappero, and their KML equivalents display properly in Marble.

I'm available if you want me to run some tests on your behalf.

MartinK
2012-06-18, 21:32
However, I still have the problem that they don't load properly... I have tried several different ones to try to figure out what could be wrong:

GPX tracks exported from ArcGIS (http://www.esri.com/software/arcgis/) - which is the Gold Standard when it comes to mapping software - will load, but modRana loads them incompletely. For instance, a gpx made up of several tracks will only display the track points and segments within the first <trk></trk> handle. Subsequent <trk> entries are ignored.

Good find! I took a quick look at the code and it seems it (well, I wrote it myself - about 2 years ago :)) really just takes the first segment.


If you want to take a look at it, I have attached an example of such a GPX file containing several tracks, where only the 3 points within the first track are loaded by modRana, but where ArcGIS, Google Maps and Mappero on the N900 all load the entire file. (It was too long to put in CODE tags, and I had to zip it to avoid "invalid file" message.)

Thanks! :)


On a side note, GPX files saved by Mappero will simply give a "loading tracklog failed" message. I would think this to be Mappero's fault, if it wasn't for the fact that I can accurately import Mappero gpx-tracks into ArcGIS or Google Maps without problem.

In fact, all my GPX tracks will display properly in Mappero, and their KML equivalents display properly in Marble.

The Upoints (https://github.com/JNRowe/upoints/) library/module is used to handle the GPX format, but not all of the available functionality is actually used/supported in modRana at the moment (Upoints even supports KML & other formats). So it is possible Mappero just uses some other part of the GPX format that modRana doesn't support yet (wpt ?).



I'm available if you want me to run some tests on your behalf.
Thanks in advance !
It shouldn't be that difficult to fix the trackpoint-segment issue & look why the Mappero produced tracklog won't work. I'm quite busy at the moment (exams) but I should be able to get back at it (+merging in Wikiwides improvements) in a few days. :)

I'm looking forward for some serious stress testing of the GPX support in modRana from your side. :)

Wikiwide
2012-06-19, 16:50
Quick message... Two unrelated bugs.
1. Ampersand in POI name. It needs to be stored as &amp; (I don't remember why, but single & generates an error), and then converted to & when displayed on screen.
2. Loading POIDetail module should be done not only when user goes through menu to points-of-interest, but also when remembered POIs are displayed on screen at startup, otherwise clicking a POI (without opening POIs menu first) causes black-screen-of-restarting-the-map.
Thank you.

droll
2012-06-28, 02:28
now that google allows offline mode for google maps, it allows the device to download maps for an entire city. is that a new API that modrana can use because the existing offline / download mode in modrana is really slow (partly because google will detect if you're sucking up the maps and will block you).

any ideas?

zimon
2012-06-28, 09:51
Just tried 1st time downloading offline maps to Android Google Maps (SGS3) and it really was quick. I wonder, if Google Maps marks those downloaded offline maps with device-ID or something, so if someone shares further those offline aps, (s)he will get caught? Or if I just want to use the same offline maps in N900 with some application.

edit:
Google Maps for Android (ICS) also allows to download route to offline use. But when testing it, I noticed if the size of the maps of an area exceeds 85 MB, it won't download but reports one must reduce the area.

7thd
2012-07-03, 05:24
issue (multiboot stock kernel and 2.6.28.10-p50; CSSU1T; normal tiles)

-tracklogs do not follow actual path but a vector is drawn from start of tracklog to (whatever) current position

-tracklogs are (sometimes?) not shown until a color is chosen and at certain zoomlevels

I have this on both N900's I own. Reinstall or deletion of options.bin doesn't fix it. Would be happy to provide further data.

Evok
2012-07-03, 08:25
A big 'Thank You' to Martin for modRana. It is just an awesome and fun to use APP.
I have a question which may have been addressed previously but I cannot find it....
In my installed apps, I have modRana QML which only opens a completely blank white screen with absolutely nothing on it. I have to end task to shut it down. Can anyone guide me with a solution to have it open correctly?
modRana itself is working perfectly......

MartinK
2012-07-04, 09:55
Quick message... Two unrelated bugs.
1. Ampersand in POI name. It needs to be stored as &amp; (I don't remember why, but single & generates an error), and then converted to & when displayed on screen.
2. Loading POIDetail module should be done not only when user goes through menu to points-of-interest, but also when remembered POIs are displayed on screen at startup, otherwise clicking a POI (without opening POIs menu first) causes black-screen-of-restarting-the-map.
Thank you.
Thanks ! :) Noted:
#191 (http://modrana.org/trac/ticket/191)
#192 (http://modrana.org/trac/ticket/192)
I also finally got to integrating your improvements, they will be part of the next release. :)

now that google allows offline mode for google maps, it allows the device to download maps for an entire city. is that a new API that modrana can use because the existing offline / download mode in modrana is really slow (partly because google will detect if you're sucking up the maps and will block you).

any ideas?

Just tried 1st time downloading offline maps to Android Google Maps (SGS3) and it really was quick. I wonder, if Google Maps marks those downloaded offline maps with device-ID or something, so if someone shares further those offline aps, (s)he will get caught? Or if I just want to use the same offline maps in N900 with some application.

Really depends on the storage format, if its just a bunch of tile images with the standard scheme used by Google Maps and OpenStreetMap, they can be used right away. If it is stored in some kind of (encrypted ?) database, that would be a bit trickier. Can you check out the file format on your device ?


issue (multiboot stock kernel and 2.6.28.10-p50; CSSU1T; normal tiles)

What does CSSU1T mean ? Is that CSSU Testing or Thumb ? For the record, I'm running on CSSU stable with Extras-Devel enabled.


-tracklogs do not follow actual path but a vector is drawn from start of tracklog to (whatever) current position

-tracklogs are (sometimes?) not shown until a color is chosen and at certain zoomlevels

I have this on both N900's I own. Reinstall or deletion of options.bin doesn't fix it. Would be happy to provide further data.
There should be some errors in standard output. So just start modRana from the terminal:

modrana

And post the output. :)


A big 'Thank You' to Martin for modRana. It is just an awesome and fun to use APP.
I have a question which may have been addressed previously but I cannot find it....
In my installed apps, I have modRana QML which only opens a completely blank white screen with absolutely nothing on it. I have to end task to shut it down. Can anyone guide me with a solution to have it open correctly?
modRana itself is working perfectly......
ModRana QML is the new alternative GUI for modRana, based on Qt & QML. It is quite basic at the moment, but not really that basic (it does show a lot more than just a white screen :) ).

Do you have CSSU installed ? The QML GUI basically requires it to work correctly, as the Qt & PySide versions on stock PR 1.3 Fremantle are too old & buggy for it to work correctly.

Also, please try to start modRana QML from the terminal:

modrana-qml

And post the output. Thanks ! :)

7thd
2012-07-06, 23:59
What does CSSU1T mean ? Is that CSSU Testing or Thumb ? For the record, I'm running on CSSU stable with Extras-Devel enabled...

CSSU 21.2011.38-1Tmaemo4 and CSSU 21.2011.38-1Tmaemo2.1
@MartinK - I've got extrasdevel enabled too, no other problems except for a missing "reject" button of the calling app (what I think isn't of influence). If you'd like me to flash and make an exclusive install of any of the cssu testing versions or any other reproduction pls let me know, it may take a while but I'd do my best. Issue: minimal number of trackpoints while tracklogging (2, 3 or 4 points).

@all - Could ya folks post experiences of tracklogging if in CSSU Testing setup?


(...) There should be some errors in standard output....


I' m unaware where so I post a full run&exit while in between reproducing this issue: 2 Mins of tracklogging (3 points created).

~ $ modrana
== modRana Starting ==
modRana: loading options
N900: dbus initialized
N900 device specific module initialized
* device: A N900 modRana device-specific module (910.00 ms)
GTK GUI: size allocation <GdkRectangle at 0x333378>
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
* gui: A GTK GUI module (210.00 ms)
importing modules:
* stats: Handles messages (10.00 ms)
* units: a unit handling module (0.00 ms)
* tracklogManager: Module for managing tracklogs (20.00 ms)
* notification: This module provides notification support. (10.00 ms)
* showGPX: draws a GPX track on the map (10.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (410.00 ms)
* icons: Draw icons (50.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* menu: Handle menus (30.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
* mapData: Handle downloading of map data (50.00 ms)
* example: A sample pyroute module (10.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (260.00 ms)
* storeTiles: Single-file-fs tile storage (30.00 ms)
* messages: Handles messages (0.00 ms)
* loadTracklogs: A sample pyroute module (20.00 ms)
* onlineServices: A module for talking to various online services (70.00 ms)
* info: A modRana information handling module (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (10.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* log: A modRana logging module (10.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
* tracklog: Record tracklogs (20.00 ms)
* search: Search for POI (10.00 ms)
* animatedMapView: A sample pyroute module (10.00 ms)
* markers: A module handling markers on the map. (10.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
@ storePOI: POI database path:
@ /home/user/MyDocs/.maps/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (10.00 ms)
* showPOI: Show POI on the map and in the menu. (0.00 ms)
* display: A platform independent display device control module (0.00 ms)
* sketch: Sketching functionality (10.00 ms)
* options: Handle options (10.00 ms)
* route: Routes (110.00 ms)
* location: Supplies position info from a position source (10.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* mapView: Controls the view being displayed on the map (10.00 ms)
* input: Handle input from keyboard, buttons, etc. (10.00 ms)
* voice: Handle text to speach. (30.00 ms)
* turnByTurn: A turn by turn navigation module. (20.00 ms)
* tileserver: A modRana built-in tileserver (30.00 ms)
* projection: Projection code (lat/long to screen conversions) (10.00 ms)
* interfaceFeedback: A sample pyroute module (10.00 ms)
* cron: A GTK timing and scheduling module for modRana (0.00 ms)
Loaded all modules in 1380.00 ms, initialising
icons: switched theme to: ios
location: starting GPSD 1 second timer
location: enabling location
** n900 - location: - GPS successfully activated **
n900 - location: activated
display: keep display ON -> always
N900 rotation object initialized
N900: rotation object loaded
True
N900: key centred toggled
N900: key soundEnabled toggled
N900: application menu added
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 100 tracklogs available
**
True
mapView: switching map drag mode to default
mapView: switching centering disable threshold to 2048
Initialization complete in 330.00 ms
** modRana startup timing **
# device: Nokia N900 (n900)
* modRana start (0 ms), 0/7466 ms
* imports done (667 ms), 667/7466 ms
* GUI creation (0 ms), 668/7466 ms
* window created (1576 ms), 2244/7466 ms
* map widget created (1 ms), 2245/7466 ms
* window finalized (87 ms), 2331/7466 ms
* all modules loaded (3478 ms), 5809/7466 ms
* all modules initialized (1656 ms), 7466/7466 ms
** whole startup: 7466 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
display: redraw ON (N900 window is active)
GTK GUI: size allocation <GdkRectangle at 0x47bf20>
icons: not found
Clicked, sending menu:screenClicked
Clicked, sending set:menu:main
Clicked, sending set:menu:tracklog#tracklog
setting up tracklogTools menu
Clicked, sending tracklog:incrementStartIndex|tracklog:startLogging |set:needRedraw:True
starting to log
initializing the log file
tracklog: log_20120705#13-12-41.gpx
tracklog saved successfully
log file initialized
Clicked, sending tracklog:reset|set:menu:main
updating the log
saving log increment
tracklog: log_20120705#13-12-41.gpx
tracklog saved successfully
Clicked, sending set:menu:None
Clicked, sending menu:screenClicked
Clicked, sending set:menu:main
updating the log
saving log increment
tracklog: log_20120705#13-12-41.gpx
tracklog saved successfully
Clicked, sending set:menu:tracklog#tracklog
updating the log
Clicked, sending tracklog:stopLogging
stopping the logging
tracklog: log_20120705#13-12-41.gpx
tracklog saved successfully
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 101 tracklogs available
**
Shutting-down modules

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)

mapTiles: automatic tile download management thread shutting down
storePOI: disconnecting from db
location: disabling location
n900 - location: stopping
modRana: saving options
modRana: options successfully saved
Shutdown complete


edit: I flashed my second n900 device to EMMC_By.MiDO.FaYad.8.giga.bin, + Vanilla PR1.3 kernel. Installed CSSU 21.2011.38-1Smaemo3 (as latest stable vers.).
Now modRana won't launch GPS (modR QML does OK )):confused:. I don't understand, that N900 is quite empty now...
~ $ modrana
== modRana Starting ==
modRana: loading options
modRana: module: device_n900/device failed to load
Traceback (most recent call last):
File "modrana.py", line 293, in _loadModule
a = __import__(importName)
File "/opt/modrana/modules/device_modules/device_n900.py", line 31, in <module>
import hildon
ImportError: No module named hildon
modRana: no device module name providedloading the Neo device module as fail-safe
* device: A Neo FreeRunner modRana device-specific module (0.00 ms)
GTK GUI: size allocation <GdkRectangle at 0x2ef738>
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
* gui: A GTK GUI module (600.00 ms)
importing modules:
* menu: Handle menus (30.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* stats: Handles messages (10.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* sketch: Sketching functionality (0.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
onlineServices: using integrated non-binary simplejson, install proper simplejson package for better speed
* onlineServices: A module for talking to various online services (290.00 ms)
* tracklog: Record tracklogs (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* search: Search for POI (10.00 ms)
* route: Routes (130.00 ms)
* showPOI: Show POI on the map and in the menu. (0.00 ms)
@ location: using GPSD
modules/mod_location/gps_daemon.py:171: Warning: 'with' will become a reserved keyword in Python 2.6
modRana: module: mod_location/location failed to load
Traceback (most recent call last):
File "modrana.py", line 297, in _loadModule
module = a.getModule(self.m, self.d, initInfo)
File "/opt/modrana/modules/mod_location/mod_location.py", line 25, in getModule
return(Location(m,d,i))
File "/opt/modrana/modules/mod_location/mod_location.py", line 50, in __init__
import gps_daemon
File "modules/mod_location/gps_daemon.py", line 171
with self.lock:
^
SyntaxError: invalid syntax
* loadTracklogs: A sample pyroute module (10.00 ms)
* voice: Handle text to speach. (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (260.00 ms)
* notification: This module provides notification support. (10.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
* log: A modRana logging module (0.00 ms)
* storeTiles: Single-file-fs tile storage (20.00 ms)
* mapData: Handle downloading of map data (60.00 ms)
* animatedMapView: A sample pyroute module (10.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* info: A modRana information handling module (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* tileserver: A modRana built-in tileserver (20.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
@ storePOI: POI database path:
@ /home/user/.modrana/poi/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (10.00 ms)
* display: A platform independent display device control module (0.00 ms)
* icons: Draw icons (220.00 ms)
* cron: A GTK timing and scheduling module for modRana (10.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
* mapView: Controls the view being displayed on the map (10.00 ms)
@ mapTiles: map folder path: /home/user/.modrana/maps
* mapTiles: Display map images (160.00 ms)
* units: a unit handling module (10.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* messages: Handles messages (0.00 ms)
* options: Handle options (10.00 ms)
* example: A sample pyroute module (10.00 ms)
Loaded all modules in 1400.00 ms, initialising
icons: switched theme to: default
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/.modrana/tracklogs
* there are 3 tracklogs available
**
mapView: switching map drag mode to staticMapDrag
mapView: switching centering disable threshold to 2048
Initialization complete in 60.00 ms
** modRana startup timing **
# device: OpenMoko Neo FreeRunner (neo)
* modRana start (0 ms), 0/4170 ms
* imports done (322 ms), 322/4170 ms
* GUI creation (0 ms), 322/4170 ms
* window created (1093 ms), 1415/4170 ms
* map widget created (1 ms), 1416/4170 ms
* window finalized (12 ms), 1428/4170 ms
* all modules loaded (2519 ms), 3947/4170 ms
* all modules initialized (223 ms), 4170/4170 ms
** whole startup: 4170 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
icons: not found
GTK GUI: size allocation <GdkRectangle at 0x44fe48>
icons: not found
Shutting-down modules
storePOI: disconnecting from db

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)
modRana: saving options
modRana: options successfully saved

mapTiles: automatic tile download management thread shutting down
Shutdown complete

What can be so wrong/ different (f.i. from standard configuration of N900) ? Any do's & don'ts in these basics I'm completely ignoring?

Evok
2012-07-07, 08:09
Reply to Martin RE:
ModRana QML is the new alternative GUI for modRana, based on Qt & QML. It is quite basic at the moment, but not really that basic (it does show a lot more than just a white screen :) ).

Do you have CSSU installed ? The QML GUI basically requires it to work correctly, as the Qt & PySide versions on stock PR 1.3 Fremantle are too old & buggy for it to work correctly.

Also, please try to start modRana QML from the terminal:

modrana-qml

And post the output. Thanks ! :)

Hi Martin, I did try to run from the terminal but still the completely white blank screen.(I was going to post the output from X-terminal but don't know how to save it as I only have FreOffice & it would not save the file? Which APP could I use to save the output?)
I then installed 'CSSU Features' but when started it shows "The Community SSU is not installed. Some features might not work correctly." Then a message "ERROR: Reading the configurations settings gave a FATAL ERROR while reading the gconf values. Not all settings are available. Exiting....."
Starting modRana QML still gives the completely white blank screen.
At one point the phone completely froze so I am a little concerned. Perhaps I should just live without QML and just continue to use modRana which works A-OK :confused:
Many thanks for your input

saponga
2012-07-07, 08:27
Try this:



modrana-qml > log_modrana.txt


Which APP could I use to save the output?)

The output will be a simple .txt file.

Evok
2012-07-08, 07:37
Reply to Martin RE:
ModRana QML is the new alternative GUI for modRana, based on Qt & QML. It is quite basic at the moment, but not really that basic (it does show a lot more than just a white screen :) ).

Do you have CSSU installed ? The QML GUI basically requires it to work correctly, as the Qt & PySide versions on stock PR 1.3 Fremantle are too old & buggy for it to work correctly.

Also, please try to start modRana QML from the terminal:

modrana-qml

And post the output. Thanks ! :)

Hi Martin, I did try to run from the terminal but still the completely white blank screen.(I was going to post the output from X-terminal but don't know how to save it as I only have FreOffice & it would not save the file? Which APP could I use to save the output?)
I then installed 'CSSU Features' but when started it shows "The Community SSU is not installed. Some features might not work correctly." Then a message "ERROR: Reading the configurations settings gave a FATAL ERROR while reading the gconf values. Not all settings are available. Exiting....."
Starting modRana QML still gives the completely white blank screen.
At one point the phone completely froze so I am a little concerned. Perhaps I should just live without QML and just continue to use modRana which works A-OK :confused:
Many thanks for your input

Here is (finally) the output..
BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30+0m5) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ $ modrana-qml > log_modrana.txt
Preloading theme "base" from cache
file:///opt/modrana/modules/gui_modules/gui_qml/qml/main.qml:13:19: Type MapPage unavailable
initialPage : MapPage {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/MapPage.qml:20:5: Type PinchMap unavailable
PinchMap {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:422:5: PinchArea is not a type
PinchArea {
^
Killed
~ $
Perhaps this will help....

MartinK
2012-07-09, 21:50
I' m unaware where so I post a full run&exit while in between reproducing this issue: 2 Mins of tracklogging (3 points created).

Oh you meant creating tracklogs in modRana, not just displaying them. :) I remembered that there were some graphical glitches when I last tested track logging. I checked it out again and it seems to be actually quite broken:
#194 (http://modrana.org/trac/ticket/194)

* logging trace is not shown on map until a color is selected
* if a tracklog detail has been visited, the logging menu "tools" goes to tracklog detail "tools"
* logging intervals seem to be ignored
* tracklogs that are created seem to be corrupted or in wrong format

I'll try to do something about it. :)



edit: I flashed my second n900 device to EMMC_By.MiDO.FaYad.8.giga.bin, + Vanilla PR1.3 kernel. Installed CSSU 21.2011.38-1Smaemo3 (as latest stable vers.).
Now modRana won't launch GPS (modR QML does OK )):confused:. I don't understand, that N900 is quite empty now...
~ $ modrana
== modRana Starting ==
modRana: loading options
modRana: module: device_n900/device failed to load
Traceback (most recent call last):
File "modrana.py", line 293, in _loadModule
a = __import__(importName)
File "/opt/modrana/modules/device_modules/device_n900.py", line 31, in <module>
import hildon
ImportError: No module named hildon
modRana: no device module name providedloading the Neo device module as fail-safe
* device: A Neo FreeRunner modRana device-specific module (0.00 ms)
GTK GUI: size allocation <GdkRectangle at 0x2ef738>
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
* gui: A GTK GUI module (600.00 ms)
importing modules:
* menu: Handle menus (30.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* stats: Handles messages (10.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* sketch: Sketching functionality (0.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
onlineServices: using integrated non-binary simplejson, install proper simplejson package for better speed
* onlineServices: A module for talking to various online services (290.00 ms)
* tracklog: Record tracklogs (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* search: Search for POI (10.00 ms)
* route: Routes (130.00 ms)
* showPOI: Show POI on the map and in the menu. (0.00 ms)
@ location: using GPSD
modules/mod_location/gps_daemon.py:171: Warning: 'with' will become a reserved keyword in Python 2.6
modRana: module: mod_location/location failed to load
Traceback (most recent call last):
File "modrana.py", line 297, in _loadModule
module = a.getModule(self.m, self.d, initInfo)
File "/opt/modrana/modules/mod_location/mod_location.py", line 25, in getModule
return(Location(m,d,i))
File "/opt/modrana/modules/mod_location/mod_location.py", line 50, in __init__
import gps_daemon
File "modules/mod_location/gps_daemon.py", line 171
with self.lock:
^
SyntaxError: invalid syntax
* loadTracklogs: A sample pyroute module (10.00 ms)
* voice: Handle text to speach. (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (260.00 ms)
* notification: This module provides notification support. (10.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
* log: A modRana logging module (0.00 ms)
* storeTiles: Single-file-fs tile storage (20.00 ms)
* mapData: Handle downloading of map data (60.00 ms)
* animatedMapView: A sample pyroute module (10.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* info: A modRana information handling module (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* tileserver: A modRana built-in tileserver (20.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
@ storePOI: POI database path:
@ /home/user/.modrana/poi/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (10.00 ms)
* display: A platform independent display device control module (0.00 ms)
* icons: Draw icons (220.00 ms)
* cron: A GTK timing and scheduling module for modRana (10.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
* mapView: Controls the view being displayed on the map (10.00 ms)
@ mapTiles: map folder path: /home/user/.modrana/maps
* mapTiles: Display map images (160.00 ms)
* units: a unit handling module (10.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* messages: Handles messages (0.00 ms)
* options: Handle options (10.00 ms)
* example: A sample pyroute module (10.00 ms)
Loaded all modules in 1400.00 ms, initialising
icons: switched theme to: default
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/.modrana/tracklogs
* there are 3 tracklogs available
**
mapView: switching map drag mode to staticMapDrag
mapView: switching centering disable threshold to 2048
Initialization complete in 60.00 ms
** modRana startup timing **
# device: OpenMoko Neo FreeRunner (neo)
* modRana start (0 ms), 0/4170 ms
* imports done (322 ms), 322/4170 ms
* GUI creation (0 ms), 322/4170 ms
* window created (1093 ms), 1415/4170 ms
* map widget created (1 ms), 1416/4170 ms
* window finalized (12 ms), 1428/4170 ms
* all modules loaded (2519 ms), 3947/4170 ms
* all modules initialized (223 ms), 4170/4170 ms
** whole startup: 4170 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
icons: not found
GTK GUI: size allocation <GdkRectangle at 0x44fe48>
icons: not found
Shutting-down modules
storePOI: disconnecting from db

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)
modRana: saving options
modRana: options successfully saved

mapTiles: automatic tile download management thread shutting down
Shutdown complete

What can be so wrong/ different (f.i. from standard configuration of N900) ? Any do's & don'ts in these basics I'm completely ignoring?
Thats weird - this:
from __future__ import with_statement # for python 2.5
should be on the first line in /opt/modrana/modules/mod_location/gps_daemon.py. Maybe try to add it manually to see if it helps ?

It is actually rather weird that it works for anybody considering that line is missing. :)
I'll try to push a hot-fix ASAP, just in case.

EDIT:
Hotfix submitted, no need to manually edit anything, just update to V0.35.5 and try if GPS works. :)

Here is (finally) the output..
BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30+0m5) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ $ modrana-qml > log_modrana.txt
Preloading theme "base" from cache
file:///opt/modrana/modules/gui_modules/gui_qml/qml/main.qml:13:19: Type MapPage unavailable
initialPage : MapPage {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/MapPage.qml:20:5: Type PinchMap unavailable
PinchMap {
^
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:422:5: PinchArea is not a type
PinchArea {
^
Killed
~ $
Perhaps this will help....
This looks like outdated Qt version.
( the PinchArea is available in QML since Qt 4.7.4). Do you have CSSU installed ? From the log it looks like you are just running PR 1.3, which has only Qt 4.7.0. :)

Basically -> no, CSSU == no modRana QML (but you can still use modRana with the classic GUI just fine :) )

7thd
2012-07-11, 05:13
Thats weird - this:
from __future__ import with_statement # for python 2.5
should be on the first line in /opt/modrana/modules/mod_location/gps_daemon.py.

Confirm V0.32.5 has it there (line 19).



Hotfix submitted, no need to manually edit anything, just update to V0.35.5 and try if GPS works. :)

This has seemingly no effect. Version 0.32.5 git:0164ac5 doesn't launch GPS either. See code
$ modrana
== modRana Starting ==
modRana: loading options
modRana: module: device_n900/device failed to load
Traceback (most recent call last):
File "modrana.py", line 293, in _loadModule
a = __import__(importName)
File "/opt/modrana/modules/device_modules/device_n900.py", line 31, in <module>
import hildon
ImportError: No module named hildon
modRana: no device module name providedloading the Neo device module as fail-safe
* device: A Neo FreeRunner modRana device-specific module (0.00 ms)
GTK GUI: size allocation <GdkRectangle at 0x2ef738>
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
* gui: A GTK GUI module (600.00 ms)
importing modules:
* menu: Handle menus (30.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* stats: Handles messages (10.00 ms)
* keys: A keyboard input handling module (10.00 ms)
* sketch: Sketching functionality (10.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
onlineServices: using integrated non-binary simplejson, install proper simplejson package for better speed
* onlineServices: A module for talking to various online services (310.00 ms)
* tracklog: Record tracklogs (0.00 ms)
* markers: A module handling markers on the map. (20.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* search: Search for POI (0.00 ms)
* route: Routes (100.00 ms)
* showPOI: Show POI on the map and in the menu. (10.00 ms)
@ location: using GPSD
* location: Supplies position info from a position source (0.00 ms)
* loadTracklogs: A sample pyroute module (10.00 ms)
* voice: Handle text to speach. (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (260.00 ms)
* notification: This module provides notification support. (0.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (0.00 ms)
* log: A modRana logging module (0.00 ms)
* storeTiles: Single-file-fs tile storage (30.00 ms)
* mapData: Handle downloading of map data (50.00 ms)
* animatedMapView: A sample pyroute module (0.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* info: A modRana information handling module (0.00 ms)
* turnByTurn: A turn by turn navigation module. (10.00 ms)
* positionMarker: A sample pyroute module (0.00 ms)
* tileserver: A modRana built-in tileserver (50.00 ms)
* clickHandler: handle mouse clicks (10.00 ms)
@ storePOI: POI database path:
@ /home/user/.modrana/poi/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (10.00 ms)
* projection: Projection code (lat/long to screen conversions) (0.00 ms)
* display: A platform independent display device control module (10.00 ms)
* icons: Draw icons (210.00 ms)
* cron: A GTK timing and scheduling module for modRana (0.00 ms)
* showGPX: draws a GPX track on the map (10.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
* mapView: Controls the view being displayed on the map (0.00 ms)
@ mapTiles: map folder path: /home/user/.modrana/maps
* mapTiles: Display map images (150.00 ms)
* units: a unit handling module (0.00 ms)
* textEntry: A module for handling text entry. (10.00 ms)
* messages: Handles messages (0.00 ms)
* options: Handle options (10.00 ms)
* example: A sample pyroute module (10.00 ms)
Loaded all modules in 1370.00 ms, initialising
icons: switched theme to: default
location: starting GPSD 1 second timer
location: enabling location
('location GPSD: connecting to GPSD failed', error(111, 'Connection refused'))
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/.modrana/tracklogs
* there are 2 tracklogs available
**
mapView: switching map drag mode to staticMapDrag
mapView: switching centering disable threshold to 2048
Initialization complete in 90.00 ms
** modRana startup timing **
# device: OpenMoko Neo FreeRunner (neo)
* modRana start (0 ms), 0/4361 ms
* imports done (333 ms), 333/4361 ms
* GUI creation (0 ms), 333/4361 ms
* window created (1080 ms), 1413/4361 ms
* map widget created (1 ms), 1414/4361 ms
* window finalized (11 ms), 1425/4361 ms
* all modules loaded (2590 ms), 4016/4361 ms
* all modules initialized (345 ms), 4361/4361 ms
** whole startup: 4361 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
icons: not found
GTK GUI: size allocation <GdkRectangle at 0x457398>
icons: not found
Shutting-down modules
storePOI: disconnecting from db
location: disabling location
location: stopping location failed GPSD instance has no attribute 'GPSDConsumer'

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)
modRana: saving options

mapTiles: automatic tile download management thread shutting down
modRana: options successfully saved
Shutdown complete
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
~ $

----------------------------------------------------------------------

#194 (http://modrana.org/trac/ticket/194) Cool, I'll be happy to wait for this fix. Tracklogging in my eyes is a top row feature of modRana

MartinK
2012-07-11, 11:05
Oh, now I see it:

modRana: module: device_n900/device failed to load
Traceback (most recent call last):
File "modrana.py", line 293, in _loadModule
a = __import__(importName)
File "/opt/modrana/modules/device_modules/device_n900.py", line 31, in <module>
import hildon
ImportError: No module named hildon
modRana: no device module name providedloading the Neo device module as fail-safe

I checked the modRana package dependencies and indeed - the python-hildon package is missing. :)

Your re-flash is probably what exposed this bug, as other users have probably already installed something, that has python-hildon as a dependency, so it works for them.

I've added the missing dependency in V0.31.6 - so please test. :)


Cool, I'll be happy to wait for this fix. Tracklogging in my eyes is a top row feature of modRana
Yep, fixing it is a high-priority task for me. :)

MetalGearSolid
2012-07-11, 17:14
@beermad

Using your perl script I am getting the following error -

DBD::SQLite::st execute failed: datatype mismatch: bind 5 type 1 as png at mapconvert line 80.

Any workaround ?


OK, I've got a working Perl script to import map tiles into the database.

At the moment, it won't run on the N900 itself, as I'm having a few problems getting the SQLite module to build on my scratchbox installation; I'll work on that over the next few days when I have spare time and see if I can get that working.

Dependencies: You'll need to install the Perl DBI and DBD-SQLite modules. These should be available from your disto's repositories (otherwise, get them from CPAN).

It took about 75 minutes to import my 200 000 tiles into the database on my dual-core Athlon machine; obviously this will vary depending on the speed of the machine it's done on. The script is interruptible - just hit Control-C and it'll shut down cleanly. Then restart at your leisure.

Getting it to work on an OS other than Linux is left as an exercise for the reader, as I'm happily Microsoft-free.

It demonstrates well the oft-mentioned clustering problem with FAT partitions; my tile files allocated 12.5G of space, whereas the store file is only 543M.

Instructions:

Download the script from http://www.beermad.org.uk/mapconvert

Either copy your ~/MyDocs/.maps directory to your Linux box or mount your MyDocs partition on it. Try to preserve the timestamps if copying (as they're recorded in the database, I assume they're used to work out if a new copy of any tile is needed if they've changed on the tile server) - for example, if using scp:
scp -pr ~/MyDocs/.maps mycomputer:/tmp

The script only works on tiles in the current working directory, so for each map-type, cd into the relevant directory:
cd /path/to/tile_directory

Then run the script (no parameters needed).

If necessary, copy the lookup.sqlite and store.sqlite.* files back to your N900.

If there are any tiles already in the database, it leaves them there and it doesn't try to over-write any if one it finds already exists (at some time I should change this so it does over-write if the tile file is newer).

If you already have tiles in a database, I recommend making a copy first, just in case anything goes wrong. I've tested the script a fair bit, but can't guarantee something won't screw up.

7thd
2012-07-11, 22:44
(...) users have probably already installed something, that has python-hildon as a dependency, so it works for them.

I've added the missing dependency in V0.31.6 - so please test. :) (...)

I've testdriven on a highway, because GPS launch was succesful :) and regular.
In earlier versions I connected to hotspot (other N900), too and downloaded maps without any problems. Downloading didn't happen, fix was OK I presume (at OSM I & Virtual Earth Hybrid layers/ zooms).
all proper simplejson package for better speed
* onlineServices: A module for talking to various online services (310.00 ms)
* tracklog: Record tracklogs (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* search: Search for POI (10.00 ms)
* route: Routes (100.00 ms)
* showPOI: Show POI on the map and in the menu. (10.00 ms)
* location: Supplies position info from a position source (10.00 ms)
* loadTracklogs: A sample pyroute module (10.00 ms)
* voice: Handle text to speach. (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (280.00 ms)
* notification: This module provides notification support. (0.00 ms)
* interfaceFeedback: A sample pyroute module (20.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (10.00 ms)
* log: A modRana logging module (0.00 ms)
* storeTiles: Single-file-fs tile storage (20.00 ms)
* mapData: Handle downloading of map data (70.00 ms)
* animatedMapView: A sample pyroute module (0.00 ms)
* input: Handle input from keyboard, buttons, etc. (10.00 ms)
* info: A modRana information handling module (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* tileserver: A modRana built-in tileserver (40.00 ms)
* clickHandler: handle mouse clicks (0.00 ms)
@ storePOI: POI database path:
@ /home/user/MyDocs/.maps/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (0.00 ms)
* display: A platform independent display device control module (0.00 ms)
* icons: Draw icons (250.00 ms)
* cron: A GTK timing and scheduling module for modRana (10.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* config: Handle configuration, options, and setup (0.00 ms)
* mapView: Controls the view being displayed on the map (0.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (120.00 ms)
* units: a unit handling module (10.00 ms)
* textEntry: A module for handling text entry. (10.00 ms)
* messages: Handles messages (10.00 ms)
* options: Handle options (10.00 ms)
* example: A sample pyroute module (0.00 ms)
Loaded all modules in 1430.00 ms, initialising
icons: switched theme to: default
location: starting GPSD 1 second timer
location: enabling location
** n900 - location: - GPS successfully activated **
n900 - location: activated
N900 rotation object initialized
N900: rotation object loaded
True
N900: key centred toggled
N900: key soundEnabled toggled
N900: application menu added
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 2 tracklogs available
**
display: keep display ON -> always
mapView: switching map drag mode to staticMapDrag
mapView: switching centering disable threshold to 2048
Initialization complete in 220.00 ms
** modRana startup timing **
# device: Nokia N900 (n900)
* modRana start (0 ms), 0/5263 ms
* imports done (333 ms), 333/5263 ms
* GUI creation (0 ms), 333/5263 ms
* window created (1030 ms), 1364/5263 ms
* map widget created (1 ms), 1365/5263 ms
* window finalized (49 ms), 1414/5263 ms
* all modules loaded (2803 ms), 4217/5263 ms
* all modules initialized (1046 ms), 5263/5263 ms
** whole startup: 5263 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
display: redraw ON (N900 window is active)
GTK GUI: size allocation <GdkRectangle at 0x4756a8>
icons: not found
Clicked, sending menu:screenClicked
Clicked, sending menu:screenClicked
Clicked, sending menu:screenClicked
GTK GUI: size allocation <GdkRectangle at 0x5d4ba0>
icons: not found
display: redraw OFF (N900 window is not active)
GTK GUI: size allocation <GdkRectangle at 0x5cff90>
display: redraw ON (N900 window is active)
display: redraw OFF (N900 window is not active)
display: redraw ON (N900 window is active)
Sending message: mapView:zoomOut
notification: message: zooming <b>out</b> to zl 9, timeout: 0.0
notification@dmod: message: zooming <b>out</b> to zl 9, timeout: 0.0
unassigned key pressed: F8
mapTiles: can't create folder /home/user/MyDocs/.maps/Virtual Earth Hybrid/9/261 for /home/user/MyDocs/.maps/Virtual Earth Hybrid/9/261/169.jpg
Shutting-down modules
storePOI: disconnecting from db
location: disabling location
n900 - location: stopping

shutdown imminent, committing all uncommitted tiles
storeTiles: sqlite commit OK

all tiles committed, breaking, goodbye :)
modRana: saving options

mapTiles: automatic tile download management thread shutting down
modRana: options successfully saved
Shutdown complete

Too bad i missed the first part of code I assume.

niboR
2012-07-12, 06:39
How good is it for tracking my time on a race track? Racechrono doesn't have maemo support (and I doubt it never will) and I have a spare N900 which I could mount on my bike to track my lap times. I've been searching for a software for that but haven't found one yet.

Read the the thread and couldn't find an answer so I'm just asking :rolleyes:

Evok
2012-07-12, 11:27
"This looks like outdated Qt version.
( the PinchArea is available in QML since Qt 4.7.4). Do you have CSSU installed ? From the log it looks like you are just running PR 1.3, which has only Qt 4.7.0.

Basically -> no, CSSU == no modRana QML (but you can still use modRana with the classic GUI just fine"

A Follow-up for Martin to your comments above:
My ignorance! I had installed CSSU Features & not the full CSSU! Once I installed the full CSSU, modRana QML works perfectly now. Thanx :D

Evok
2012-07-13, 15:30
Hi Martin, An issue I cannot solve in modRana.... When I plot a route (as per your instructions - Getting a route), from current position to the destination and I click on the "route" button, the screen shows geocoding start and starts counting up in seconds but nothing happens? Any ideas as to a solution?
Thanx :confused:

7thd
2012-07-15, 11:12
In earlier versions I connected to hotspot (other N900), too and downloaded maps without any problems. Downloading didn't happen, (...)

Retested this: it´s not an issue; modRana flawlessly found erm Jakarta, Indonesia.

Wikiwide
2012-07-16, 09:52
Quick reply...
Not sure if it's the issue, Evok, but routing is (at least, now) only possible if Internet (more precisely, Google routing) is available. As far as I know, absence of Internet will not cancel the routing, so when Internet is turned on, the route is found (even if it is several hours later? as long as you haven't cancelled it by then).
If the behaviour ("geocoding..." instead of routing) persists when Internet is available, see if there are any errors logged. (Shrugging - I don't use routing (especially online routing) much (if at all), so I can only hope my advice helps).

Evok
2012-07-17, 09:19
Final outcome.... Thanks to 'Wikiwide' pointing me in the right direction and for Martins patience, I have now managed to get EVERYTHING to work in modRana, including spoken directions in English (using eSpeak) & more importantly the routing between two points. I think the problem was that I didn't realize that there HAD to be an internet connection for 'getting a route' (I used my home WiFi link)
Many thanx for a great APP. :cool:

Estel
2012-07-20, 12:17
Can't wait for Monav offline routing support :) Thumbs up!

MartinK
2012-07-20, 23:01
Final outcome.... Thanks to 'Wikiwide' pointing me in the right direction and for Martins patience, I have now managed to get EVERYTHING to work in modRana, including spoken directions in English (using eSpeak) & more importantly the routing between two points. I think the problem was that I didn't realize that there HAD to be an internet connection for 'getting a route' (I used my home WiFi link)
Many thanx for a great APP. :cool:
Nice to hear that ! :)

Can't wait for Monav offline routing support :) Thumbs up!
I'm actually currently working on routing in modRana to be more flexible, so that more features can be added and more routing providers supported.

Regarding Monav - do you (or someone else) know whats the status of Monav (or its routing daemon) on Fremantle ? I know that Marble is using it, but thats probably directly through the C++ API. Does Monav have a working CLI interface or Python bindings so that modRana can also interface with it ?

MartinK
2012-07-20, 23:26
Oh and by the way...

modRana V0.33.1 has been released !

Whats new ?

automatic rerouting
faster online routing
miscantelous


Automatic rerouting
ModRana now automatically reroutes if you leave the from the route.

How does it work ?
While following a route, modRana checks every 5 seconds the distance from all line segments that the route consists of and remembers the minimum distance. If the minimum distance is more than a given threshold (30 meters by default, can be changed in options->Navigation->Rerouting), it does 3 more checks in 1 second intervals, to weed out any temporary diversions or temporary GPS errors. If all 3 checks are positive, rerouting is triggered.

In short - the threshold defines a corridor around the route, if you leave it, modRana will reroute.

To prevent unnecessary reroutes, automatic rerouting is not activated until you "reach" the route for the first time. To "reach" a route just enter its "corridor".

Automatic rerouting is also disabled once you reach the destination of your current route.

How to check if automatic rerouting is enabled ?
Check out the navigation info box, there should be automatic rerouting enabled in the lower left corner.

How to completely disable automatic rerouting ?
In options->Navigation->Rerouting set Rerouting trigger distance to disabled.


Faster online routing
Start and destination address geocoding has been decoupled from online route search, making online route lookups faster. The address info is not lost - modRana simply triggers start & destination geocoding once the route detail menu is first entered.

Miscantelous

faster algorithms for computing geographic distance, based on code from Marble
cleaner route handling - needed for future work (including Wikiwides manual routing, adding support for more providers, restoring route on startup, routing on GPX files, etc.)

shady
2012-07-21, 16:06
why do i get a grey screen?

MartinK
2012-07-21, 16:37
why do i get a grey screen?
Can you provide some more information how you got the the gray screen in modRana ? Also, did you run modRana or modRana QML ?

magic_doc
2012-07-22, 10:12
Oh and by the way...

modRana V0.33.1 has been released !

[...]



Hello,

I have an issue with recording a track: as I understood it, modrana should record a point every single second and save the file all 10 seconds per default, that's right?
That does not work for me, it only records points when I switch on the display.
When I lock the device and continue traveling, the next time I unlock the device, it shows me my current position and a straight line from the last point to the current one without having recorded any points in between.

There were some issues concerning recording in the past years and as I told you it is a clean reinstall, could anyone try to reproduce this to verify it is a bug?

CU & HANW Michael

MartinK
2012-07-22, 10:51
Hello,

I have an issue with recording a track: as I understood it, modrana should record a point every single second and save the file all 10 seconds per default, that's right?
That does not work for me, it only records points when I switch on the display.
When I lock the device and continue traveling, the next time I unlock the device, it shows me my current position and a straight line from the last point to the current one without having recorded any points in between.

There were some issues concerning recording in the past years and as I told you it is a clean reinstall, could anyone try to reproduce this to verify it is a bug?

CU & HANW Michael

There seems to be a regression in track-logging at the moment & I'm working on fixing it. :)

shady
2012-07-22, 15:29
thanks for the reply martink i appreciate it. is there a log for when the application starts up? either way the location indicator stays in the top left, no tiles load but the gps gets a lock. im not sure what to do.

thanks

MartinK
2012-07-22, 22:46
thanks for the reply martink i appreciate it. is there a log for when the application starts up? either way the location indicator stays in the top left, no tiles load but the gps gets a lock. im not sure what to do.

thanks
Just start modRana in xterm by typing this:
modrana
And post the output. :)

Ken-Young
2012-07-23, 00:29
[...]
Automatic rerouting
ModRana now automatically reroutes if you leave the from the route.

How does it work ?
While following a route, modRana checks every 5 seconds the distance from all line segments that the route consists of and remembers the minimum distance. If the minimum distance is more than a given threshold (30 meters by default, can be changed in options->Navigation->Rerouting),
[...]
[/LIST]

Thanks for adding automatic rerouting. Rather than using a fixed distance to trigger rerouting, would it not make sense to adjust the trigger radius based on the Horizontal Dilution Of Precision (HDOP)? If the trigger were, for example, 3 x HDOP then the program would automatically increase its tolerance for being off-route when the quality of the location information degraded. That seems to me to be the right behavior.

shady
2012-07-23, 06:59
/home/user # modrana
== modRana Starting ==
modRana: loading options
process 8740: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5757.
This is normally a bug in some application using the D-Bus library.
process 8740: arguments to dbus_connection_set_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5721.
This is normally a bug in some application using the D-Bus library.
Aborted


heres the output, thanks

MartinK
2012-07-24, 12:18
Thanks for adding automatic rerouting. Rather than using a fixed distance to trigger rerouting, would it not make sense to adjust the trigger radius based on the Horizontal Dilution Of Precision (HDOP)? If the trigger were, for example, 3 x HDOP then the program would automatically increase its tolerance for being off-route when the quality of the location information degraded. That seems to me to be the right behavior.
Thats a good point and I really do want to integrate HDOP in the rerouting-check calculation. But as there might be another causes for false-alerts, namely routes that were mapped with a slight offset or routes that were mapped correctly, but then reduced in point count to reduce storage space (eq. you might get a straight line for a slightly curved route in the routing result), I would still like to let the user to set the rerouting distance to some arbitrary number manually, to get rid of excessive reroutes in some cases.

IMHO, just using a HDOP multiple won't work - if you have a very good HDOP (say <1 m), the real route differing just 3 meters from the computed one would trigger rerouting. A very bad HDOP (>100m) would result in a 300+ m corridor.

I made a simple image, illustrating all the different terms:
http://www.modrana.org/images/modRana_rerouting.png
The corridor around the route has the width of 2 rerouting thresholds and the real world route slightly differs from the computed one.

Possible algorithms that take HDOP into account:

Algorithm nr. 1

just add the current HDOP to the rerouting threshold

Good HDOP (3 m)
Threshold is increased only slightly.
EXAMPLE: 30 + 3
Bad HDOP (100 m)
Threshold increase should compensate for big HDOP.
EXAMPLE: 30 + 100

Algorithm nr. 2

if HDOP > 1/3*threshold, add HDOP to threshold

Good HDOP (3 m)
Threshold is not increased.
EXAMPLE: 30
Bad HDOP (100 m)
HDOP is added to the threshold.
EXAMPLE: 30 + 100

Algorithm nr. 3:

check if HDOP < (1/2)*rerouting_threshold (in meters)
if its larger, them rerouting threshold = 2*HDOP

Good HDOP (3 m)
Threshold is not increased.
EXAMPLE: 30
Bad HDOP(3 m)
Threshold is 2*HDOP.
EXAMPLE: 200

Algorithm nr. 4:

check if HDOP < (1/3)*rerouting_threshold (in meters)
if its larger, them rerouting threshold = 3*HDOP

Good HDOP (3 m)
Threshold is not increased.
EXAMPLE: 30
Bad HDOP(3 m)
Threshold is 3*HDOP.
EXAMPLE: 300

So what do you think ? Which one is the best and/or better algorithms come to your mind ? :)

And thanks a lot for the donation ! :D I'm sending your postcard right away. :)

/home/user # modrana

Looks like you are starting modRana from xterm as root (as evident due with the # in your shell) - that won't work (just checked it at my N900, got the same error). Try to run it as a normal user. :)

shady
2012-07-24, 13:59
~ $ modrana
== modRana Starting ==
modRana: loading options
N900: dbus initialized
N900 device specific module initialized
* device: A N900 modRana device-specific module (850.00 ms)
GTK GUI: size allocation <GdkRectangle at 0x3133c0>
error in screen invalidating functionexception: 'NoneType' object has no attribute 'invalidate_rect'
* gui: A GTK GUI module (170.00 ms)
importing modules:
* menu: Handle menus (50.00 ms)
* location: Supplies position info from a position source (0.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
* interfaceFeedback: A sample pyroute module (0.00 ms)
* animatedMapView: A sample pyroute module (10.00 ms)
* icons: Draw icons (10.00 ms)
* cron: A GTK timing and scheduling module for modRana (0.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* stats: Handles messages (10.00 ms)
* onlineServices: A module for talking to various online services (200.00 ms)
* options: Handle options (0.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (180.00 ms)
* display: A platform independent display device control module (230.00 ms)
* log: A modRana logging module (10.00 ms)
* projection: Projection code (lat/long to screen conversions) (0.00 ms)
* loadTracklogs: A sample pyroute module (10.00 ms)
* notification: This module provides notification support. (0.00 ms)
* route: Routes (100.00 ms)
* mapData: Handle downloading of map data (40.00 ms)
@ storePOI: POI database path:
@ /home/user/MyDocs/.maps/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (50.00 ms)
* storeTiles: Single-file-fs tile storage (10.00 ms)
* markers: A module handling markers on the map. (0.00 ms)
* example: A sample pyroute module (10.00 ms)
* units: a unit handling module (0.00 ms)
* showPOI: Show POI on the map and in the menu. (10.00 ms)
* info: A modRana information handling module (0.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* search: Search for POI (0.00 ms)
* clickHandler: handle mouse clicks (20.00 ms)
* messages: Handles messages (10.00 ms)
* sketch: Sketching functionality (0.00 ms)
* tracklog: Record tracklogs (0.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (30.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* voice: Handle text to speech. (10.00 ms)
* tracklogManager: Module for managing tracklogs (0.00 ms)
* config: Handle configuration, options, and setup (0.00 ms)
* showOSD: Draw OSD (On Screen Display). (0.00 ms)
* tileserver: A modRana built-in tileserver (30.00 ms)
* mapView: Controls the view being displayed on the map (0.00 ms)
Loaded all modules in 1070.00 ms, initialising
icons: switched theme to: default
location: starting GPSD 1 second timer
location: enabling location
** n900 - location: - GPS successfully activated **
n900 - location: activated
N900 rotation object initialized
N900: rotation object loaded
True
N900: key centred toggled
N900: key rotateMap toggled
N900: application menu added
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 10 tracklogs available
**
mapView: switching map drag mode to default
mapView: switching centering disable threshold to 2048
display: keep display ON -> while there is a GPS fix
Initialization complete in 250.00 ms
** modRana startup timing **
# device: Nokia N900 (n900)
* modRana start (0 ms), 0/8260 ms
* imports done (634 ms), 634/8260 ms
* GUI creation (0 ms), 634/8260 ms
* window created (1988 ms), 2623/8260 ms
* map widget created (1 ms), 2624/8260 ms
* window finalized (54 ms), 2678/8260 ms
* all modules loaded (3470 ms), 6148/8260 ms
* all modules initialized (2113 ms), 8260/8260 ms
** whole startup: 8260 ms **
display: redraw ON (window not hidden or minimised)
TypeError: update() takes exactly 1 argument (2 given)
display: redraw ON (N900 window is active)
GTK GUI: size allocation <GdkRectangle at 0x2f28c0>
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
icons: not found
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
mapTiles: exception while drawing the map layer: float division
Traceback (most recent call last):
File "/opt/modrana/modules/mod_mapTiles.py", line 498, in drawMap
cx1,cy1 = (sw*(cx-px1)/pdx,sh*(cy-py1)/pdy) #this is basically the pxpy2xy function from mod_projection inlined
ZeroDivisionError: float division
display: redraw OFF (N900 window is not active)

boom! thanks again, appreciate the help

MartinK
2012-07-24, 23:23
boom! thanks again, appreciate the help
Thanks for the log ! I remember somebody mentioning a similar problem (that zero division error + gray screen) some time ago, but I was not able to reproduce it. Could you send me your /home/user/.modrana/options.bin file ? This is where modRana stores all its in-application-configurable settings. By loading your settings from this file, I 'might be able to reproduce the issue & fix it for good. Thanks a lot! :)

BTW, .modrana is a hidden folder, that is normally not visible from the file manager. But you can easily copy the file to MyDocs like this in the terminal:

cp /home/user/.modrana/options.bin /home/user/MyDocs/

Or move it there:

mv /home/user/.modrana/options.bin /home/user/MyDocs/

If modRana won't find the file, it will generate a new one, which might (temporarily ?) fix the issue.

7thd
2012-07-25, 05:32
If modRana won't find the file, it will generate a new one, which might (temporarily ?) fix the issue.
(sidenote) I don´t have the same issue. But happened to notice that with every boot ModRana starts the same map layer and language etc. (whether or not I had changed them during last run).
So I looked for options.bin as well, but it wasn´t there to be found. I had [Show hidden files] on btw.

shady
2012-07-25, 16:10
sent in a PM

Ken-Young
2012-07-26, 03:22
Thats a good point and I really do want to integrate HDOP in the rerouting-check calculation. But as there might be another causes for false-alerts, namely routes that were mapped with a slight offset or routes that were mapped correctly, but then reduced in point count to reduce storage space (eq. you might get a straight line for a slightly curved route in the routing result), I would still like to let the user to set the rerouting distance to some arbitrary number manually, to get rid of excessive reroutes in some cases.

IMHO, just using a HDOP multiple won't work - if you have a very good HDOP (say <1 m), the real route differing just 3 meters from the computed one would trigger rerouting. A very bad HDOP (>100m) would result in a 300+ m corridor.

...

Possible algorithms that take HDOP into account:

Algorithm nr. 1
...

Algorithm nr. 2
...
Algorithm nr. 3:
...
Algorithm nr. 4:

check if HDOP < (1/3)*rerouting_threshold (in meters)
if its larger, them rerouting threshold = 3*HDOP



I think there's no real solution for the case that the route is offset or the route has been compressed by reducing the point count. Those problems may lead to unneeded reroutings however the threshold is set. The only solution is to not let the threshold get too small, no matter how it's defined.

I like your algorithm 4. You set a floor below which the threshold cannot fall, and have no discontinuity at the point where you start using HDOP information. If the HDOP is a one standard deviation radius, then 3 standard deviations is a good threshold.

It's nice that you're adding more parameters for us to tweak. One little advantage our poor orphaned OS has is that at this point it is likely that nearly all N900 owners are geeks. Somebody writing an Android app can't assume his users like to fiddle with the app's parameters, but we can.

sup
2012-08-07, 14:00
Is it possible to store downloaded tiles somewhere else then in .maps folder? (i do not want them to be shared with mappero)

shady
2012-08-07, 16:50
MartinK, were you able to find anything out using the file i sent?

woody14619
2012-08-07, 17:17
Is it possible to store downloaded tiles somewhere else then in .maps folder? (i do not want them to be shared with mappero)

I believe you can change where the maps are stored in the settings area. The default is the shared location for several apps (mappero and others). Why would you not want to share tiles across mapping programs?

sup
2012-08-07, 18:28
I believe you can change where the maps are stored in the settings area. The default is the shared location for several apps (mappero and others). Why would you not want to share tiles across mapping programs?

Because of this (http://talk.maemo.org/showthread.php?t=74415). And since I opted for sqlite, it does not share maps anyway.


Well, I did not find it in the settings. Just option to use sqlite or not. Am I being blind? If so, could you be more specific where in the settings it is hidden.

rotoflex
2012-08-08, 07:39
Storage location for the map tiles is defined in an editable configuration file.

I can't remember the name of the file or its location, but it's mentioned somewhere in this thread.

sup
2012-08-08, 07:59
Storage location for the map tiles is defined in an editable configuration file.

I can't remember the name of the file or its location, but it's mentioned somewhere in this thread.

Ah, I see, it is in ~/.modrana/user_config.conf and the option is map_folder

Thanks!

MartinK
2012-08-09, 10:10
I like your algorithm 4. You set a floor below which the threshold cannot fall, and have no discontinuity at the point where you start using HDOP information. If the HDOP is a one standard deviation radius, then 3 standard deviations is a good threshold.

OK then, looks like I'll implement number 3. :)


It's nice that you're adding more parameters for us to tweak. One little advantage our poor orphaned OS has is that at this point it is likely that nearly all N900 owners are geeks. Somebody writing an Android app can't assume his users like to fiddle with the app's parameters, but we can.
Yeah, thats quite nice ! :) Still, good applications should be usable (in their default state) even for non-geeks but be configurable enough to satisfy advanced users.

MartinK, were you able to find anything out using the file i sent?

Sorry, I haven't got to it yet - I was on vacation + was rewriting track logging + testing the new track logging & rerouting (while on vacation - both work just fine with 130 km/h+ on the Autobahn :) ). I'll check it out right away.

Ah, I see, it is in ~/.modrana/user_config.conf and the option is map_folder
There are other useful options in this configuration file:

tracklog storage path
placement of map-screen buttons (per mode)
widget configuration (per mode)

user_config.conf (https://github.com/M4rtinK/modrana/blob/master/data/default_configuration_files/user_config.conf)
(It's quite heavily documented)

There is also another configuration file, used for configuring map layers:
map_config.conf (https://github.com/M4rtinK/modrana/blob/master/data/default_configuration_files/map_config.conf)

MartinK
2012-08-09, 11:14
modRana V0.34.1 has been released !

Well, it was actually released yesterday. :)

Whats new ?

* more efficient and robust track logging
* logging is incremental and does not slow down as the tracklog gets longer
* logging to two separate temporary files for more robustness against software or device crash
* modRana check for temporary tracklog files from last session on startup and exports them to GPX
* fix logging trace not displaying properly
* drawing the logging trace should now be also more efficient
* the distict color selector now has captions in the target colors

cantruchd
2012-08-14, 02:02
I encounter this error all the time:
Exception in thread Thread-22:
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/opt/modrana/modules/mod_mapTiles.py", line 1042, in run
self.callback.storeInMemmory(tileDownloadFailedSur face,self.name,'semiPermanentError',expireTimestam p)
UnboundLocalError: local variable 'tileDownloadFailedSurface' referenced before assignment


It appear when the tile get downloaded and prepare to show, the screen just appear "loading..." and no map shown.

And regarding language routing, I am a native Vietnamese speaker, please tell me what I can to to make Modrana speaks Vietnameses :) as English voice cannot pronounce Vietnamese street names

MartinK
2012-08-18, 22:03
I like your algorithm 4. You set a floor below which the threshold cannot fall, and have no discontinuity at the point where you start using HDOP information. If the HDOP is a one standard deviation radius, then 3 standard deviations is a good threshold.

Oops, sorry, I meant number 4. :)

MartinK
2012-08-18, 22:34
I encounter this error all the time:
Exception in thread Thread-22:
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/opt/modrana/modules/mod_mapTiles.py", line 1042, in run
self.callback.storeInMemmory(tileDownloadFailedSur face,self.name,'semiPermanentError',expireTimestam p)
UnboundLocalError: local variable 'tileDownloadFailedSurface' referenced before assignment

It appear when the tile get downloaded and prepare to show, the screen just appear "loading..." and no map shown.

Thanks, I'll check it out. :)


And regarding language routing, I am a native Vietnamese speaker, please tell me what I can to to make Modrana speaks Vietnameses :) as English voice cannot pronounce Vietnamese street names
Looks like Google provides directions in Vietnamese (https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1) and Espeak (http://espeak.sourceforge.net/languages.html)has (experimental) Vietnamese support. I'll add Vietnamese to the list of supported filters and it should appear in options->navigation->language->Language for directions once next modRana update is released. :)

BTW, any language supported by both Google (https://spreadsheets.google.com/pub?key=p9pdwsai2hDMsLkXsoM05KQ&gid=1) & Espeak (http://espeak.sourceforge.net/languages.html) can be used in modRana. Any other requests ? :)

MartinK
2012-08-19, 14:46
So I've released an update (V0.34.4, that has Vietnamese language support for directions (looks like it was actually already here, but a bug in paged item menu caused that it was not visible in the menu :) ) and directions filter improvements from Geoff Kuenning (who already helped to improve spoken directions last summer). Thanks Geoff ! :)

How to enable spoken direction in Vietnamese (or any other supported language) ?

Select the language in Options->Navigation->Language->Language for directions. :)

Please not that the distance announcements are not (yet) translated and are in English for all languages.

7thd
2012-08-21, 21:05
So I looked for options.bin as well, but it wasn´t there to be found.

I re-placed options.bin which solved my issue. The desired reload of configured options does take place again with this file present.
Switching between Modes goes fairly well, too.

cantruchd
2012-08-22, 15:32
I encounter this error all the time:
Exception in thread Thread-22:
Traceback (most recent call last):
File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/opt/modrana/modules/mod_mapTiles.py", line 1042, in run
self.callback.storeInMemmory(tileDownloadFailedSur face,self.name,'semiPermanentError',expireTimestam p)
UnboundLocalError: local variable 'tileDownloadFailedSurface' referenced before assignment


It appear when the tile get downloaded and prepare to show, the screen just appear "loading..." and no map shown.

And regarding language routing, I am a native Vietnamese speaker, please tell me what I can to to make Modrana speaks Vietnameses :) as English voice cannot pronounce Vietnamese street names

@MartinK, I think I figured out the problem:

First, I accidentally use volume button to change volume,but instead I change the zoom level to around 56.

there is no map at this zoom level, so there was a http exception

you catched this exception,however, the variable are not assigned, that's what the error show.

So I fixed by change zoom level and also put line 1043 and 1044 before line 1042.

Hope this helps

MartinK
2012-08-27, 15:13
@MartinK, I think I figured out the problem:

First, I accidentally use volume button to change volume,but instead I change the zoom level to around 56.

there is no map at this zoom level, so there was a http exception

you catched this exception,however, the variable are not assigned, that's what the error show.

So I fixed by change zoom level and also put line 1043 and 1044 before line 1042.

Hope this helps
Thanks ! Fixed in this commit (https://github.com/M4rtinK/modrana/commit/d4e38f00e5ddf65f81294f0de746fd97da2e71a3). :)

MartinK
2012-09-04, 18:36
modRana V0.34.5 has been released
Most importantly, this version fixes some issue that Saera (talk.maemo.org/showthread.php?t=84753) uses had with the CLI initiated search queries (Saera currently uses modRana to handle searches for various kinds of food in the near vicinity). Other than that, search queries should be now more robust and generally a bit better to use.

I've also fixed a bug, that caused the cancel button of the search work-in-progress overlay to also trigger any other underlying buttons (like for example the centering toggle button).

Changelog:

* fix CLI search failing if the device is offline when the search is initiated
* this should improve the food search in Saera
* wait for GPS fix & Internet connectivity to be established by searches that need it
* fix work-in-progress overlay "cancel" button also triggering buttons in the layer below

magic_doc
2012-09-07, 09:36
Hi MartinK,

thanks for your continous work on this project!

First of all, modrana-qml is no longer workling for me, see attached text-file for the output when started in xterm.

Much more important for me is the display of tracks generated by the webiste http://www.gpsies.com (http://www.gpsies.com/createTrack.do).
I use these for planing bicycle-tours and follow the tracks to not get lost somewhere, recording it at the same time to improve OSM´s data when necessary.

When I create a track there and display it at modrana, it looks like this:
http://talk.maemo.org/attachment.php?attachmentid=28412&stc=1&d=1347009537
You can see a wrong straight line between some trackpoints. In this track there are only two, but I also had tracks with three or five of them making it hard to figure out what is the right way to go :mad:

In comparison to that, Mappero shows the track correctly:
http://talk.maemo.org/attachment.php?attachmentid=28413&stc=1&d=1347009730

I attached the zipped gpx-File, hope you can reproduce this issue.

CU Michael

MartinK
2012-09-09, 12:28
Hi MartinK,

thanks for your continous work on this project!

First of all, modrana-qml is no longer workling for me, see attached text-file for the output when started in xterm.

Much more important for me is the display of tracks generated by the webiste http://www.gpsies.com (http://www.gpsies.com/createTrack.do).
I use these for planing bicycle-tours and follow the tracks to not get lost somewhere, recording it at the same time to improve OSM´s data when necessary.

When I create a track there and display it at modrana, it looks like this:
http://talk.maemo.org/attachment.php?attachmentid=28412&stc=1&d=1347009537
You can see a wrong straight line between some trackpoints. In this track there are only two, but I also had tracks with three or five of them making it hard to figure out what is the right way to go :mad:

In comparison to that, Mappero shows the track correctly:
http://talk.maemo.org/attachment.php?attachmentid=28413&stc=1&d=1347009730

I attached the zipped gpx-File, hope you can reproduce this issue.

CU Michael
Thanks a lot! I'm now putting a few finishing touches on a modRana feature related to the coding competition but I'll check out your issue right away once I'm done. :)

melisa queen
2012-09-09, 18:27
Hi Martink,
Now I am the one of the user that uses your awesome application :)
Thank you for this great application :)
I have the same problem as magic_doc "First of all, modrana-qml is no longer workling for me"! Please help me to solve the issue!
And is there any way to add Persian language support?!
In old Symbian devices its one of my favorite feature to use Persian voice for routing ;)

Best wishes

EDIT: The Modrana and the modrana-qml didnt open for me after update to V0.34.5! :(

MartinK
2012-09-10, 00:18
Hi Martink,
Now I am the one of the user that uses your awesome application :)
Thank you for this great application :)

You are welcome! :)


I have the same problem as magic_doc "First of all, modrana-qml is no longer workling for me"! Please help me to solve the issue!

I think I already know the root cause (GTK and Qt not mixing very well) and I'm working on a fix.


And is there any way to add Persian language support?!
In old Symbian devices its one of my favorite feature to use Persian voice for routing ;)

Looks doable - both Google Directions (https://spreadsheets.google.com/spreadsheet/pub?key=0Ah0xU81penP1cDlwZHdzYWkyaERNc0xrWHNvTTA1S 1E&gid=1) and the Espeak TTS engine (http://sourceforge.net/projects/espeak/forums/forum/538922/topic/5271942) should support Farsi.


EDIT: The Modrana and the modrana-qml didnt open for me after update to V0.34.5! :(
Try to update to 0.35.6. If the problem persists, try to run modRana from the terminal:

modrana

And post the output here. :)

taixzo
2012-09-10, 01:03
...try to run modRana from the terminal:

modrana

And post the output here. :)

Just FYI - I haven't been able to run modRana this way, it says it isn't found. I have to do python /opt/modrana/modrana/py instead.

MartinK
2012-09-10, 01:17
modRana V0.35.6 has been relased

The main feature if this release is initial support for OFFLINE ROUTING!

How does it work ?

searches for routes without the need for Internet connection
routes much faster than online routing
mode based results (Car, Walk, Cycle; Bus & Train get results for Car)
uses monav-server as backend


Enable offline routing in 6 easy steps

download routing data
Compatible routing data packs are available from monav.openstreetmap.de (http://monav.openstreetmap.de/). Just download a relevant pack for your area. :)
It can be also done directly on the N900 like in this example:

cd MyDocs
wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip


unpack it to the Monav data folder
This is the main Monav routing data folder:

/home/user/MyDocs/.maps/monav_data

The .maps folder is normally visible by default when connecting the N900 in USB mass-storage mode to Windows PCs, on Linux PCs you have to enable Show hidden files/folders to see it.
If there is no monav_data folder in .maps, create it:

cd MyDocs/.maps
mkdir monav_data

and unzip you data packs into it.

Example (continuing where we left):

unzip Czech_Republic.zip -d .maps/monav_data/


You should get paths similar to these:

/home/user/MyDocs/.maps/monav_data/Czech_Republic
/home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_bike
/home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car
/home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian


Optional
As their content is not currently used, you can remove the rendering_osm and rendering_vector folders.

start modRana
select preferred map data pack
Go to menu->options->Navigation->Routing data and select a Monav data pack to use.

select Monav as routing backend
In Go to menu->options->Navigation->Routing and select Monav as Routing provider.
route :)


Known issues

directions are very basic
Monav actually doesn't return a turn type, so I'll have to add an algorithm that detects different turn types and assigns corresponding description (Marble also does it like this).
some turns are missed
Monav actually doesn't return turns at all - just points for the route & name + type for the route edges. So an algorithm that analyses all edge junctions on the route and decides what is turn and what is not (based on sharp turns, edges changing type or name, etc.). Currently every route type change is just used to trigger turn.
no address2address offline routing
The Monav GUI can be used for offline address search - I'll have to investigate if the same functionality can be used over the monav-server (http://code.google.com/r/thomasmiedema-python/source/browse/routingdaemon/routingserver.cpp) API.


Planed features

modRana project hosted repository with up-to-date data packs
built-in map pack downloader & updater

taixzo
2012-09-10, 01:54
Wow!! Awesome!!!

Whispering Weasel
2012-09-10, 06:39
I don!t have monav installed and V0.35.6 didn't start for me at first (both normal and qml version), creating the monav dir ( mkdir /home/user/MyDocs/.maps/monav_data ) fixed that for the normal version.
modrana-qml now gives a segfault:

== modRana Starting ==
V0.35.6 git:c6483c5

modRana: loading options
N900: DBUS initialized
N900 Qt screen saver controller created
N900 device specific module initialized
* device: A N900 modRana device-specific module (1060.00 ms)
modules/gui_modules/gui_qml/gui_qml.py:93: Warning: g_object_get: assertion `G_IS_OBJECT (object)' failed
self.app = QApplication(sys.argv)
* gui: A Qt + QML GUI module (3510.00 ms)
importing modules:
* mapView: Controls the view being displayed on the map (10.00 ms)
* notification: This module provides notification support. (20.00 ms)
* units: a unit handling module (0.00 ms)
* options: Handle options (10.00 ms)
* markers: A module handling markers on the map. (20.00 ms)
* interfaceFeedback: A sample pyroute module (10.00 ms)
* stats: Handles messages (0.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* info: A modRana information handling module (0.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (10.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (80.00 ms)
* textEntry: A module for handling text entry. (10.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
* onlineServices: A module for talking to various online services (150.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* showPOI: Show POI on the map and in the menu. (10.00 ms)
* sketch: Sketching functionality (10.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* icons: Draw icons (30.00 ms)
* mapData: Handle downloading of map data (60.00 ms)
* updateTiles: Update stored map tiles. (0.00 ms)
* route: Routes (640.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
* projection: Projection code (lat/long to screen conversions) (10.00 ms)
* messages: Handles messages (0.00 ms)
@ storePOI: POI database path:
@ /home/user/MyDocs/.maps/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (60.00 ms)
* log: A modRana logging module (10.00 ms)
* animatedMapView: A sample pyroute module (0.00 ms)
* search: Search for POI (20.00 ms)
* tracklogManager: Module for managing tracklogs (20.00 ms)
* config: Handle configuration, options, and setup (10.00 ms)
* cron: A Qt timing and scheduling module for modRana (0.00 ms)
* tracklog: Record tracklogs (20.00 ms)
* example: A sample pyroute module (0.00 ms)
* voice: Handle text to speech. (0.00 ms)
* display: A platform independent display device control module (10.00 ms)
* storeTiles: Single-file-fs tile storage (20.00 ms)
* tileserver: A modRana built-in tileserver (10.00 ms)
@ location: using Qt Mobility
importing Qt Mobility
Qt Mobility imported
location Qt Mobility: position source created
* location: Supplies position info from a position source (260.00 ms)
* showOSD: Draw OSD (On Screen Display). (10.00 ms)
* menu: Handle menus (40.00 ms)
* loadTracklogs: A sample pyroute module (0.00 ms)
* clickHandler: handle mouse clicks (20.00 ms)
Loaded all modules in 1610.00 ms, initialising
showPOI: 8 visible POI restored
location: enabling location
location qt mobility: started
display: keep display ON -> never :)
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 20 tracklogs available
**
mapView: switching map drag mode to default
mapView: switching centering disable threshold to 2048
options: reloading Monav data pack list
Initialization complete in 160.00 ms
** modRana startup timing **
# device: Nokia N900 (n900)
* modRana start (0 ms), 0/20060 ms
* imports done (998 ms), 998/20060 ms
* GUI creation (1 ms), 998/20060 ms
* all modules loaded (17386 ms), 18384/20060 ms
* all modules initialized (1676 ms), 20060/20060 ms
** whole startup: 20060 ms **
Preloading theme "blanco" from cache
GET
(u'currentTheme', u'default', 'default')
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:47: Unable to assign [undefined] to int status
Segmentation fault

don_falcone
2012-09-10, 07:57
Question; the routing data sets have to be a specific version? AFAIK the ones available on Monav wiki are at least 1,5yrs old, and not compatible with current Monav revisions; i.e. those that f.e. render street names.

MartinK
2012-09-10, 11:32
Just FYI - I haven't been able to run modRana this way, it says it isn't found. I have to do python /opt/modrana/modrana.py instead.
The package installs a startup shell script called modrana to /usr/bin/. As /usr/bin/ is in path, it should work :)

But the startup script currently doesn't accept command-line options, so if you want to use the modRana CLI options, you need to run /opt/modrana/modrana.py directly.

I don!t have monav installed and V0.35.6 didn't start for me at first (both normal and qml version), creating the monav dir ( mkdir /home/user/MyDocs/.maps/monav_data ) fixed that for the normal version.

Thanks ! Fixed in 0.35.7 :)


modrana-qml now gives a segfault:

I'm looking into this.

BTW, during the competition voting period, modRana will be in fix-only mode. :)

Question; the routing data sets have to be a specific version? AFAIK the ones available on Monav wiki are at least 1,5yrs old, and not compatible with current Monav revisions; i.e. those that f.e. render street names.
I'm using Monav compiled from the thomasmiedema-python (http://code.google.com/r/thomasmiedema-python/source/browse) branch, which should be up-to-date and contains some additional patches for the Python/TCP/Protocol buffer interface modRana is using. And it works with the old data just fine. :)

But I have tested only the routing daemon/server, not the Monav client itself. Also haven't yet tested with data generated by the latest preprocessor.

melisa queen
2012-09-10, 11:58
@Martink
Thank you, I updated to the latest version, now the modrana is working :)
But modrana-qml is not in a good condition! I opened it, then it was closed very fast!
When do you have a plan to add Farsi support for modrana Martik?!:)
I also couldn't find Iran map for routing in the link that you mentioned above! Just Asia.zip and it is about 3.6 GB :(
Is there any link that I can download only Iran map for offline routing?!:)

jankratochvil
2012-09-10, 13:39
I was getting with 0.35.7:
Sending message: route:clearRoute|md:route:route:type=ll2ll;fromLat =49.900000;fromLon=15.500000;toLat=50.476912;toLon =15.646266;
Routing 49.900000,15.500000 to 50.476912,15.646266
routing: using Monav as routing provider
Monav data folder:
/home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car
True
route: Monav route lookup failed
No module named google.protobuf
Traceback (most recent call last):
File "/opt/modrana/modules/mod_route/mod_route.py", line 381, in getMonavRoute
import monav_support
File "/opt/modrana/modules/mod_route/monav_support.py", line 29, in <module>
import monav
File "/opt/modrana/modules/mod_route/monav.py", line 27, in <module>
from signals_pb2 import CommandType, VersionCommand, VersionResult, RoutingCommand, RoutingResult
File "/opt/modrana/modules/mod_route/signals_pb2.py", line 3, in <module>
from google.protobuf import descriptor
ImportError: No module named google.protobuf
notification: message: offline routing failed, timeout: 5.0

This got fixed by:
apt-get install python-protobuf

But now it is still not much better:
Sending message: route:clearRoute|md:route:route:type=ll2ll;fromLat =50.763274;fromLon=15.269291;toLat=50.476912;toLon =15.646266;
Routing 50.763274,15.269291 to 50.476912,15.646266
routing: using Monav as routing provider
Monav data folder:
/home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car
True
monav_support: starting Monav server
monav_support: starting monav server in:
modules/mod_route/monav_armv7/monav-server
Starting MoNav TcpServer on port 8040
monav_support: Monav server started
monav: starting route search
Reading message of size: 2
Reading message of size: 114
found plugin: "Contraction Hierarchies"
found plugin: "GPS Grid"
loaded: "Car" ""
GPS Lookup: 12 ms
GPS Lookup: 12 ms
Routing: 44 ms
Posting message of size: 20680
monav_support: routing failed
Not all bytes of message received.
Traceback (most recent call last):
File "/opt/modrana/modules/mod_route/monav_support.py", line 121, in monavDirections
connection = connection)
File "/opt/modrana/modules/mod_route/monav.py", line 146, in get_route
connection.read(result)
File "/opt/modrana/modules/mod_route/monav.py", line 76, in read
raise Exception('Not all bytes of message received.')
Exception: Not all bytes of message received.
notification: message: offline routing failed, timeout: 5.0
notification@dmod: message: offline routing failed, timeout: 5.0
Sending message: mapView:recentreToPos

Marble is routing here fine via MoNav.
Is it due to the incompatibility with MonAv from Extras-devel?

macey
2012-09-10, 20:17
Noob question:-
Which Monav do I have to install to get the offline routing working? I have tried monav-routing-daemon. modRana just waits for the Internet connection.
I have loaded the map data:

MoNav.ini routing_car
address_unicode_tournament_trie routing_pedestrian
routing_bike
user@N900-2:~/MyDocs/.maps/monav_data/British_Isles$



And done the configuration. Cant get offline routing working.
Help much appreciated.

macey
2012-09-11, 08:15
Unashamed self-bump.:)

MartinK
2012-09-11, 12:55
@Martink
Thank you, I updated to the latest version, now the modrana is working :)
But modrana-qml is not in a good condition! I opened it, then it was closed very fast!

the same thing also happens on my device and I'm working on a fix.


When do you have a plan to add Farsi support for modrana Martik?!:)

Most probably right after the coding competition feature freeze - its not yet working correctly on the Espeak side anyway and I'll have to contact the Maemo Espeak package maintainer.

I have also filled in "add Farsi support" ticket (http://modrana.org/trac/ticket/212) on the modRana project issue tracker. If you post a comment on it, I think you should get a notifications email about any changes (eq. when its implemented or more information becomes available).


I also couldn't find Iran map for routing in the link that you mentioned above! Just Asia.zip and it is about 3.6 GB :(
Is there any link that I can download only Iran map for offline routing?!:)
I think that if you delete the rendering_ subfolders after unpacking it, it should take up much less space. But I'll also try to check if there are some other repositories with compatible Monav routing data that have it.

I was getting with 0.35.7:

This got fixed by:

But now it is still not much better:

Marble is routing here fine via MoNav.

Missing python-protobuf dependency & routing failing on the first route should both be fixed in V0.35.9. :)
The second one was probably caused by a race condition during the monav-server startup (the server is started once modRana gets a first offline-routing request and is stopped on modRana shutdown). I've set the communication socket to be blocking and it doesn't happen anymore.

It is also not dependent in any way on the Monav package used by Marble - its ARM compiled binary lives in /opt/modrana/modules/mod_route/monav_armv7/. There is also a amd64 compiled binary in monav_amd64 for desktop testing, that will be removed from the N900 package in the near future to save space (about 300 kB).


And done the configuration. Cant get offline routing working.
Help much appreciated.
Try to update to V0.35.9 and see if it now works.
Also make sure that you have Monav selected in menu->options->Navigation->Routing as the routing provider. Also, offline routing currently doesn't support address 2 address routing - it will fall-back to online routing in this case.

BTW, I've "wikified" the ModRana offline routing guide (http://wiki.maemo.org/ModRana_offline_routing_guide). :)

guilledoc
2012-09-12, 01:09
Installed last version of modrana and I have done wat you say for offline route but I cant see any map. It keeps loading the map bu nothing shows?should I install monav from repos?:(

MetalGearSolid
2012-09-12, 01:18
The Monav data page for Marble has a lot of Motorway/Pedestrian maps. Some may be slightly outdated. They can be found here http://files.kde.org/marble/monav/2012-w29/

These do not follow the folder structure as that of Monav/Modrana, so you might have to create the folder structure and copy the Contraction hierarchies and GPSgrid files to the relevant routing folders.

MarkyboyUK
2012-09-13, 12:14
Modrana QML is no longer working for me since installing the latest version. Any ideas?

Thanks

$ modrana-qml
== modRana Starting ==
V0.35.9 git:853a8fc

modRana: loading options
N900: DBUS initialized
N900 Qt screen saver controller created
N900 device specific module initialized
* device: A N900 modRana device-specific module (950.00 ms)
modules/gui_modules/gui_qml/gui_qml.py:93: Warning: g_object_get: assertion `G_IS_OBJECT (object)' failed
self.app = QApplication(sys.argv)
* gui: A Qt + QML GUI module (2610.00 ms)
importing modules:
* icons: Draw icons (10.00 ms)
* info: A modRana information handling module (0.00 ms)
* updateTiles: Update stored map tiles. (10.00 ms)
* example: A sample pyroute module (0.00 ms)
* projection: Projection code (lat/long to screen conversions) (0.00 ms)
* showPOI: Show POI on the map and in the menu. (10.00 ms)
* animatedMapView: A sample pyroute module (20.00 ms)
* onlineServices: A module for talking to various online services (90.00 ms)
* showGPX: draws a GPX track on the map (0.00 ms)
* mapView: Controls the view being displayed on the map (0.00 ms)
* search: Search for POI (20.00 ms)
* voice: Handle text to speech. (10.00 ms)
* clickHandler: handle mouse clicks (30.00 ms)
* input: Handle input from keyboard, buttons, etc. (0.00 ms)
* units: a unit handling module (10.00 ms)
* askMenu: A sample pyroute module (0.00 ms)
@ location: using Qt Mobility
importing Qt Mobility
Qt Mobility imported
location Qt Mobility: position source created
* location: Supplies position info from a position source (180.00 ms)
* route: Routes (780.00 ms)
* tracklog: Record tracklogs (0.00 ms)
* stats: Handles messages (10.00 ms)
* config: Handle configuration, options, and setup (0.00 ms)
* options: Handle options (20.00 ms)
* notification: This module provides notification support. (10.00 ms)
* storeTiles: Single-file-fs tile storage (50.00 ms)
* keys: A keyboard input handling module (0.00 ms)
* log: A modRana logging module (0.00 ms)
* menu: Handle menus (40.00 ms)
* showOSD: Draw OSD (On Screen Display). (30.00 ms)
* interfaceFeedback: A sample pyroute module (10.00 ms)
* loadTracklogs: A sample pyroute module (30.00 ms)
* cron: A Qt timing and scheduling module for modRana (10.00 ms)
* messages: Handles messages (20.00 ms)
* positionMarker: A sample pyroute module (10.00 ms)
@ storePOI: POI database path:
@ /home/user/MyDocs/.maps/modrana_poi.db
@ storePOI: connection to POI db established
* storePOI: Store POI data. (50.00 ms)
* routeProfile: Creates a route profile (an elevation chart) (10.00 ms)
* tracklogManager: Module for managing tracklogs (10.00 ms)
* turnByTurn: A turn by turn navigation module. (0.00 ms)
* tileserver: A modRana built-in tileserver (0.00 ms)
* textEntry: A module for handling text entry. (0.00 ms)
* markers: A module handling markers on the map. (20.00 ms)
@ mapTiles: map folder path: /home/user/MyDocs/.maps/
* mapTiles: Display map images (70.00 ms)
* mapData: Handle downloading of map data (40.00 ms)
* sketch: Sketching functionality (10.00 ms)
* display: A platform independent display device control module (20.00 ms)
Loaded all modules in 1640.00 ms, initialising
showPOI: 9 visible POI restored
options: reloading Monav data pack list
location: enabling location
location qt mobility: started
"" ""
"" ""
display: keep display ON -> always
** making a list of available tracklogs
* using this tracklog folder:
* /home/user/MyDocs/tracklogs
* there are 1 tracklogs available
**
mapView: switching map drag mode to default
mapView: switching centering disable threshold to 2048
Initialization complete in 330.00 ms
** modRana startup timing **
# device: Nokia N900 (n900)
* modRana start (0 ms), 0/13886 ms
* imports done (425 ms), 425/13886 ms
* GUI creation (0 ms), 426/13886 ms
* all modules loaded (11918 ms), 12344/13886 ms
* all modules initialized (1542 ms), 13886/13886 ms
** whole startup: 13886 ms **
Preloading theme "base" from cache
GET
(u'currentTheme', u'default', 'default')
sqlite tiles: initializing db for layer: OpenStreetMap I
file:///opt/modrana/modules/gui_modules/gui_qml/qml/PinchMap.qml:47: Unable to assign [undefined] to int status
Segmentation fault
~ $

MartinK
2012-09-13, 17:11
Modrana QML is no longer working for me since installing the latest version. Any ideas?
$

Should be fixed in V0.35.10. :)

guilledoc
2012-09-13, 21:38
I'm still not abble to see any maps ofline
Sorry to spam ...

jankratochvil
2012-09-14, 05:03
I'm still not abble to see any maps ofline
Sorry to spam ...

For _seeing_ maps there is menu->download. The discussion here about Monav has been now about creating new routes offline.

guilledoc
2012-09-14, 12:14
Why should I downlod a map with modrana if allready installed monav maps in the .maps/monav_data folder?
Sorry if I'm being noob

MartinK
2012-09-14, 15:09
Why should I downlod a map with modrana if allready installed monav maps in the .maps/monav_data folder?
Sorry if I'm being noob
The Monav data is currently used only for routing - it finds & describes a route between two given points. It can't be currently used for rendering the map layer (Monav can do that bud there is no interface for this available to third party applications like modRana).

Still, offline map rendering is also on the routemap, but i can't really say when it will become, as it is quite a bit more complex than offline routing.

By offline routing, you just find an optimal way on the route netowork, by offline map rendering, you have to draw all significant map features (routes, houses, water, labels) directly on the mobile device, at different scales, as quickly as possible. There are already some applications that can do that, such as the Monav client, Navit or the (closed source) Nokia maps. Unfortunately, none of them has an interface that modRana could use to ask for map pictures rendered by the application.

Also, offline map rendering would probably require a separate data package, as the the one optimized for routing (it has probably just routes and nothing more). This might not be that much of an issue as once the infrastructure for Monav routing data generation & distribution is in place, it could be also used for the offline map rendering data packs.

The most promising map rendering engine (from the modRana POV) is called Kothic (http://code.google.com/p/kothic/) and written in Python. I plan to investigate it soon. :)

tl;dr:
Offline map rendering is not yet supported, but planed. :)

daposk
2012-09-15, 09:51
I'm trying modrana for a while and every time it starts, the default settings are re-loaded. In the log appears "Can't save options". Do you have any clues for this?

MartinK
2012-09-17, 13:26
I'm trying modrana for a while and every time it starts, the default settings are re-loaded. In the log appears "Can't save options". Do you have any clues for this?
This is probably related to the file that modRana uses to store settings.
The file is located in:
/home/user/.modrana/options.bin
You might want to check permissions for this file or the .modrana directory (if you ever run modRana as root, it might get owned by root and modRana would not be able to write to it when running under a normal user).

Another possibility is that the settings file got somehow corrupted. But that should cause that settings are not loaded, not that the can't be stored.

BTW, a quick solution/workaround (as root):

cd /home/user/
mv .modrana .modrana_backup

This would rename the modRana profile directory, causing modRana to create a fresh one on startup. :)

daposk
2012-09-17, 20:21
BTW, a quick solution/workaround (as root):

cd /home/user/
mv .modrana .modrana_backup

This would rename the modRana profile directory, causing modRana to create a fresh one on startup. :)

It worked perfectly. ModRana has regained rights to the config file again! :)
Thanks and congratulations!

MartinK
2012-09-20, 08:48
Do you like modRana ? Don't forget to vote in the Maemo.org coding competition 2012 ! :)
If you like modRana & think it deserves your vote, please go ahead and vote for it in the Updates and development on existing apps category ! :)

The voting opened yesterday (September 19th) and runs to 23:59 September 27th 2012, if you are eligible to vote (Maemo.org karma >=10), you should have already received the voting token to you email address. For further information how to vote, see the competition wiki page (http://wiki.maemo.org/Maemo.org_coding_competition_2012#Voting). :)

Joseph9560
2012-09-22, 01:36
Do you like modRana ? Don't forget to vote in the Maemo.org coding competition 2012 ! :)
If you like modRana & think it deserves your vote, please go ahead and vote for it in the Updates and development on existing apps category ! :)

The voting opened yesterday (September 19th) and runs to 23:59 September 27th 2012, if you are eligible to vote (Maemo.org karma >=10), you should have already received the voting token to you email address. For further information how to vote, see the competition wiki page (http://wiki.maemo.org/Maemo.org_coding_competition_2012#Voting). :)

Thanks a lot for your continual effort to improve the app. I've just voted for modRana. I hope you will win.

MartinK
2012-09-22, 09:28
Thanks a lot for your continual effort to improve the app. I've just voted for modRana. I hope you will win.
Thanks, much appreciated ! :)

petur
2012-09-24, 19:09
Do you like modRana ? Don't forget to vote in the Maemo.org coding competition 2012 ! :)
If you like modRana & think it deserves your vote, please go ahead and vote for it in the Updates and development on existing apps category ! :)

Done!

small question while I'm at it: does online routing always use google regardless of the map loaded?

MartinK
2012-09-24, 19:22
Done!

Thanks a lot ! :)


small question while I'm at it: does online routing always use google regardless of the map loaded?
Yes, the routing provider is completely independent of the currently used map layer. :)

I think I might get what you mean - that with Google, the routes should conform to the tiles, but when using non-Google map layers (such as Mapnik), it might suggest a route that is not visible on the map. :) IMHO, seems to be not that much of an issue as at least with Turn-by-turn navigation, correct directions are much more important that a little inconsistent map layer.

When more online routing providers are supported, automatically using a provider corresponding to the given layer (Google for Google layers; OSRM & company for OpenStreetMap layers) might be a good optional feature. :)

petur
2012-09-24, 19:54
I think I might get what you mean

Not really ;)

The other day I was going for a walk and switched to a map with walking routes (for manual routing). When I got back home I forgot to switch back to the google map I normally use, and asked for walking directions, and they looked like those for a car, avoiding 1-way streets etc. Thought this was caused by not having the google map on.

So Google routing is having some hiccups probably...

MartinK
2012-09-24, 22:18
Not really ;)

The other day I was going for a walk and switched to a map with walking routes (for manual routing). When I got back home I forgot to switch back to the google map I normally use, and asked for walking directions, and they looked like those for a car, avoiding 1-way streets etc. Thought this was caused by not having the google map on.

So Google routing is having some hiccups probably...
the routes returned depend on the current mode (can be changed form menu->mode).

For online Google routing, you should get walking directions in the Foot mode and car directions for all the other modes (bike routing should be also supported but there was some issue on Googles side when I last tried it).

For the Monav based offline routing, both walking directions & bike routing works. For all other modes car directions are returned. :)

af7567
2012-09-24, 23:32
I always get shown the same route in modRana when I use foot mode or car mode. I just tested a route now and google maps shows a completely different route for walking to driving, but modRana always shows the driving one whatever mode I choose. I am using online routing mode in modRana.

petur
2012-09-25, 06:46
Exactly. I also made sure it was in walking mode, should have made that clear in my post

ilo
2012-09-25, 16:02
It was a pleasure to bump into Modrana after Mappero development ceased! I'm going to vote for the app as soon as my registration gets completed!

Only one issue: after restarting the app, the current map screen jumps to a weird location (for example, when stopping navigating in Spain, next time you start the app it's in Africa!). This is due to the slow GPS of N900, before it finds a fix it claims to be in an absurd location.

This could be easily fixed by having the app starting with the last map screen, and switching to the gps location only when pressing the center button. Nokia Maps and Mappero work like this.

Thanks for still developing this great software!

sixwheeledbeast
2012-09-25, 17:46
I'm going to vote for the app as soon as my registration gets completed!


You won't be able to, your account has to be >1 month old and you need 100 Karma.
This is to stop people opening new accounts over and over again and voting for themself.

pichlo
2012-09-28, 11:18
I am also a new member who has been lurking on this forum for a while. It was finding this fantastic app and this thread that made me register so I could reply.

I want to say two things:

1) modRana is a fantastic application. It is amazing that it is being developed by one man in his spare time while other, supposedly professional applications, developed by large teams as their main job, suck big time (no specific apps shall be named :p).

2) I managed to reduce the FAT32 overhead significantly by reformatting the N900 vfat partition through Windows Explorer with the smallest allocation unit size it let me (8K as opposed to default 64K). I started off with 800K worth of maps taking up 4.5M of disk space. After the reformat, they took only 1.2M. Of course, you need to backup everything to the PC first and restore it afterwards, do not blame me for losing your data if you don’t!

jankratochvil
2012-09-28, 11:28
It is even safer + more space efficient + in some cases faster to reformat N900 with ext3. But for Modrana it is irrelevant as it can store the maps even more efficiently with: Options->Map->Tile Storage->sqlite.

RFE: I miss an option to automatically convert existing tile files to sqlite, selecting and downloading them all again is not much fun.

pichlo
2012-09-28, 11:38
It is even safer + more space efficient + in some cases faster to reformat N900 with ext3. But for Modrana it is irrelevant as it can store the maps even more efficiently with: Options->Map->Tile Storage->sqlite.

Thanks for the suggestions. I had actually considered both. I did not want to change the file system as I often attach the phone to a Windows PC. NTFS might work but that seemed like a lot of work to make the N900 being able to use it. And I am aware of sqlite but I wanted to share the maps with other apps like Mappero, at least for the time being. At some point I may decide to ditch all other apps and use modRama exclusively, then I will definitely migrate to sqlite.

int_ua
2012-10-01, 10:35
Are you planning to add a switch to disable all animations? I'd really like that :)

MartinK
2012-10-04, 23:41
I always get shown the same route in modRana when I use foot mode or car mode. I just tested a route now and google maps shows a completely different route for walking to driving, but modRana always shows the driving one whatever mode I choose. I am using online routing mode in modRana.
Exactly. I also made sure it was in walking mode, should have made that clear in my post
I've checked it myself and you were right - it really is broken. I've already found a fix, which will be part of the next update. :)


RFE: I miss an option to automatically convert existing tile files to sqlite, selecting and downloading them all again is not much fun.
There is actually a Perl script by Beermad (http://modrana.org/trac/wiki/SQLiteTilesImportPerlScriptEN) that does just this. :) I would like to also add support for this with modRana itself, but I can't really say when I'll get to it.

Are you planning to add a switch to disable all animations? I'd really like that :)
You mean in the QML GUI ? (as there are basically no animations in the classic GTK GUI) Yeah, I'm considering adding it - I've already done some testing - menu switching is really fast, but a bit confusing as the animations add considerable feedback. Still, at least on the N900 they are a bit laggy, so turning them off really should be an options.

I haven't done much work on the QML GUI as I've concentrated mainly on the offline routing (I'm currently working on more sane tbt directions & an own modRana repository with up-to-date global Monav routing data). I'll hope I'll get back to it soon. :) BTW, as always - patches & pull requests (https://github.com/M4rtinK/modrana) are welcome ! :)

MartinK
2012-10-04, 23:59
Oh and by the way:
modRana won the first place in the Maemo.org coding competiton 2012 !!
(in the Updates & Development on Existing Apps category)

Thanks a lot to everyone who supported modRana with their vote !! :D

Also thanks to all those, who wanted to vote, but regrettably couldn't - still much appreciated ! :) Don't forget to link your Maemo accounts (http://wiki.maemo.org/Link_talk.maemo.org_account_with_maemo.org_profile ) before the next years competition starts. ;)

pichlo
2012-10-05, 21:12
Congratulations on winning the competition! I joined the forum too late to vote, but I absolutely agree the app is a winner!

I have a couple of questions if I may. Sorry if they have already been answered; I tried to prowl through all the 1162 posts but things may have slipped my attention. Now if there was a search functionality per thread, that would be something...

Anyway. My first question, I was using modRana on the PC (http://modrana.org/trac/wiki/SystemDownloadEN#deb) to download a big bunch of maps. This works fine and much faster than on my N900, but there is a small problem. The PC does not have a GPS and the program always defaults to starting in Brno (http://maps.google.com/maps?q=Brno,+Czech+Republic&hl=en&ll=49.196064,16.611328&spn=3.905778,6.734619&sll=37.0625,-95.677068&sspn=37.819897,53.876953&oq=Brno&hnear=Brno,+Czech+Republic&t=m&z=7). To get the UK maps, I had to zoom out to level 2, scroll, zoom in. Is there a better way? To fake the GPS coordinates, for example? I looked at all the config files in ~/.modrana but they did nor provide the answer.

Err, I'm sure I had more on my mind when I started this post but it took me so long to type it that I had forgotten the rest. I will come back when (if?) I remember :)

[EDIT}I have found thread search at the top of the page, doh! Still can't find the answer though...[/EDIT]

MartinK
2012-10-05, 22:19
Congratulations on winning the competition! I joined the forum too late to vote, but I absolutely agree the app is a winner!

Thanks ! :)


I have a couple of questions if I may. Sorry if they have already been answered; I tried to prowl through all the 1162 posts but things may have slipped my attention. Now if there was a search functionality per thread, that would be something...

Anyway. My first question, I was using modRana on the PC (http://modrana.org/trac/wiki/SystemDownloadEN#deb) to download a big bunch of maps. This works fine and much faster than on my N900, but there is a small problem. The PC does not have a GPS and the program always defaults to starting in Brno (http://maps.google.com/maps?q=Brno,+Czech+Republic&hl=en&ll=49.196064,16.611328&spn=3.905778,6.734619&sll=37.0625,-95.677068&sspn=37.819897,53.876953&oq=Brno&hnear=Brno,+Czech+Republic&t=m&z=7). To get the UK maps, I had to zoom out to level 2, scroll, zoom in. Is there a better way? To fake the GPS coordinates, for example? I looked at all the config files in ~/.modrana but they did nor provide the answer.

Its possible, but rather convoluted. :)

First create a POI on the coordinates you want to set as curren GPS position. Then in the POI detail menu, click on tools and then on set as position. And thats it. :) This is needlessly complicated and should be much simpler.

Alternatively, you can also use the --focus-on-coordinates CLI option.

BTW, I've added both to the very brief and totally incomplete modRana manual (http://modrana.org/trac/wiki/SystemHowtoManualEN). :)


Err, I'm sure I had more on my mind when I started this post but it took me so long to type it that I had forgotten the rest. I will come back when (if?) I remember :)

Looking forward to your questions ! :)

MartinK
2012-10-06, 19:49
Generating your own Monav routing data
I've created a simple script that makes generating modRana compatible Monav routing data quite easy. See the corresponding wiki article (http://wiki.maemo.org/ModRana_offline_routing_guide#Generating_your_own_ routing_data) for more details. :)

macey
2012-10-07, 09:32
Generating your own Monav routing data
I've created a simple script that makes generating modRana compatible Monav routing data quite easy. See the corresponding wiki article (http://wiki.maemo.org/ModRana_offline_routing_guide#Generating_your_own_ routing_data) for more details. :)

Where do I find monav-server?

Ken-Young
2012-10-07, 10:28
Congrats on winning the competition!

One thing I think would be handy, and probably pretty easy to add, would be a button on the Route page that would swap the start and destination fields, to allow quick re-routing when you are returning from a destination.

MartinK
2012-10-07, 11:28
Where do I find monav-server?
Monav-server is bundled in the modRana package and used automatically, no need to install it manually. The monav-server binary itself is located in the /opt/modrana/modules/mod_route/monav_armv7 directory.

BTW, it would be probably good to create a proper monav-server package, but doing it like this was much faster. :)

BTW2: monav-server != monav-daemon

While they do roughly the same thing, the monav-daemon only has a C++ interface, while monav-server sends protocol buffers over a TCP socket.

Congrats on winning the competition!

Thanks ! :)


One thing I think would be handy, and probably pretty easy to add, would be a button on the Route page that would swap the start and destination fields, to allow quick re-routing when you are returning from a destination.
Good point - there is even some empty space for exactly one button. :)

MartinK
2012-10-07, 17:31
I've release a small modRana update - V0.35.13

It fixes the issue with walking directions not being provided in the "Foot" mode & adds a swap button to the Address2Address routing screen. :)

nokiac
2012-10-07, 18:24
Thannnnks for the great app buddy. I am tryimg to use the gtk ui on n9, and *** you are aware, it has issues with text input. the VKB does not come up. But tthe more interesting problem I notiiiced is that, in gtk mode it is not getting gps position.

MartinK
2012-10-07, 19:24
Thannnnks for the great app buddy. I am tryimg to use the gtk ui on n9, and *** you are aware, it has issues with text input. the VKB does not come up.


I think I saw a workaround somewhere in the GTK@Harmattan thread (http://talk.maemo.org /showthread.php?t=79229).


But tthe more interesting problem I notiiiced is that, in gtk mode it is not getting gps position.
Hmm, I haven't tested it but from the code it looks like it should work. I'll check it out on device to see what might be causing it.

BTW, quite a shame that the current Harmattan repositories lack proper dependency handling - as the GTK UI is perfectly usable on Harmattan (and fast! :) ) and only issue blocking it is that it needs GTK libraries, that are not available from the default repositories.

pichlo
2012-10-08, 13:14
The more I play with this app the more I love it. The UI is a bit different but intuitive and easy to get used to. And... I have just discovered monav offline navigation and now I am in the nirvana! :)

I have a few questions and suggestions if you don't mind.

1. I could not get "download tiles along route" to work. All I get is the two preloaded examples. Am I missing a step there? I suspect a user error not a software bug.

2. The voice guidance is too quiet in a car, but I doubt modRana can do anything about that.

3. For navigation in imperial units, yards are more customary (and intuitive) than feet. "Turn left after 100 yards" is more common than "turn left after 300 feet". OTOH, yards are never used for vertical distances, only feet. Strage system, I know :)

4. I think there is a missing slash somewhere in the PC version. I used it to batch download a lot of tiles and it stored them in ~/.modrana/mapsOpenStreetMap, not ~/.maps/OpenStreetMap. I may look through the scripts to see if I can find it, though I am far from a Python expert.

5. Is there an option and if not, how difficult would it be to add, to restrict which zoom levels to use? Not just min and max, but for example only even layers, to save space.

6. It would be nice if the app had its own help. Somewhere where the about info is. Not essential, only nice.

7. If the app used vector graphic and pre-recorded voices, then I believe it would be ready for commercial release! :)

BTW I tried raising a ticket about #3 but the wiki did not like me. Again, I suspect the problem between my keyboard and my chair.

Estel
2012-10-08, 15:57
Is there any possibility to share Monav offline navigation data, between ModRana and other programs, like Marble? I mean, is path for monav packs configurable, or hard-coded (in the latter case, it would be only possible to achieve desired effect via symlinks, aka not in vfat MyDocs)?

/Estel

Ken-Young
2012-10-08, 17:44
[...] adds a swap button to the Address2Address routing screen. :)

Thanks very much for adding this!

quixote
2012-10-08, 17:53
I'm still trying to use a map program offline. But even though I have all the tiles I want downloaded to /home/user/MyDocs/.maps/OpenStreetMap I, it simply won't display anything unless it can access a connection.

When I go to Menu > options > map > map layers, I see it's set to use "OSM Mapnik." That requires access to OSM servers, so that's the problem, I guess. But I can't find any way to tell it to just use the local tiles.

What am I doing wrong? :confused:

(I do have the latest update, version .35-and-so-on. I'm using N900.)

Edited to add: I think I'm getting closer: I should probably modify map_config.conf? But if so, how? This is the mapnik entry and possible changes:

[[mapnik]] [[local]]
label=OSM Mapnik =local
url="http://c.tile.openstreetmap.org/" ="file:///home/user/MyDocs/.maps/OpenStreetMap\ I/" ????
type=png
max_zoom=18
min_zoom=0
folder_prefix=OpenStreetMap I
coordinates=osm

Wikiwide
2012-10-08, 21:34
But even though I have all the tiles I want downloaded to /home/user/MyDocs/.maps/OpenStreetMap I, it simply won't display anything unless it can access a connection.
When I go to Menu > options > map > map layers, I see it's set to use "OSM Mapnik."...
What am I doing wrong? :confused:
(I do have the latest update, version .35-and-so-on. I'm using N900.)
Edited to add: I think I'm getting closer: I should probably modify map_config.conf? But if so, how? This is the mapnik entry and possible changes:

[[mapnik]] [[local]]
label=OSM Mapnik =local
url="http://c.tile.openstreetmap.org/" ="file:///home/user/MyDocs/.maps/OpenStreetMap\ I/" ????
type=png
max_zoom=18
min_zoom=0
folder_prefix=OpenStreetMap I
coordinates=osm

Quick reply...
Theoretically, you don't need to modify anything to make it use local tiles. Just make sure that sqlite option in Modrana is turned off, I guess, so that it would not look for a database file? And there is no need to change 'url="http://c.tile.openstreetmap.org/"' in the map_config.conf; thanks to 'folder_prefix=OpenStreetMap I', it already knows where to take the tiles from. Also, could you go into the folder /home/user/MyDocs/.maps/OpenStreetMap\ I/ and check the folder structure?
Best wishes.

quixote
2012-10-09, 00:57
I'm trying it right now on my pc with this command: python modrana.py -u GTK -d pc (On both pc and n900, it insists on trying to download.)

With wifi turned off, the terminal shows at least a couple of things that look problematic, but I don't know enough to have a clue:
@ location: using GPSD

location: starting GPSD 1 second timer
location: enabling location
('location GPSD: connecting to GPSD failed', error(111, 'Connection refused'))

TypeError: update() takes exactly 1 argument (2 given)

Traceback (most recent call last):
File "modules/mod_cron.py", line 84, in _doTimeout
if callback(*args) == False:
File "modules/mod_location/mod_location.py", line 75, in _screenUpdateCB
self.provider._updateGPSD()
File "modules/mod_location/gps_daemon.py", line 50, in _updateGPSD
if self.connected:
AttributeError: GPSD instance has no attribute 'connected'

It also complains quite a bit about "icons: not found" but they seem to show up just fine, so that's probably nothing.

The display itself, both on pc and when I run it on n900, has a repeated message about "tile failed to download, network error ... check connection, use different map layer, ...". I went back to using OSM Mapnik, since that's supposed to work.

On the n900, the "/home/user/MyDocs/.maps/OpenStreetMap I/" directory seems to have lost most of the tiles I carefully downloaded. But it does have the ones for where I live, so it could at least be showing those. I have store to sqlite turned off. Also turned off on the PC. On the PC, the "/home/quixote/.modrana/maps/OpenStreetMap I/" directory has got the zillion downloaded tiles.

But all it wants to do is download more... :(

Thanks for your help! :)

jankratochvil
2012-10-09, 11:31
Be sure to have options->Map->Tile storage->Store download tiles=on.
But the safe way is always to delete (move away) ~user/.modrana and ~user/MyDocs/.maps as it works by default.

jankratochvil
2012-10-09, 11:35
7. If the app used vector graphic and pre-recorded voices, then I believe it would be ready for commercial release! :)

This is exactly why I rather paid for better Modrana as compared to the commercial offerings it features detailed maps and it can also read the names of streets.

quixote
2012-10-09, 15:50
jankratochvil: I have store download tiles=on. I'm not sure I understand the rest of your answer. If there is no default dir (eg I rename it) then are you saying modrana will use a non-default local directory that I specify?

How do I specify it, in that case? I don't remember seeing an option to do that. Or just edit one of the .conf files?

jankratochvil
2012-10-09, 16:13
Modrana will just use its standard paths where will be no files so Modrana will reinitialize from scratch, like on a newly bought N900.

ssh user@nokia900
$ mv ~user/.modrana{,-orig}
$ mv ~user/MyDocs/.maps{,-orig}

inidrog
2012-10-09, 18:49
Far as I can see in the MoNav client there is an option to choose a Data Directory and Load map data eg. Memory Card/MoNav_maps/Norway

Please implement this.

Why on the earth isnt ModRana in Extras-Testing?

Edit:
http://wiki.maemo.org/ModRana_offline_routing_guide

quixote
2012-10-09, 19:26
jankratochvil: I'm not having any trouble running modrana. I want it to use downloaded tiles instead of always refusing to show a map unless it has a connection. (I do field work, and there's often no signal, but it would still be nice to have a map on my n900.) So I don't really need to re-initialize, do I?

What I want to do is see maps when there's no connection. (p118 has details on the error messages I get.)

pichlo
2012-10-09, 23:15
I'm trying it right now on my pc with this command: python modrana.py -u GTK -d pc (On both pc and n900, it insists on trying to download.)

I have always used the GUI to start the app, both on the N900 and on the PC. So I don't know what those command-line arguments mean. Neither am I very versed in Python. So what I say may be a complete bull****. But the code in your post #1177 (http://talk.maemo.org/showpost.php?p=1278200&postcount=1177) looks to me like getting the GPS coordinates failed because GPSD, whatever that is (a GPS deamon?) isn't connected. As a wild guess, couldn't your problem be caused by having Network positioning enabled in global Location settings?

Let me run a quick test... exit modRana; go to System->Settings->Location; enable Network positioning; switch to offline mode; start modRana... Hmm, inconclusive. I got "Failed to download" tiles for a second, but very quickly replaced with stored tiles. I also got a GPS fix around the same time, quite likely because I haven't moved. Perhaps worth trying driving a few km before the last step.

When you are connected, do you get a map right away or do you get green tiles with "Downloading..." printed across them for a while?

EDIT:
Please disregard my rant above. MartinK posted the correct answer in post #1190 (http://talk.maemo.org/showpost.php?p=1278718&postcount=1190). I would delete this post if there was such an option.

pichlo
2012-10-09, 23:51
7. If the app used vector graphic and pre-recorded voices, then I believe it would be ready for commercial release! :)
This is exactly why I rather paid for better Modrana as compared to the commercial offerings it features detailed maps and it can also read the names of streets.
Vector maps can be just as detailed with the added advantage of being scalable. You could have a single file covering a whole country or even a continent rather than millions of tiles, many of them missing. Street names may be more useful (and intelligible!) in Czech Republic (I know, I come from Slovakia originally :)), but here in the UK the situation is a bit different. Street names are often obscured and rarely shown other than at the beginning and the end. If you join the street in the middle, you have no idea what the name is. "Turn left" is much more useful than "turn to Oxford Road", even if it sounded like "Oxford Road" and not "Khrookhfd Road".

Please don't get me wrong, I love the product and yes, I have put my money where my mouth is, even though only a small amount for now. It far exceeds any other offering currently available for this platform. But it has a lot of potential it has not quite realized yet.

pichlo
2012-10-10, 00:37
I found a new feature. When I scroll the map to a missing tile in offline mode, the tile will not be downloaded even if I connect to the internet unless I close and re-open the program.

Question: where are navigation messages stored? I mean things like "in xx miles turn to..."
I grepped through the /opt/modrana tree but could not find them...

Question 2: how can I take this offline? There must be a better place than this forum. I tried the ticket wiki but it thought I was a spam.

Wikiwide
2012-10-10, 05:19
Quick reply...
Question: where are navigation messages stored? I mean things like "in xx miles turn to..."
I grepped through the /opt/modrana tree but could not find them...
I don't remember very well, but it seems to me that these messages are stored inside the python file (maybe, "mod_route.py") which creates the route. This 'hard-coding' is one of the reasons they are always in English, and not any other language. I may be mistaken, of course.
Best wishes.

MartinK
2012-10-10, 08:22
modRana V0.36.2 has been released ! :)

Changelog:
* it is now possible to set Espaek volume .1
* can be set up to about 10x higher than the default value
* higher values might cause some distortion
* improved offline routing turn detection .1
* it is now possible to download tiles around current route .1
* better feedback for download around track .1
* when imperial units are used, yards now serve as the default small unit .1
* yards/feet can be switched in Options
* fix wrong batch download storage path .1
* general fixes and code cleanup .1
* fix recurring (harmless) error message if using GPSD & GPSD itself is not running .2

MartinK
2012-10-10, 09:06
1. I could not get "download tiles along route" to work. All I get is the two preloaded examples. Am I missing a step there? I suspect a user error not a software bug.

Well, this was caused by a wrong naming choice - "route" in this context meant "along one of the saved GPX tracklogs". But I've done a slight overhaul in 0.36, so now "route" really means the currently active route and "around track" now has the old functionality. :)


2. The voice guidance is too quiet in a car, but I doubt modRana can do anything about that.

Well, it looks like it can. :) I've checked out eSpeaks command line options (http://espeak.sourceforge.net/commands.html) - it looks like the volume/amplitude can be set using the -a parameter. I've incorporated this functionality in 0.36 and added an option for setting volume to Options->Sound->Voice. The only downside is, that at very high volume, the output becomes a bit distorted.


3. For navigation in imperial units, yards are more customary (and intuitive) than feet. "Turn left after 100 yards" is more common than "turn left after 300 feet". OTOH, yards are never used for vertical distances, only feet. Strage system, I know :)

OK, I've switched to yards by default for small imperial units & added a yard/feet switch to Options->View->Units. :)


4. I think there is a missing slash somewhere in the PC version. I used it to batch download a lot of tiles and it stored them in ~/.modrana/mapsOpenStreetMap, not ~/.maps/OpenStreetMap. I may look through the scripts to see if I can find it, though I am far from a Python expert.

Yeah, you were right ! :) There was one old manual concatenation (not using the proper os.path.join()) in the batch download module (mod_mapData). Should be fixed in 0.36. :)


5. Is there an option and if not, how difficult would it be to add, to restrict which zoom levels to use? Not just min and max, but for example only even layers, to save space.

That shouldn't be that difficult to implement, the only issue is, that different map layers have different zoomlevel ranges. So you would either need a global setting with toggle for say 1-21 or/plus a per layer setting for toggling the individual zoomlevels on/off. "Even/Odd zoomlevels only" would work universally though. :)


6. It would be nice if the app had its own help. Somewhere where the about info is. Not essential, only nice.

Well, yeah - I think I should at least include a link for the website & this thread for start. :)

Regarding in-application help, there are basically two issue

Rendering long pieces of text in a meaningful way. The classic GTK GUI is custom made in a fullscreen Cairo Widget and doesn't use any other GTK widgets other than dialogs at the moment. So the help text would either need to be paginated or a GTK widget would need to be use somehow (replacing the current widget temporarily or running in a dialog ?).

And there is not that much of "help" content even on the project website to begin with. Most of the modRana knowledge is probably located in this very thread. :) This is a standard issue for OSS projects - if you are writing manuals, you are not adding features & fixing bugs. :)


7. If the app used vector graphic and pre-recorded voices, then I believe it would be ready for commercial release! :)

Well, the Marble project recently gathered navigation voice samples in multiple languages (http://edu.kde.org/marble/speakers.php). As they are licensed CC-By-SA 3.0, it should not be problem to use them in modRana in the future. :)

Regarding vector map rendering, the most promising project from modRanas point of view is called Kothic (http://code.google.com/p/kothic/). It is a realtime map renderer written in Python. It looks really interesting, but I haven't yet got to installing it and checking out how well it works. The output looks very nice though (http://wiki.openstreetmap.org/wiki/Kothic). :)

There are of course also other renderers such as the one inside Navit or Monav - but to my knowledge, non of those has any interface, that would make it usable from third-party applications.

And there is also still the old renderer from Rana (http://wiki.openstreetmap.org/wiki/Rana) in /opt/modrana/modules/pyrender/. This is how it's output looked like. (http://wiki.openstreetmap.org/wiki/File:Rana_bedford_vmap.png) I've tried to get it to work after I've forked Rana in early 2010 but have just disabled it in the end.


BTW I tried raising a ticket about #3 but the wiki did not like me. Again, I suspect the problem between my keyboard and my chair.
I've had serious automated spam issues on the modRana TRAC instance, so this is why the (maybe a bit too strong) checks are in place. I think that if you register an account and/or fill in the chaptcha, it should let you in. :) Or you can just use the modRana issue tracker on Github (https://github.com/M4rtinK/modrana/issues) - I check out both.

MartinK
2012-10-10, 09:35
Is there any possibility to share Monav offline navigation data, between ModRana and other programs, like Marble? I mean, is path for monav packs configurable, or hard-coded (in the latter case, it would be only possible to achieve desired effect via symlinks, aka not in vfat MyDocs)?

/Estel
The Monav data are stored in /home/user/MyDocs/.maps/monav_data/ for exactly this reason. :) It even keeps the master_folder/subfolder Monav data package structure, so it should also be theoretically directly usable by Monav (once you select the appropriate directory).

Marble stores its Monav routing data in /home/user/MyDocs/.local/share/marble/maps/earth/monav/[mode/][continent/][country/]. As it uses a custom profile folder prefix, I don't thing they plan to share the data.

I'm trying it right now on my pc with this command: python modrana.py -u GTK -d pc (On both pc and n900, it insists on trying to download.)

On the N900, you should run it with:

python modrana.py -u GTK -d n900

Or else you won't get location and other platform specific tweaks. :)

With wifi turned off, the terminal shows at least a couple of things that look problematic, but I don't know enough to have a clue:
@ location: using GPSD

location: starting GPSD 1 second timer
location: enabling location
('location GPSD: connecting to GPSD failed', error(111, 'Connection refused'))

TypeError: update() takes exactly 1 argument (2 given)

Traceback (most recent call last):
File "modules/mod_cron.py", line 84, in _doTimeout
if callback(*args) == False:
File "modules/mod_location/mod_location.py", line 75, in _screenUpdateCB
self.provider._updateGPSD()
File "modules/mod_location/gps_daemon.py", line 50, in _updateGPSD
if self.connected:
AttributeError: GPSD instance has no attribute 'connected'

That's just an unrelated & harmless error message caused by the GPS daemon (GPSD) not running. It should not show up anymore since 0.36.2.


It also complains quite a bit about "icons: not found" but they seem to show up just fine, so that's probably nothing.

Also harmless. There is a button somewhere in modRana, that has an empty string for icon name - have not yet been able to find it. :)


The display itself, both on pc and when I run it on n900, has a repeated message about "tile failed to download, network error ... check connection, use different map layer, ...". I went back to using OSM Mapnik, since that's supposed to work.

As 0.36 fixes batch download related bug, that cased the tiles to be saved to a wrong path, please update and check if it fixes your issue.

Also, to disable automatic tile download (indicated by those Downloading... map tiles shown when you enter a new map area) go to Options->Network->Network usage and set Network to Don't download map tiles. Like this modRana will not download any map tiles, unless explicitly through the batch download menu.

This is exactly why I rather paid for better Modrana as compared to the commercial offerings it features detailed maps and it can also read the names of streets.
Yep, you can do more than just render the map when you have the underlying vector data - like checking on which street you are or pinning the position indicator to the current road in the turn-by-turn mode.

Even though it doesn't support vector map rendering just yet, modRana already has a broad range of donation options (http://modrana.org/trac#Donations). :)

https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif (https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=martin%2ekolman%40gmail%2ecom&lc=CZ&item_name=modRana%20project&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHos ted)

http://api.flattr.com/button/flattr-badge-large.png (http://flattr.com/thing/628232/modRana-project-main-discussion-thread)

bitcoin:1DrV3zv6d9xxAjTSM1P1EAmPyYsvvfUwyL (bitcoin:1DrV3zv6d9xxAjTSM1P1EAmPyYsvvfUwyL)

MartinK
2012-10-10, 10:14
Far as I can see in the MoNav client there is an option to choose a Data Directory and Load map data eg. Memory Card/MoNav_maps/Norway

Please implement this.

While not that straightforward like in Monav, it can already be done through the ~/.modrana/user_config.conf file. Just uncomment the map_config variable (https://github.com/M4rtinK/modrana/blob/master/data/default_configuration_files/user_config.conf#L33) and set it to your new map folder path, for example:
Memory Card/maps/
then you can add your map folders to Memory Card/maps/monav_data/, with the resulting path looking like this:
Memory Card/maps/monav_data/Norway


Why on the earth isnt ModRana in Extras-Testing?

Rapid development cycle & many people already having Extras-Devel enabled. But yes, good point, I really should push it there already.

The only other issue might be with some Qt dependencies for the QML GUI that I'm not sure are available in Testing & plain Extras. But I'd guess we will see once I push the promotion button. :)

I have always used the GUI to start the app, both on the N900 and on the PC. So I don't know what those command-line arguments mean.
ModRana works with the concept of device & GUI modules. The device module provide any device/platform specific tweaks (like map storage paths, location access, custom notification handling, etc.) and the contains all the GUI specific bits. Like this modRana can adapt for a platform just loading the appropriate device and GUI modules on startup.

There are multiple device modules (for the N900, N9, Neo FreeRunner, Smart Q7, Android chroot, PC, etc.) and two GUI modules (the classic GTK GUI and the QML one).

The -d option specifies the current device/platform and -u selects the GUI module. But since at least 0.35 modrana should correctly detect the current environment (at least on the N900, N9 and x86/amd_64 based PCs) and select the appropriate modules automagically.

Vector maps can be just as detailed with the added advantage of being scalable. You could have a single file covering a whole country or even a continent rather than millions of tiles, many of them missing. Street names may be more useful (and intelligible!) in Czech Republic (I know, I come from Slovakia originally :)), but here in the UK the situation is a bit different. Street names are often obscured and rarely shown other than at the beginning and the end. If you join the street in the middle, you have no idea what the name is. "Turn left" is much more useful than "turn to Oxford Road", even if it sounded like "Oxford Road" and not "Khrookhfd Road".

There is also the added benefit of proper rotation support. If you use map rotation with pre-rendered maps, you will quite often get upside down street names. :)

There are also other benefits - you can generate different map themes form the same data - a night theme, high contrast theme, etc.


Please don't get me wrong, I love the product and yes, I have put my money where my mouth is, even though only a small amount for now. It far exceeds any other offering currently available for this platform. But it has a lot of potential it has not quite realized yet.
I've already sent "Thank you!" postcard. :)


Question: where are navigation messages stored? I mean things like "in xx miles turn to..."
I grepped through the /opt/modrana tree but could not find them...

The "in XX" part (and also the "you should be near the destination" message) are generated by modRana. The rest comes directly from Google and only goes through the substitution rules specified by directions_filter.csv (https://github.com/M4rtinK/modrana/blob/master/data/directions_filter.csv) to "unroll" the most common abbreviations.

IIRC:
mod_onlineServices - performs the online route lookup
mod_route - sends the request to onlineServices and handles the result
mod_voice - adds the "in XX" prefix
mod_turnByTurn - handles the turn-by-turn navigation logic & overlay

As Monav returns just the raw route, modRana would need to get a proper turn announcement generator (and turn detector) in the near future.

There are also already translations (http://wiki.maemo.org/ModranaVoiceOutputTranslation) for the current modRana generated voice command, which are unfortunately not yet integrated in modRana itself.


Question 2: how can I take this offline? There must be a better place than this forum. I tried the ticket wiki but it thought I was a spam.
For continuity purposes - answered in the previous post. :)

quixote
2012-10-10, 16:52
Update works beautifully, and a thousand thanks for all the information!

The path wasn't the problem because I figured that was typo and had fixed it manually. But what was causing that constant downloading was this option that you flagged:go to Options->Network->Network usage and set Network to Don't download map tiles.
I never even looked there. That is what solved the problem.

Thanks again for all your hard work on this!

quixote
2012-10-10, 17:01
For anyone out there who, like me, has been looking for a good open source map program that also works offline, here's my experiences.

modrana: far and away the best user interface, and now that I can use offline maps, the best thing out there for me.

navit: a very good effort, and if some kind soul comes up with a navit.xml (their config file) that has sensible defaults, it'll be a real runner-up. My problem with it right now is that text sizes have to be set for every zoom level, there's no easy way to guess what zoom level I'm on, so it's a matter of guesswork and trial and error to try to find sensible values. So far, I haven't managed.

monav: an excellent front-end for OpenStreetMaps, very fast. User interface not quite to modrana standards, but okay. Offline maps generated using a vector program which shows real promise, but ... but, but, but, right now it only draws very few of the features so it's functionally useless offline.

pichlo
2012-10-11, 08:33
I've checked out eSpeaks command line options (http://espeak.sourceforge.net/commands.html) - it looks like the volume/amplitude can be set using the -a parameter. I've incorporated this functionality in 0.36 and added an option for setting volume to Options->Sound->Voice. The only downside is, that at very high volume, the output becomes a bit distorted.

Yes, I had discovered that too when I was playing around. Setting the espeak parameters manually helped. Of course, having the option in the GUI is much better, thanks for that. The only thing, the espeak help says that the maximul volume is 200; I am not sure how valid settings beyond that are, I have not tested it yet :)

Unfortunately, it seems that something has broken as a side effect of this change. Leaving the sound settings at "automatic" works fine, but switching to "manual" makes two lots of "edit espeak options" and "reset to defaults" appear and, more importantly, it makes the sound disappear. I can of course leave it at automatic but I was fiddling with the options to try to make it mole legible.

MartinK
2012-10-11, 09:11
Yes, I had discovered that too when I was playing around. Setting the espeak parameters manually helped. Of course, having the option in the GUI is much better, thanks for that. The only thing, the espeak help says that the maximul volume is 200; I am not sure how valid settings beyond that are, I have not tested it yet :)

I found something related to the volume setting (http://lists.freebsoft.org/pipermail/speechd/2010q3/002398.html) on the speechd mailing list. It concludes that values up to 400 should be safe. But from my experience it seems to be very device dependent - I can use much higher values on my Laptop than on the N900 and still get acceptable output.


Unfortunately, it seems that something has broken as a side effect of this change. Leaving the sound settings at "automatic" works fine, but switching to "manual" makes two lots of "edit espeak options" and "reset to defaults" appear and, more importantly, it makes the sound disappear. I can of course leave it at automatic but I was fiddling with the options to try to make it mole legible.
Thats quite possible, I'll check it out. :)

pichlo
2012-10-12, 14:38
BTW I tried raising a ticket about #3 but the wiki did not like me. Again, I suspect the problem between my keyboard and my chair.
I've had serious automated spam issues on the modRana TRAC instance, so this is why the (maybe a bit too strong) checks are in place. I think that if you register an account and/or fill in the chaptcha, it should let you in. :) Or you can just use the modRana issue tracker on Github (https://github.com/M4rtinK/modrana/issues) - I check out both.

That's the thing! The blooming TRAC says I must be spam because I did not fill the captcha, but there was no captcha to fill! Neither was there any way of creating an account that I could find. A browser problem? I've tried Firefox on Debian and IE on Windows 7.

Completely unrelated: is there (going to be?) a way of importing POIs from a track? It might be useful in two ways. The obvious one, you walk or drive past something that you later decide to store as a POI. The more advanced, and perhaps not as useful to everyone, there is a tool out there to convert the TomTom POI database to GPX. It would be cool to import that to modRana :) It does not look too advanced, just a simple XML to SQLite conversion, so I guess I can do it myself if I have to :)

MartinK
2012-10-13, 16:20
modRana 0.36.3 has been released

* fix static-map-url local search not returning any results when using the "geo:" prefix for location coordinates
* fix voice otuput with manual parameters not working


That's the thing! The blooming TRAC says I must be spam because I did not fill the captcha, but there was no captcha to fill! Neither was there any way of creating an account that I could find. A browser problem? I've tried Firefox on Debian and IE on Windows 7.

OK, I'll check it out. There were some changes in the hosting setup, so it might got broken in the process.


Completely unrelated: is there (going to be?) a way of importing POIs from a track? It might be useful in two ways. The obvious one, you walk or drive past something that you later decide to store as a POI.
You mean you would create a very short track and the import it to the POI database ?
As even very short tracklogs can have tens of points & normal ones have hundreds or thousands, you would probably just want to import the first or last point ?


The more advanced, and perhaps not as useful to everyone, there is a tool out there to convert the TomTom POI database to GPX. It would be cool to import that to modRana :) It does not look too advanced, just a simple XML to SQLite conversion, so I guess I can do it myself if I have to :)
There are numerous point types in in GPX (trackpoints, waypoints, routepoints,...) - which ones does it use to represent the POI ?

BTW, I was already thinking about adding support for importing POI from files with a CLI parameter. Initially just from simple CSV files, but adding support for GPX files that contain POI should not be that difficult.

It should be also already possible to export the POI database to a CSV file (options->POI->POI storage->Export POI database to CSV), but it seems to be failing for some reason at the moment. :)

EDIT:
Should be fixed in 0.36.4. :)

MartinK
2012-10-15, 16:33
modRana 0.36.6
Turn directions for Monav offline routing results now have proper instructions - eq. turn [slightly/sharply] left/right + U-turns + continue to.

The directions are English-only for the moment, but it should be easy to add support for other languages in the future. I would also like to have a Transifex project for the turn instructions(like Mieru already has (add turn description for Monav turns)), so that everyone can help with the translation easily from the browser. :)

Roundabouts are not yet handled correctly, but as the Monav client seems to have a working algorithm for roundabout detection (http://code.google.com/r/robertvoigt-monav/source/browse/client/instructiongenerator.cpp?name=permaroute#138), it shouldn't be hard to add.

modRana in Extras-testing
I have promoted modRana 0.36.6 to Extras-testing. Please test & vote so that it can reach the Extras repository soon. :)

Estel
2012-10-19, 00:27
While I'm mostly off-line routing "fan" (I don't know, maybe it's this apocalyptic type, that like to have things working without "external" components access, no matter what), I've found that, lately, I'm using ModRana as much as (if not more than) Marble, for my everyday navigation program.

Considering size of team behind Marble, and fact that ModRana is written entirely by you, it's really impressive, at least to me. Hats off, kudos, and really big "thank you" for this awesome piece of software, that is developed and updated in unbelievable pace.

/Estel

// Edit

not to mention, that ModRana affect development of others navigational programs - for example, it's source of my request (to upstream Marble) for streamlining path for Monav off-line routing packs. Impressive, really impressive.

MartinK
2012-10-19, 19:43
// Edit

not to mention, that ModRana affect development of others navigational programs - for example, it's source of my request (to upstream Marble) for streamlining path for Monav off-line routing packs. Impressive, really impressive.
Also Saera is using the modRana command line interface (http://nlp.fi.muni.cz/trac/gps_navigace/wiki/SystemFunctionalityEN#CommandLineOptions) (for amenity search, determining the current coordinates, etc.) :)

Regarding other upstreamable there is the space-efficient sqlite tile storage (http://nlp.fi.muni.cz/trac/gps_navigace/wiki/SQLiteStorageDescriptionEN) and plaintext alarm lists (http://nlp.fi.muni.cz/trac/gps_navigace/wiki/alarmLists).

IIRC the CloudGPS developer wants to add support for it. And the alarm lists are not yet even implemented in modRana - but that still doesn't prevent others from supporting the concept in their apps. :)

ilo
2012-10-20, 13:06
I tried to submit this with the tracker at www.modrana.org, but it didn't work.

The following is still bothering the current Modrana: the centering setting of the map doesn't stay after reboot of the program. If it's set to off in all modes, it will be on when Modrana starts again.

jankratochvil
2012-10-21, 18:24
About the conversion tile files -> sqlite database:

There is actually a Perl script by Beermad (http://modrana.org/trac/wiki/SQLiteTilesImportPerlScriptEN) that does just this. :)

FYI I have run this script natively on N900 and it looked as completed right. But now I have found I miss very randomly here and there about 10% of the tiles.

MartinK
2012-10-23, 11:21
I tried to submit this with the tracker at www.modrana.org, but it didn't work.

The following is still bothering the current Modrana: the centering setting of the map doesn't stay after reboot of the program. If it's set to off in all modes, it will be on when Modrana starts again.
Yeah, the centering on startup is pretty much hardcoded right now. I'll look at it for the next update (so that if it is set to OFF, it won't center at startup and just show the last seen map area).

About the conversion tile files -> sqlite database:

FYI I have run this script natively on N900 and it looked as completed right. But now I have found I miss very randomly here and there about 10% of the tiles.
Do you think this is N900 specific issue (it does work fine on PC ?)?


Oh, any by the way:

Monav routing data packs with whole world coverage (per-country & up-to-date):
http://data.modrana.org/monav/

jankratochvil
2012-10-23, 11:26
Do you think this is N900 specific issue (it does work fine on PC ?)?

It was FYI, I have no idea and I find it a bit difficult to debug, redownloading some missing pieces of maps is fortunately not such a burden.

pichlo
2012-10-25, 09:17
FYI I have run this script [to convert tiles to sqlite --pichlo] natively on N900 and it looked as completed right. But now I have found I miss very randomly here and there about 10% of the tiles.

Do you think this is N900 specific issue (it does work fine on PC ?)?

How do I find out if anything is missing? Just browsing the map in modRana? Jankratochvil's post seems to suggest that.

Just FYI, I have now completed the conversion of my 152,127 tiles. I used my ancient Pentium 4 laptop from 2004. I did not copy the tiles, just mounted the N900 and did the conversion there directly. It took about an hour, which seems consistent with beermad's post (http://talk.maemo.org/showpost.php?p=1058668&postcount=788) (200,000 tiles in ~75 minutes). Except that he used a much more powerful machine, suggesting that the CPU power is not the determining factor.

The resulting sqlite files take 444 MB, a bit more than the 407 MB my tiles used to take, but much less than 1.28 GB my tiles used to occupy on the disk, even with the smallest cluster size I managed to get (8 KB). In other words, a huge improvement.

jankratochvil
2012-10-25, 10:46
How do I find out if anything is missing? Just browsing the map in modRana?

Yes, with "Network: Don't Download Map Tiles" and previously fully downloaded regions I can see the missing tiles.

MartinK
2012-10-25, 17:03
Yes, with "Network: Don't Download Map Tiles" and previously fully downloaded regions I can see the missing tiles.

I've checked the script and was surprised how readable & well documented it is. :) All seems to be fine & it even correctly handles multiple store databases (needed due to the limited single-file-size on FAT32).

A couple of possibilities what might be causing the missing tiles:

old tiles - modRana previously didn't check downloaded tiles, so sometimes some tiles might actually have been error pages - but if the tiles were showing fine in offline mode and now aren't, this can't be it
bug in modRana - modRana fails to load the tiles from the database for some reason
bug in the import script - I'm not that well versed in perl, so maybe there is still some edge-case that is intermittently triggered


Anyway, I'm currently considering finally adding the tile import functionality to modRana - probably first through the command line interface, followed by support in the GUIs.
The tile storage logic is all there, it just needs to know from where to take the tiles and to which database they should be added.

About the modRana data repository
(http://data.modrana.org/monav/)

First, I would like to thank the Natural Language Processing Centre (http://nlp.fi.muni.cz/en/) of the Masaryk University for providing the hosting & computational resources needed to generate the data in the first place. Thanks a lot ! :)

Coverage
The whole world should be covered, 2-3x times. :) There are data packs for individual countries, continents and for some countries (Germany, France, Canada,...) also for local regions. There are separate car, bike & pedestrian data packs.

BTW, the car routing data size for Europe is about 3 GB, so it should fit on the MyDocs FAT32 partition without issues. :)

Installing data for modRana
Installation is the same as with previous data packs - they are just in tar.gz, not in zip. The car/bike/pedestrian pack include the shared data structur, just unpack them to the usual /home/user/MyDocs/.maps/monav_data/ directory.

Example (on the N900):


cd /home/user/MyDocs/.maps/monav_data
wget http://data.modrana.org/monav/europe/czech_republic/czech_republic_car.tar.gz
wget http://data.modrana.org/monav/europe/czech_republic/czech_republic_bike.tar.gz
tar -xvf czech_republic/czech_republic_car.tar.gz
tar -xvf czech_republic/czech_republic/czech_republic_bike.tar.gz
rm czech_republic/czech_republic_car.tar.gz
rm czech_republic/czech_republic/czech_republic_bike.tar.gz


Statistics
Total repository size: 91 GB
Pack count: about 265
Source data downloads: 37.18GB source OSM data in PBF format
Total run length: about 5 hours on a machine with 48 CPU cores (including all stages - download, processing & packaging)

Software
The modRana data repository software, used to generate the repository, is hosted on Github:
https://github.com/M4rtinK/modrana-data-repository
If you want to have your own repository, just run repository.py and the repository will be created inside the results directory.

I plan to write a proper post about how the repository software works & I'm also still working on it, mainly on more configuration options & providing better feedback while running a repository update.

Planed features

repository manifest - so that the repository can be used for downloading data directly from modRana
*.zsync files (http://zsync.moria.org.uk/) for incremental data updates
regular repository updates - about every 3 days
maybe also MD5SUMS ?

Wikiwide
2012-10-26, 02:50
Quick reply...
Small question, about updating ModRana: why does dpkg complain about not being able to delete non-empty directory "/opt/modrana/modules/googlemaps"?
Best wishes. Thank you.

pichlo
2012-10-26, 14:42
A quick comment. Yesterday I put modRana to a bit of a test. It was the first time I used it on a motorway. Driving at just about 70 mph (110 km/h), I noticed that it was it was coping well, rotating the maps as it should, but the screen refresh was a bit jerky and there was also a bit of a lag in showing my current position. For example, it showed me crossing under a bridge when I was already a good 50 m behind. Is it related to my recent conversion from tiles to sqlite? I have never tried modRana at anything beyond 30 mph (48 km/h) before so I wouldn't know...

taixzo
2012-10-26, 15:07
MartinK: would it be possible to include aeronautical charts (as for example http://www.chartbundle.com/charts/) as a map layers option?

MartinK
2012-10-27, 13:24
Quick reply...
Small question, about updating ModRana: why does dpkg complain about not being able to delete non-empty directory "/opt/modrana/modules/googlemaps"?
Best wishes. Thank you.
IIRC, such errors are caused when an application directory contains files that were not there when the application was installed from a package. This might be somehow caused by the post-install script, that generates the *.pyc bytecode files for faster startup (as modRana can't write to /opt/modrana when started under the user account, it can't create them by itself and would need to parse all the *.py files on every startup).

Generally, it should be harmless.

As modRana stores all important data in ~/.modrana, which is not deleted if you just uninstall the package without purging it, this should fix the warnings:


apt-get remove modrana
rm -rf /opt/modrana/modules
apt-get install modrana


BTW, congratulations for winning the special prize in the coding competition ! :)

A quick comment. Yesterday I put modRana to a bit of a test. It was the first time I used it on a motorway. Driving at just about 70 mph (110 km/h), I noticed that it was it was coping well, rotating the maps as it should, but the screen refresh was a bit jerky and there was also a bit of a lag in showing my current position. For example, it showed me crossing under a bridge when I was already a good 50 m behind. Is it related to my recent conversion from tiles to sqlite? I have never tried modRana at anything beyond 30 mph (48 km/h) before so I wouldn't know...
I did quite a few optimizations in this regard but high-speed usage is still quite demanding, as modRana has to:

check what tiles are visible
check what are in the memory cache
load those that aren't (from storage or from network)

due to the high speed, generally less tiles will be already in cache and more will have to be loaded

display the result

In the 1 second time window specified by the default screen refresh rate.
Also, if position shift & map rotation are enabled, it has to generally do more work as:

it has to figure out which tiles are covered by the rotated viewport
generally, more tiles are visible than without rotation, that need to be loaded & rendered
rotate and clip the result

All drawing is done with Cairo (http://www.cairographics.org/), which IIRC is not hardware accelerated on Fremantle.

The updates should be triggered by position update (which should occur every second) - the more demanding the current "scene" is, the more lag from position update to screen redraw you get.

What can be dome about it:

further optimizations

profiling the current implementation to see where are the bottlenecks (like time spend the in the tile storage functions for sqlite vs for files)
pre-loading tiles in direction of travel to memory
drawing larger map are than what is currently visible and shifting it until it is inside the viewport

lazy screen redraw

move just the position indicator and update the map only once it gets near the screen edge
this unfortunately prevent proper map rotation & position shifting support + make the map "jump" from time to time

QML - screen rotation should be "free" in QML, which should alleviate much of the issues with the current implementation in Cairo

on the other hand drawing the route polylline in QML is more difficult than in Cairo due the the item/texture implementation in QML that makes rotation & co so fast :)



BTW, you can also use:
options->Debug->Redrawing->Print redraw time to terminal to see how long the last screen redraw took. If it reports >1000 ms or if the value shows less than every second, tile loading & screen redraw is causing the lags. If not, the cause is somewhere else (N900 GPS software/hardware lag ?).

To check tile loading:
options->Debug->Tiles->tile loading status to terminal - this will print debugging info to the terminal for every tile that is loaded, including how long it took & what storage method was used.

The log might get quite verbose as a result & I'd guess you would probably not want to check it while drawing at such quite a high speed, sou you might wan't to enable: options->Debug->Loggin->Log modRana stdout to file
This should dump all the terminal output to /home/user/MyDocs/modrana_debug_logs/ :)

Well, that was a bit exhaustive. :D

MartinK
2012-10-27, 13:57
MartinK: would it be possible to include aeronautical charts (as for example http://www.chartbundle.com/charts/) as a map layers option?
Yep, the tile & coordinate format looks compatible. But as there seems to be quite a bunch of layers available, I'll have to hack together some sort of layer grouping so that it doesn't swamp the layer-chooser. :)

BTW, if you find any other interesting map layers, I don't mind to add them to the built-in layer config (https://github.com/M4rtinK/modrana/blob/master/data/default_configuration_files/map_config.conf). :)


Also, it looks like modRana successfully cleared all the Maemo steps (thanks to all testers !) and is now available from Extras & Maemo Downloads (http://maemo.org/downloads/product/Maemo5/modrana/) ! :)

ade
2012-10-27, 14:07
MartinK,

I was pleasantly suprised by the option to use monav offine datafiles, as I usually don't use an internet connection when I am from home.

But I was not able to make it work till now. I downloaded the data (local car data) and extracted it in the map. And I can select that data somewhere in modRana. Nevertheless, the map keeps saying "Loading..." on a green background. Changing some other settings in modRana did not help.

Any idea what I am missing to fix this?

MartinK
2012-10-27, 15:31
MartinK,

I was pleasantly suprised by the option to use monav offine datafiles, as I usually don't use an internet connection when I am from home.

But I was not able to make it work till now. I downloaded the data (local car data) and extracted it in the map. And I can select that data somewhere in modRana. Nevertheless, the map keeps saying "Loading..." on a green background. Changing some other settings in modRana did not help.

Any idea what I am missing to fix this?
Unfortunately, modRana currently uses Monav only for offline routing.

The monav-preprocessor can create data for vector Map rendering & the Monav client can use them. But there is no interface for third-party applications, such as modRana, to use this functionality.

Possible solutions:

extending the Monav interface to output rendered map images (as map tiles ?)

would probably need to be done by the creators of Monav or at least someone with more C++ knowledge than I have :)
the interface (http://code.google.com/r/thomasmiedema-python/source/browse/routingdaemon/signals.proto?name=default)is based on Google's Protocol Buffer format (https://developers.google.com/protocol-buffers/), so returning binary image data would not be an issue

just using the Monav (or some other vector data) format for a different modRana compatible renderer, such as Kothic (https://github.com/kothic/kothic)

logix76
2012-10-29, 11:05
why qml version is not working ? Other version is ok

Latest thumb version, kp v52

thanks

Wikiwide
2012-11-01, 12:12
Quick message...
Generally, I don't have Internet while on the move (or consider it expensive, or it is too slow). And, I generally don't want to depend on online services to help me with something which I could have done myself. Therefore, I have made a prototype offline routing: user gives one start, one end, and many middle points, and they are turned into a "route". It requires text input for each middle point, so that the user would write the speeches for espeak - like, "turn left", "turn right", "bus stop", "train", and so on.
I would be grateful if you could integrate this into one of the next versions. Thank you.
Though, I still haven't tested the system anywhere.
Turn-by-turn navigation interface does indeed work with handmade route. But I'm not sure whether the values of distance-meters are correct here.
This is the latest version of file mod_route.py, for ModRana version 0.36.6 git:c59ca30.
A line should also be added into mod_menu.py,as line 1100, to make the GUI icon for handmade route visible:
self.addItem('route', 'Handmade', 'generic', 'set:menu:None|route:selectManyPoints')
It's not a final, polished version, I suspect; first, even though overall length of route is likely correct, the lengths of steps are most likely completely wrong; second, there should be a way, while creating a route, to edit, or even delete, middle points, in case one of them is set incorrectly.
Best wishes to all of you.
__________________
Per aspera ad astra...

MartinK
2012-11-02, 18:21
why qml version is not working ? Other version is ok

Latest thumb version, kp v52

thanks
I've just tested the current package on CSSU stable (nonthumb) KP 51 and it seems to work fine. Can you run:

modrana-qml

and post the output ? :)

This is the latest version of file mod_route.py, for ModRana version 0.36.6 git:c59ca30.
A line should also be added into mod_menu.py,as line 1100, to make the GUI icon for handmade route visible:
self.addItem('route', 'Handmade', 'generic', 'set:menu:None|route:selectManyPoints')
It's not a final, polished version, I suspect; first, even though overall length of route is likely correct, the lengths of steps are most likely completely wrong; second, there should be a way, while creating a route, to edit, or even delete, middle points, in case one of them is set incorrectly.
Best wishes to all of you.
__________________
Per aspera ad astra...

Thanks ! I've merged it locally and it looks fine. :) I like how the routing buttons are hidden once the "routing" so that the don't block the map. I think I'll probably do something like this globally:

once a route is found, show only a "current route" button
when clicking current route, show two buttons: "info" & "edit"
"info" shows the route info screen
"edit" shows the routing buttons

What do you think ? :)

Wikiwide
2012-11-03, 01:39
Thanks ! I've merged it locally and it looks fine. :) I like how the routing buttons are hidden once the "routing" so that the don't block the map. I think I'll probably do something like this globally:

once a route is found, show only a "current route" button
when clicking current route, show two buttons: "info" & "edit"
"info" shows the route info screen
"edit" shows the routing buttons

What do you think ? :)
Thank you. I like the idea, of minimalist interface and easy access to editing a route. Programming the editing of a route will not be easy, I expect - I don't know for sure.
And, several lines from mod_route.py, connected to creating the route from points, should be moved to way.py as a function (akin to fromMonav... and fromGoogle...) so that mod_route.py would not have to import geo. And while length of the whole route is calculated correctly, distance between two steps is right now calculated incorrectly (taken from options, like, announcing distance). Just listing the inconsistencies I remember in my own code.
Best wishes.
__________________
Per aspera ad astra...

Wikiwide
2012-11-05, 01:33
Thanks ! I've merged it locally and it looks fine. :) I like how the routing buttons are hidden once the "routing" so that the don't block the map. I think I'll probably do something like this globally:

once a route is found, show only a "current route" button
when clicking current route, show two buttons: "info" & "edit"
"info" shows the route info screen
"edit" shows the routing buttons

What do you think ? :)
Thank you. I like the idea, of minimalist interface and easy access to editing a route. Programming the editing of a route will not be easy, I expect - I don't know for sure.
And, several lines from mod_route.py, connected to creating the route from points, should be moved to way.py as a function (akin to fromMonav... and fromGoogle...) so that mod_route.py would not have to import geo. And while length of the whole route is calculated correctly, distance between two steps is right now calculated incorrectly (taken from options, like, announcing distance). Just listing the inconsistencies I remember in my own code.
Best wishes.
__________________
Per aspera ad astra...

I looked up ModRana on github, and this merge was not here. Oh, well... The distance between two steps, and therefore distance-from-start, are now calculated correctly. This latest version of mod_route.py is attached.
__________________
Per aspera ad astra...

MartinK
2012-11-05, 01:39
I looked up ModRana on github, and this merge was not here.

I'm doing the routing menu modification at once with merging your changes - I've changed quite a lot in the end, so I'll push it once it works again. :)

I normally try to push as often as possible, so this is something of an exception. :)


Oh, well... The distance between two steps, and therefore distance-from-start, are now calculated correctly. This latest version of mod_route.py is attached.
__________________
Per aspera ad astra...
Thanks, I'll add it in. :)

MartinK
2012-11-07, 22:18
modRana development update: :)

Wikiwides handmade routing has been merged
online routing routing now supports waypoint
modRana now uses a newer Directions API

looks like they added public tracport routing in June, so that could be also used in modRan in the future
I've also found than bahn.de (the backend used by Fahrplan) seems to do pan-European railway "routing" quite nicely, including nearest station search

new point2point routing UI that clutters the screen less than the old one
icon update for search presets
there was a modrana.org (http://www.modrana.org) outage on Sunday & Monday caused by a RAID crash, but everything should be now back to normal. :)

Also got modRana running on an ExoPC with Fedora & gnome Shell while on LinuxAlt (http://www.linuxalt.cz/):
http://www.modrana.org/images/modrana_exopc.jpg
Didn't have to change a single line or install any additional packages, just downloaded the master tarball from Github & started modrana.py.

ModRana detected the Atom powered ExoPC as a desktop computer and automatically used the correct device and GUI modules. :)

Looks like I'll really have to do those packages for Fedora after all. :D (https://plus.google.com/112917221531140868607/posts/Sb6sqx7wH2S)

justmemory
2012-11-08, 12:20
hello you all,

I would like to ask for some help: when I launch ModRana, it doesn't load the map on the device. when I launch it from terminal, it says: "process 2497: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5757.
This is normally a bug in some application using the D-Bus library.
process 2497: arguments to dbus_connection_set_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5721.
This is normally a bug in some application using the D-Bus library."

what sholud I do to make it work...? I use kernel version 2.6.28.10-power50. thanks in advance,

jm

Wikiwide
2012-11-08, 12:45
when I launch ModRana, it doesn't load the map on the device. when I launch it from terminal, it says: "process 2497: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5757.
This is normally a bug in some application using the D-Bus library.
process 2497: arguments to dbus_connection_set_data() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 5721.
This is normally a bug in some application using the D-Bus library."

what sholud I do to make it work...?
Quick reply...
I usually get this message when attempting to run ModRana as root. When you start ModRana in X-Terminal, it should be done as non-root.
Best wishes.
__________________
Per aspera ad astra...

justmemory
2012-11-08, 13:07
Quick reply...
I usually get this message when attempting to run ModRana as root. When you start ModRana in X-Terminal, it should be done as non-root.
Best wishes.
__________________
Per aspera ad astra...

thanks, it works - it starts, but still doesn't load the map (I set it up as written): "tile download failed due to network error". one more information (maybe I sholud have told this earlier): I didn't installed it wia internet connection, I installed only the dependencies' .deb file... so during installation it said: libqtm12 conflicts libqtm12contacts, etc., does not install.

MartinK
2012-11-11, 12:50
thanks, it works - it starts, but still doesn't load the map (I set it up as written): "tile download failed due to network error". one more information (maybe I sholud have told this earlier): I didn't installed it wia internet connection, I installed only the dependencies' .deb file... so during installation it said: libqtm12 conflicts libqtm12contacts, etc., does not install.
Any progress on this ? From the error message, it looks like a network error. Do you have Internet connectivity on your N900 ? ModRana currently needs Internet to download map tiles. Of course you can download the tiles beforehand and then remain offline. :)

The libqtm* are needed by the QML interface and should not be an issue if you run the classic GTK interface.

modRana 0.37.2 has been released !

* merged Wikiwides Handmade routing (Thanks!)
* reworked routing on-screen menu
* it is now possible to route through waypoints in online routing
* layer group support (in the layer selection menu)
* this enables seamless addition of more layers
* 3 new map layers from Stamen Design
* Toner
* Waterocolor
* Terain - USA only
* 2 new public transport layers
* Opnvkarte
* transparent public transport overlay
* new toplevel tracklogs menu
* enables easy clearing of all visible tracklogs
* icon update for search presets
* fix back icon appearance in route profile detail menu
* the centering button is now 50% transparent
* fix online elevation lookup


HOW TO UPDATE modRana MANUALLY
Due to the current autobuilder outage, please install the modRana package from the modRana Fremantle COBS repository (http://repo.pub.meego.com/home:/MartinK:/modrana:/modrana-fremantle/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_ standard/armel/) manually.

Alternatively you can add the modRana Fremantle COBS repository to your sources and update modRana normally:


root
echo "deb http://repo.pub.meego.com/home:/MartinK:/modrana:/modrana-fremantle/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_ standard/ ./" > /etc/apt/sources.list.d/modrana-fremantle-cobs.list
apt-get update
apt-get install modrana


Just note that this repository is a bit more bleeding edge than the usual Extras-devel uploads. :)

Also, I've got modRana running on Nemo:
http://www.modrana.org/images/nemo/modrana_qml_1.jpg
http://www.modrana.org/images/nemo/modrana_gtk_4.jpg
See this post (http://talk.maemo.org/showthread.php?p=1292672#post1292672) for more details and installation instructions.

justmemory
2012-11-11, 22:20
[QUOTE=MartinK;1292957]Any progress on this ? From the error message, it looks like a network error. Do you have Internet connectivity on your N900 ? ModRana currently needs Internet to download map tiles. Of course you can download the tiles beforehand and then remain offline. :)

The libqtm* are needed by the QML interface and should not be an issue if you run the classic GTK interface.


Thanks, MartinK;
yes, yesterday I removed modrana, and than installed it via internet connection; everything went smoothly. I extracted the downloaded map file (zip) to .maps/monav_data. I have the directories of 1. the country, 2. routing bike, 3. routing car, 4. routing pedestrian. I also set modrana to load the on device map, but it still does not load anything... do you have any idea what is wrong...? maybe should I try it with internet connection...? (nowadays it is a bit hard, no wireless nearby)

jm

MartinK
2012-11-11, 22:40
Thanks, MartinK;
yes, yesterday I removed modrana, and than installed it via internet connection; everything went smoothly. I extracted the downloaded map file (zip) to .maps/monav_data. I have the directories of 1. the country, 2. routing bike, 3. routing car, 4. routing pedestrian. I also set modrana to load the on device map, but it still does not load anything... do you have any idea what is wrong...? maybe should I try it with internet connection...? (nowadays it is a bit hard, no wireless nearby)

jm
The data packs currently server only for offline routing. Offline map rendering is work-in-progress.

Also regarding offline routing - see the modRana offline routing guide (http://wiki.maemo.org/ModRana_offline_routing_guide) & check out the modRana routing data repository (http://data.modrana.org/monav/) for more up-to-data routing data packs.

If you want to see the map while offline, use the "Download" sub-menu to download map tiles for your desired area while your N900 is online. The tiles will be saved to local storage and will be loaded from it once you are offline & on the way.

If you don't need to share your map tiles with other navigation Apps (Mappero, CloudGPS, Marble (?), etc.) you should consider switching to sqlite tile storage in options->Map->Tile storage, as it consumes much less storage space than the default files tile storage method.

Alternativelly, you can use your PC to download the map tiles by running GMapCatcher (http://code.google.com/p/gmapcatcher/) or modRana (Linux PC only) and transferring the tile folders to your N900 once done.

superpj101
2012-11-12, 02:06
I noticed that after some update its quite hard to click the onscreen button..? is it just me or is there any way to fix it. I tried to calibrate the touchscreen but still the same. Thanks and sorry for bad english.

justmemory
2012-11-12, 09:57
The data packs currently server only for offline routing. Offline map rendering is work-in-progress.

Also regarding offline routing - see the modRana offline routing guide (http://wiki.maemo.org/ModRana_offline_routing_guide) & check out the modRana routing data repository (http://data.modrana.org/monav/) for more up-to-data routing data packs.

If you want to see the map while offline, use the "Download" sub-menu to download map tiles for your desired area while your N900 is online. The tiles will be saved to local storage and will be loaded from it once you are offline & on the way.

If you don't need to share your map tiles with other navigation Apps (Mappero, CloudGPS, Marble (?), etc.) you should consider switching to sqlite tile storage in options->Map->Tile storage, as it consumes much less storage space than the default files tile storage method.

Alternativelly, you can use your PC to download the map tiles by running GMapCatcher (http://code.google.com/p/gmapcatcher/) or modRana (Linux PC only) and transferring the tile folders to your N900 once done.

hi, MartinK...!

I'm a bit confused now...: I downloaded the tar.gz files from the repo, extracted it to N900 - .maps/monav_data, but ModRana still does not load anything. I checked twice the proper settings written on modrana.org/offline routing, and did exactly what is written there. So there is .maps/monav_data/Hungary/routing_* - the 3 folders. So: should ModRana load the tiles, or sholud I still be online even though I have the maps on the device...? Or what do I exactly have on the device now...?
One other thing: I installed ModRana on my ubuntu - but I don't find tile folders - can you tell me where this is? I tried to use the download option, but please explain: if I choose for exapmle "around view" and "160km", do I get the detailed map (I mean will I be capable of to zoom in and out)? Also, I don't know where to find these downloaded files - I have no option to choose destination, and I could not find any downloaded file...

So my main question is this: is there a way, to download all the detailed map files (all the tiles, in all zoom level) to be capable of routing totally offline (like with the built in navigation ovi maps)?

Thanks,

jm

Wikiwide
2012-11-12, 12:17
I downloaded the tar.gz files from the repo, extracted it to N900 - .maps/monav_data, but ModRana still does not load anything. Or what do I exactly have on the device now...?
You have vector data for offline routing. It can probably already give you a detailed turn-by-turn route from one address to another, offline, as long as you have chosen Monav as Routing provider in Options.
I tried to use the download option, but please explain: if I choose for example "around view" and "160km", do I get the detailed map (I mean will I be capable of to zoom in and out)? Also, I don't know where to find these downloaded files - I have no option to choose destination, and I could not find any downloaded file...

So my main question is this: is there a way, to download all the detailed map files (all the tiles, in all zoom level) to be capable of routing totally offline (like with the built in navigation ovi maps)?

Thanks,

jm
These tiles (for OpenStreetMap, in this instance) are stored in "/home/user/MyDocs/.maps/OpenStreetMap II/{zoom level}/{x}/{y}.png". Or they can be stored in sqlite database...
When downloading tiles through ModRana, after you choose, for example, "around view" and "160km", you can choose zoom levels, such as "max down" and "max up". But it might take a lot of time to download them. However, the effort will be worth it. I frequently use 50/50 overlay of OpenStreetMap and Microsoft (Virtual Earth) 'satellite imagery'.
If you know another source of raster images, of maps or aerial view, which you would like to use instead, you can add it to file "/home/user/.modrana/map_config.conf".
Best wishes.
__________________
Per aspera ad astra...

MartinK
2012-11-12, 13:07
Thanks to Wikiwide for exhaustive explanation ! :)

I'll just add:
hi, MartinK...!
One other thing: I installed ModRana on my ubuntu - but I don't find tile folders - can you tell me where this is?
On PC, the map tiles are stored in your home folder inside the .modrana/maps directory. (If your Ubuntu username is for example also justmemory, the absolute path would be:
/home/justmemory/.modrana/maps
As the .modrana directory has . in front of its name, it is by default "hidden" and you might need to enable "show hidden files & folders" in your file browser to see it.

justmemory
2012-11-14, 11:08
Thanks to Wikiwide for exhaustive explanation ! :)

I'll just add:

On PC, the map tiles are stored in your home folder inside the .modrana/maps directory. (If your Ubuntu username is for example also justmemory, the absolute path would be:
/home/justmemory/.modrana/maps
As the .modrana directory has . in front of its name, it is by default "hidden" and you might need to enable "show hidden files & folders" in your file browser to see it.

yes, thank you Wikiwide, MartinK! I forgot to look for hidden folders... :)
anyway, i get it now; I just have to download the maps :)

thank you very much,

jm

tadzik
2012-11-15, 10:47
Hi,
Thank you very much for the amazing piece of software :)

I have an issue with dragging though. The default mode, full redraw is alright (beside being slow, but that's quite obvious). The "draw visible map" is a lot faster, and awesome for dragging, but it fails to detect when you're pressing a button (menu, zooming etc) instead of dragging a map. So when you try to get to the menu, it keeps moving the map by one pixel, which is quite frustrating.

Steps to reproduce:
1. Get modRana 0.36.6
2. Go to menu, options, map, dragging, select "drag visible map - fastest"
3. Get back to the map view
4. Attempt to press the [menu] button, especially with a finger.
5. Watch how the map moves by few pixels on every press, w/o pressing the button.

Any chance for fixing that in some future release? Faster scrolling is awesome :)

Thanks again for working on modRana.

jonwil
2012-11-15, 16:13
I would like to request support for Google GTFS public transit data.
The specs are public and are available here
https://developers.google.com/transit/gtfs/
The support would ideally include: (in order of how important this is to me)
1.Ability to feed in a GTFS data set from a URL or from a local disk file
2.Display of stops (whatever stops the GTFS data set contains) on the map
3.Ability to feed in a landmark or location or similar and have modrana figure out how to get from where I currently am (i.e. my current GPS coordinates) to the location specified using the next available public transport service (with the ability to identify that the only way to get there is to catch multiple vehicles and to provide details accordingly). It must also be able to handle walking (walking from where you are now to the nearest transit stop, walking from the final transit stop to the destination and walking between stops if necessary for changing vehicles) with the ability to set a limit on the maximum distance you are willing to walk (i.e. if you set this to a lower value it might then calculate a journey that will take longer in total but require less walking)
Also, the route calculation should have the ability to use stop numbers (if the GTFS data provides them) as landmarks for the routing calculation.
4.The ability to select a stop displayed on the map and see the next services scheduled to pass by that stop with their times
and 5.The ability to overlay a route on the map so you can see that exact route and where it goes (useful so you can see if a particular bus goes where you need to go and also so you if you are on a bus you can see where the bus you are on goes and identify when you need to get off)

rotoflex
2012-11-18, 06:51
Would it be difficult when in Night mode to draw the maps in negative colors?

sup
2012-11-21, 12:11
Can Modrana share map tiles (Google maps) with mappero? I have a large map downloaded for mappero at the moment (more or less efficiently stored: http://talk.maemo.org/showthread.php?t=74415 ) and would like to reuse them if possible.

And how effective is downloading OSM maps with sqlite enabled? I mean, how many zoom levels one gets for say the Czech Republic?

MartinK
2012-11-25, 17:48
Hi,
Thank you very much for the amazing piece of software :)

I have an issue with dragging though. The default mode, full redraw is alright (beside being slow, but that's quite obvious). The "draw visible map" is a lot faster, and awesome for dragging, but it fails to detect when you're pressing a button (menu, zooming etc) instead of dragging a map. So when you try to get to the menu, it keeps moving the map by one pixel, which is quite frustrating.

Steps to reproduce:
1. Get modRana 0.36.6
2. Go to menu, options, map, dragging, select "drag visible map - fastest"
3. Get back to the map view
4. Attempt to press the [menu] button, especially with a finger.
5. Watch how the map moves by few pixels on every press, w/o pressing the button.

Any chance for fixing that in some future release? Faster scrolling is awesome :)

Thanks again for working on modRana.
OK, should be fixed in 0.38.1. :)

I would like to request support for Google GTFS public transit data.
The specs are public and are available here
https://developers.google.com/transit/gtfs/
The support would ideally include: (in order of how important this is to me)
1.Ability to feed in a GTFS data set from a URL or from a local disk file
2.Display of stops (whatever stops the GTFS data set contains) on the map
3.Ability to feed in a landmark or location or similar and have modrana figure out how to get from where I currently am (i.e. my current GPS coordinates) to the location specified using the next available public transport service (with the ability to identify that the only way to get there is to catch multiple vehicles and to provide details accordingly). It must also be able to handle walking (walking from where you are now to the nearest transit stop, walking from the final transit stop to the destination and walking between stops if necessary for changing vehicles) with the ability to set a limit on the maximum distance you are willing to walk (i.e. if you set this to a lower value it might then calculate a journey that will take longer in total but require less walking)
Also, the route calculation should have the ability to use stop numbers (if the GTFS data provides them) as landmarks for the routing calculation.
4.The ability to select a stop displayed on the map and see the next services scheduled to pass by that stop with their times
and 5.The ability to overlay a route on the map so you can see that exact route and where it goes (useful so you can see if a particular bus goes where you need to go and also so you if you are on a bus you can see where the bus you are on goes and identify when you need to get off)
OK, that looks doable & useful. :) There seem to be quite a lot of GTFS providers (Googles list (http://code.google.com/p/googletransitdatafeed/wiki/PublicFeeds), GTFS exchange (http://www.gtfs-data-exchange.com/agencies)) already and there is even a module for working with the GTFS format in Python (http://code.google.com/p/googletransitdatafeed/).

Also the prospect of just loading the data once (+updates from time to time) and having the complete timetable for the whole area (where available) seems really useful. :)

I've added your featured request to the Github issue tracker (as the ticket interface on modrana.org seems to be causing issues with new ticket submission at the moment).

I'll probably probably work on this in stages (roughly in the corresponding to the order you've specified) and note the progress here & to the issue on Github). Can't really give a timetable though, due to all the other modRana related work items. :)

And of course anyone who can work with Python is invited to help with this. :)

Would it be difficult when in Night mode to draw the maps in negative colors?
Thanks for the idea ! I've implemented it in some version prior to 0.38.1. :)

Can Modrana share map tiles (Google maps) with mappero? I have a large map downloaded for mappero at the moment (more or less efficiently stored: http://talk.maemo.org/showthread.php?t=74415 ) and would like to reuse them if possible.

If you use the default tile storage method ("files"), it should share map tiles with Mappero automatically. Of course Mappero only sees the layers it expect to exist, which are IIRC Google, Google Satelite & OSM Mapnik and maybe a few others. It won't see new layers added to modRana after Mappero development was discontinued, such as the Stamen Design layers, the OSM Public transport layer, etc.


And how effective is downloading OSM maps with sqlite enabled? I mean, how many zoom levels one gets for say the Czech Republic?
This is not easy to estimate. But users reported pretty dramatic space savings with sqlite tile storage, in the order of 1600 MB before and 60 MB after for the same tiles (using the sqlite import script (http://modrana.org/trac/wiki/SQLiteTilesImportPerlScriptEN)).

Some related remarks:

Why is sqlite tile storage so efficient ?
Empty tiles (white squares) have about 130B, but consume a whole 64kB cluter on the FAT32 formatted MyDocs partition. In the sqlite database they consume only the 130B + a few bytes for metadata.

Tile count per layer
Every layer has 4 times as much tiles as the layer above.

Example: If your download has 100k tiles up on layer n, it will have 400k tiles on layer n+1. 500k for both layers.

Estimating batch download size
Is not easy as it depends on the level of detail in the current area. Generally a city center will require more storage than a rural are on a piece of sea or wilderness.

MartinK
2012-11-25, 18:01
modRana 0.38.1 has been (sort of) released !
Due to autobuilder still being broken, see instructions in this post (http://talk.maemo.org/showpost.php?p=1292957&postcount=1225) for instructions how to update modRana manually.

Whats new since 0.37.2:

* Negative map layer filter for night-time usage
* can be enabled in options->Map->Filters
* options: on/off/with night theme
* meridian & parallel grid
* can be enabled in options->Map->Grid
* grid color is configurable
* labels can be turned off
* scale is now properly themed
* fixed on-screen button clicking with fast map drag


Nemo Mobile packages available
Installable modRana package for Nemo mobile is now available from the modrana-nemo (http://repo.pub.meego.com/home:/MartinK:/modrana:/modrana-nemo/CE_MW_Shared_Mer_Core-next_armv7hl/armv7hl/) COBS repository.

tadzik
2012-11-25, 18:25
* fixed on-screen button clicking with fast map drag


Yay! Just checked it out, works like a charm. Thank you!

rotoflex
2012-11-26, 03:20
Such an excellent piece of work, Martin!

sup
2012-11-26, 09:55
If you use the default tile storage method ("files"), it should share map tiles with Mappero automatically. Of course Mappero only sees the layers it expect to exist, which are IIRC Google, Google Satelite & OSM Mapnik and maybe a few others. It won't see new layers added to modRana after Mappero development was discontinued, such as the Stamen Design layers, the OSM Public transport layer, etc.


Thanks for answering!

Hm, that does not seem to work. I have maps saved into .maps/GoogleVector/ but those are plain Google maps. Should not Modrana pick this up? (I have changed storage to files)

pichlo
2012-11-26, 10:09
Martin, is there any chance to merge your updates back into extras-devel? I get updates on other products, so there must be a way. I have added your repo to my list but I think such fragmentation is not good in the long term.

I upgraded to 0.38.1 last night and, on a whim, decided to do a big download. 160 km, all layers. It had done 37000 out of 1.4 million by the time I went to bed, so I let it work overnight. In the morning, I found a yellow pop-up saying that the operation was interrupted because of low memory. The phone was totally unresponsive. After 5 minutes of trying to coax it to react in any way, I gave up and pulled out the battery. After a reboot everything seems to work fine, only it took about 20 minutes to lock to the GPS signal. I would not blame modRana for that, I think it's simply the artifact of the GPS chip losing power. But the "low memory" error is a bit worrying.

On a personal note, I received your card a loooong time ago. I tried to PM you, did not get any error, but the PM did not appear in my "sent" folder so I assume it did not work. I did not have time to fiddle at the time and then... one thing led to another and I did not even realize how a month passed :) So... maybe a bit late, but thanks, it was very nice! :)

MartinK
2012-11-26, 15:10
Thanks for answering!

Hm, that does not seem to work. I have maps saved into .maps/GoogleVector/ but those are plain Google maps. Should not Modrana pick this up? (I have changed storage to files)
Hmm, thats weird - I remember setting it according to how Mappero names its folders but now it looks like it actually uses another name. :D

ModRana expect the Google maps folder to be called:

.maps/Google Maps


So, I see 2 possibilities how to fix that:

Editing the /home/user/.modrana/map_config.conf file and changing the Google Maps entry from:

[[gmap]]
label=Google maps
url="http://mt1.google.com/vt/"
type=png
max_zoom=21
min_zoom=0
folder_prefix=Google Maps
coordinates=google
group="google"

Into:

[[gmap]]
label=Google maps
url="http://mt1.google.com/vt/"
type=png
max_zoom=21
min_zoom=0
folder_prefix=GoogleVector
coordinates=google
group="google"

You basically just need to change to folder prefix. After that modRana will look for Google map tiles in .maps/GoogleVector/.

Please note that this file might get replaced by newer revision if a newer revision is available during a modRana upgrade - the old one should be renamed, not completely vanish.

Or if you just want to reuse the Mappero tiles in modRana, sou can just rename the folder so that modRana can see it with the default Google maps path:

cd /home/user/MyDocs
mv .maps/GoogleVector/ .maps/Google\ Maps


Martin, is there any chance to merge your updates back into extras-devel? I get updates on other products, so there must be a way. I have added your repo to my list but I think such fragmentation is not good in the long term.

The autobuilder is still broken - I've submitted a new package just this morning and nothing. The last successful build was 6.11. and since then it is broken. Nemein reportedly upgraded the Python version for some reason, which broke autobuilder. I really hope they get their act together soon as many users and developers are left out in the cold at the moment. :(

See these two threads for more info:
Extras-devel package import stuck ? (http://talk.maemo.org/showthread.php?p=1294063#post1294063)
downloads from garage.maemo.org fail? (http://talk.maemo.org/showthread.php?t=87759&page=3)

BTW, theoretically it would be possible to dput a modRana package directly to the repository. But the guidelines (http://wiki.maemo.org/Uploading_to_Extras-devel#.22non-free.22_packages) say that only non-free packages can do that.


I upgraded to 0.38.1 last night and, on a whim, decided to do a big download. 160 km, all layers. It had done 37000 out of 1.4 million by the time I went to bed, so I let it work overnight. In the morning, I found a yellow pop-up saying that the operation was interrupted because of low memory. The phone was totally unresponsive. After 5 minutes of trying to coax it to react in any way, I gave up and pulled out the battery. After a reboot everything seems to work fine, only it took about 20 minutes to lock to the GPS signal. I would not blame modRana for that, I think it's simply the artifact of the GPS chip losing power. But the "low memory" error is a bit worrying.

Hmm, that looks like a memory leak - I'll check out the code to see if I can find there does it originate from.
BTW, as it uses multiple threads & runs in the background it sometimes behaves in strange ways on Fremantle.


On a personal note, I received your card a loooong time ago. I tried to PM you, did not get any error, but the PM did not appear in my "sent" folder so I assume it did not work. I did not have time to fiddle at the time and then... one thing led to another and I did not even realize how a month passed :) So... maybe a bit late, but thanks, it was very nice! :)
Oh, I got your PM - but it looks like I forgot to to reply. Anyway, I'm really glad you got the postcard & like it! :)

sup
2012-11-26, 15:25
Hmm, thats weird - I remember setting it according to how Mappero names its folders but now it looks like it actually uses another name. :D

ModRana expect the Google maps folder to be called:

.maps/Google Maps


So, I see 2 possibilities how to fix that:

Editing the /home/user/.modrana/map_config.conf file and changing the Google Maps entry from:

[[gmap]]
label=Google maps
url="http://mt1.google.com/vt/"
type=png
max_zoom=21
min_zoom=0
folder_prefix=Google Maps
coordinates=google
group="google"

Into:

[[gmap]]
label=Google maps
url="http://mt1.google.com/vt/"
type=png
max_zoom=21
min_zoom=0
folder_prefix=GoogleVector
coordinates=google
group="google"

You basically just need to change to folder prefix. After that modRana will look for Google map tiles in .maps/GoogleVector/.

Please note that this file might get replaced by newer revision if a newer revision is available during a modRana upgrade - the old one should be renamed, not completely vanish.

Or if you just want to reuse the Mappero tiles in modRana, sou can just rename the folder so that modRana can see it with the default Google maps path:

cd /home/user/MyDocs
mv .maps/GoogleVector/ .maps/Google\ Maps



Yeah, this works, thanks. Will you consider changing the name of of the folder in the next version or would that be too much trouble? It would be nice if it worked out of the box, but I can see that probably there are not that many people now who would use it.

pichlo
2012-11-27, 11:39
Oh, I got your PM

That's weird, my Control Panel still says 0 sent messages :confused:

Never mind, as long as it's worked out in the end... :)

As an attempt to get back to the topic, I have a small suggestion. Though I suspect the implementation would be anything but small :) The idea is to save space by storing identical tiles and just cross-referencing them. Might be useful for those of us who live on an island: all ocean tiles are exactly identical.

Wikiwide
2012-11-27, 13:01
...a small suggestion. Though I suspect the implementation would be anything but small :) The idea is to save space by storing identical tiles and just cross-referencing them. Might be useful for those of us who live on an island: all ocean tiles are exactly identical.

Hmf... On the surface, the suggestion looks good. However, when deliberating on it, I decide that there are far too many blank spots on the map, and it would be much better to explore the ocean than to assume that it's the same everywhere. Exactly identical ocean tiles are boring. On the old maps of the times when Magellan and Vasco da Gama were sailing around the continents, in the Age of Discovery, many a sea serpent and beast were mapped (https://upload.wikimedia.org/wikipedia/commons/e/e2/OrteliusWorldMap1570.jpg). Currently, when wildlife is known much better - flying fishes, turtles, dolphins, whales, seals, sea snakes, eels, penguins and many others - they are not added to the maps, except, occasionally, tourist maps. Hence, boring ocean tiles.
Best wishes.
__________________
Per aspera ad astra...

pichlo
2012-11-28, 10:43
I retract my suggestion. Wikiwide's argument is too compelling.

MartinK
2012-12-10, 17:38
As I'm currently busy with school related stuff, I'll get back to replying & generally back to working on modRana once school it is taken care of during this week. :)

Ken-Young
2012-12-15, 18:02
When one downloads a large number of tiles, the download process pauses when the phone's backlight times out. It would be nice if that behavior were suppressed when a mass-download of tiles is taking place.

Kossuth
2012-12-27, 13:02
Can someone offer me some advide, as it seems that google-routing with addresses has ceased to work for me here in Finland. Couple of months ago I was able to use address to address routing online with Modrana, but now it does not work anymore. I tried purging modrana from my N900 and removed also opt/modrana/ and /home/user/.modrana , but the routning does not work. If I use point to point I can get directions as always, but the address routing just prints to console

tbt: error no route

I tried with different formats for the addresses and also only city names, but nothing seems to work. It looks like google has dropped Finland from its database?

Any ideas how to troubleshoot or get the errors more verbose?