Notices


Reply
Thread Tools
Posts: 958 | Thanked: 483 times | Joined on May 2010
#781
try copying the tiles to a pc and running your script there.
 
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#782
Originally Posted by slender View Post
I promised to post some example from tomtom gui so here it goes
http://aijaa.com/v.php?i=000948347385.jpg
Thanks !

Originally Posted by slender View Post
1. Animated compass needle showing your current direction in degrees.
So this is basically current bearing vs north ? How useful is it actually ?

Originally Posted by slender View Post
2. Graphical sign for next turn & distance to turn

3. The number or name of the road your are turning
This info should be hopefully available once modRana starts using Monav. BTW, I'm already starting to test it's Python bindings.

Originally Posted by slender View Post
5. Zoom buttons (Far away from each other to minimize occurrence of miss taps of wrong button)
The zoom buttons in modRana are IMO already far enough - but is shows nicely how elaborately is the TomTom GUI designed.

Originally Posted by slender View Post
On N900 maybe the best compromise would be to use right or left edge of screen with column of ~200px
And maybe automatically switch to the bottom once the device is rotated to portrait ?

Originally Posted by gkuenning View Post
Martin, quick question (because I'm too lazy to dig through the code right now!):

How hard would it be to allow turn-by-turn routes to be imported from a file?
Well not that difficult IMO.
Actually, thanks to your speed based voice message triggering patch modRana no longer needs the Google provided triggering distances. So a simple GPX file with some points having routing messages (using the <cmt>, <desc> or eveng <extension> tag ? GPX 1.1 schema) should be now quite easily usable for routing.

Some notes to this:
  • modRana already does GPX loading for the tracklogs
  • the Turn-by-Turn navigation module currently just processes the raw Google Directions result
    • a simple generic class for storing route/tracklog info might be needed
    • which would also help adding new online/offline routing providers, storing and loading routes, automatic route reloading at startup, etc.

Originally Posted by kureyon View Post
There is a problem with displaying Chinese characters when using POI search:
Thanks for reporting! I'll check it out - looks like a Unicode conversion error to me.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)

Last edited by MartinK; 2011-07-23 at 17:22.
 

The Following 2 Users Say Thank You to MartinK For This Useful Post:
Posts: 3 | Thanked: 0 times | Joined on Jul 2011
#783
each time I try routing I always get "no route found". can someone tell me where I am going wrong?
 
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#784
Originally Posted by beermad View Post
Terrific application and amazingly full of features considering how new it is.

As an interim measure until you manage to include a feature to import tile files into the database, I'm writing a Perl script to do the job.
There is some rough sqlite tile storage documentation on t the modRana project website.
Its currently quite basic so please let me know if you find any errors or omissions.

Originally Posted by beermad View Post
I can see from the structure of the SQLite databases that it's designed to have multiple store.sqlite.n files (presumably because otherwise the store could get ridiculously large: it looks like my 200 000 tile files would make for a file of about 2G). What logic do you use to decide when to create a new one? Is it when the last one gets to a certain size threshold?
It lists the folder for available store files, then it checks them sequentially until it finds one that is under the maximum size threshold. If no such store is found, new one is created. Maximum store size threshold is 3.7 GB.

The Python code that does this in modRana is here:
http://modrana.org/trac/browser/trun...eTiles.py#L200

Originally Posted by beermad View Post
Once I've incorporated that into my script I'll post it here for anybody who might find it useful.
Can including it in the modRana package once it's done ? - Only if you don't mind, of course.
This way it could be placed in /usr/bin and would be easily callable as it would be in $PATH.

Originally Posted by beermad View Post
Looks like it's a slow process if you've got a lot of tiles, though; my current test job has been running for about 90 minutes and has only imported 13 000 tiles.
I hit something similar - the solution was not to commit after every tile but just once every 50 or so tiles. This made the process quite faster IIRC.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)

Last edited by MartinK; 2011-07-23 at 18:31.
 
Posts: 21 | Thanked: 7 times | Joined on Jul 2010 @ Ipswich, England
#785
Originally Posted by MartinK View Post
It lists the folder for available store files, then it checks them sequentially until it finds one that is under the maximum size threshold. If no such store is found, new one is created. Maximum store size threshold is 3.7 GB.
Ah, good. Nice and big. I wondered if maybe the size was restricted for performance reasons

Can including it in the modRana package once it's done ? - Only if you don't mind, of course.
This way it could be placed in /usr/bin and would be easily callable as it would be in $PATH.
Quite happy with that in principle. In practice it may be tricky as the script has dependencies on the Perl DBI and DBD-SQLite libraries, so my original design is for it to be run on a normal Linux system rather than on the N900 (probably rather faster there as well). But I'll see if I can port the necessary libraries and bundle up what's needed.


I hit something similar - the solution was not to commit after every tile but just once every 50 or so tiles. This made the process quite faster IIRC.
Good point. I need to build in a restart facility as well; a long-running process like this needs to be interruptible.
 

The Following User Says Thank You to beermad For This Useful Post:
Posts: 73 | Thanked: 33 times | Joined on Nov 2010
#786
Is there a problem in the latest version with displaying composite tiles?

I haven't used it in a long time, just using OSM, but tried just now a couple of times with OSM and Virtual Earth Sat and it just gets stuck on Loading... for each tile. Individually both work, but composite doesn't...
 
Posts: 73 | Thanked: 33 times | Joined on Nov 2010
#787
It seems the display fails for overlaid images, when one doesn't have the tiles to display, i.e. you zoom too much in for instance, so that no sat images are available.

Whereas before it overlaid also the not-available tile info, not it just shows loading...

But when I zoom out a level, it works.
 

The Following User Says Thank You to jj0 For This Useful Post:
Posts: 21 | Thanked: 7 times | Joined on Jul 2010 @ Ipswich, England
#788
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:
Code:
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:
Code:
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.

Last edited by beermad; 2011-07-26 at 15:25.
 

The Following User Says Thank You to beermad For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#789
Originally Posted by jj0 View Post
It seems the display fails for overlaid images, when one doesn't have the tiles to display, i.e. you zoom too much in for instance, so that no sat images are available.

Whereas before it overlaid also the not-available tile info, not it just shows loading...

But when I zoom out a level, it works.
ModRana now overlays the two tiles only once and then caches the result & displays the result. Before the tiles are combined, only the loading tile is shown.

Like this, when tiles from one layer are missing, nothing is shown.
This can be IMO improved:
  • just showing the "good" layer
  • overlaying with the error tile to inform the user that one layer is broken

Originally Posted by beermad View Post
OK, I've got a working Perl script to import map tiles into the database.
Can I put your script & HOWTO on the modRana wiki ?
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)
 

The Following User Says Thank You to MartinK For This Useful Post:
Posts: 21 | Thanked: 7 times | Joined on Jul 2010 @ Ipswich, England
#790
Originally Posted by MartinK View Post
Can I put your script & HOWTO on the modRana wiki ?
Certainly. Be my guest. Hope it's useful to a few people.
 

The Following User Says Thank You to beermad For This Useful Post:
Reply

Tags
bada rox, martin_rocks, modrana, navigation, openstreetmap, the best, wehasgps


 
Forum Jump


All times are GMT. The time now is 20:52.