![]() |
Re: [Announce] modRana: a flexible GPS navigation system
Sure it will work, in any country.
Just get GPS lock, open the application, choose in the options->map what tiles (images) you want to use (Google, OpenStreetMap, Google Satellite, Yahoo Satellite, Virtual Earth... wide choice) and then try to zoom in/out: either (if you have Internet) modrana downloads needed maps automatically, or you need to attach device to computer, in mass storage mode, and use PC to download the tiles: http://wiki.openstreetmap.org/wiki/C...le_downloading At first, I just manually saved images from http://tah.openstreetmap.org/Browse/tile/ZOOM LEVEL/X Coordinate/Y Coordinate/ but recently, I started to use JTileDownloader OpenStreetMap can have not good coverage in some areas; its advantage is the fact that you can personally make the map better, instead of filling in feedback forms to a company like Yahoo or Google. |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Quote:
Without using a db of some sort, I would either have to dump and load the whole datastructure each time, which could be slow and adding new features would be problematic in regard to already stored user data. Also, If I saved each POI as a file, I could hit the cluster issue, as with the tiles. Of course, there will be CSV export/import for backup and db content examination purposes. Quote:
Quote:
Spatialite is available from the repositories. IMO, you basically load some OSM data the database, perform some special queries and you get the route as result. Unfortunately, there seems to be a bug in the current Maemo version of Python, that makes it unable to load sqlite extensions. There also seem to be Python-bindings for Spatialite, but they are not in the repositories and would need to be packaged first. Also, there is the question if they would work with the current version of Python. There is also the possibility of running some sort of a separate routing daemon, with the added benefit of sharing the routing data between the numerous navigation apps (as mentioned by Woody in his comment to that article) on the N900. Concerning Memphis, the vector map drawing library, its currently not in the repositories. But if someone packaged it and its Python bindings it could be IMO quite nicely integrated with modRana. Vector map support would mean (simple) maps of large areas from small OSM vector files. An (old) version of libchamplain is in the repositories, but unfortunately without its python bindings. It could theoretically be used as an alternative map drawing widget and could be faster as the current modRana implementation because libchamplain is based on clutter which uses OpenGL ES for rendering on the N900. Any interested Packagers/PyMaemo people ? :) |
Re: [Announce] modRana: a flexible GPS navigation system
First off, i want to say that modRana was an essential tool for the Boston-to-Canada bike tour i just completed. I decided it fit my use case better than Navit because i was pregenerating routes in Google Earth/maps and needed a lightweight app to display the track overlaid on a map with several different map options for different tasks (i.e. satellite images for finding good campsites, topo cycle map for seeing hilliness, OSM for seeing road names and features). So, thanks for your work!
However, all wasn't peaches and cream:
Due to these issues, i used the gpsrecorder app to track my route instead of modRana, and that worked okay. Quote:
Thanks again for your work on this. It's fantastically useful for this kind of usage! |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
I have just sent the newest V0.16-1 to the autobuilder, the main feature is, as promised, the experimental sqlite tile storage support! :)
What is this good for ? As mentioned earlier in this thread and also in a related Mappero thread, tile take up more space than expected because each tile, even if only 500B in size, takes a whole 64kB cluster. When using sqlite for tile storage, there are basically just 2 files per layer, not the usual tens of thousands of files and folders. How to enable sqlite tile storage ? Go to options->map and switch tile storage from files to sqlite. Is it stable ? It seems to work OK for both normal automatic tile download (including overlay) and batch download. But some errors can still can show up, so please report any unusual behavior when using this ! :) What about the 4GB maximum file size limit on FAT32 ? When a size of the storage database reaches 3.7 GB, a new one is added. The is no limit on the number of storage databases. How does it work ? The tiles are stored in a sqlite database as blobs. There are two types of database files, lookup.sqlite and store.sqlite. The lookup file stores an database that indicates in which store the requested tile is. The store file has the actual data. Multiple stores should be numbered in ascending order, starting from 0: Code:
store.sqlite.0 Code:
table tiles (z integer, x integer, y integer, store_filename string, extension varchar(10), unix_epoch_timestamp integer, primary key (z, x, y, extension)) Code:
table tiles (z integer, x integer, y integer, tile blob, extension varchar(10), unix_epoch_timestamp integer, primary key (z, x, y, extension)) Both also have a table called called version which has an integer column called v. There is a single 1 inserted, which indicates the current version of the table. These database files are stored in the corresponding layer folders. When looking for a tile in the database, modRana first asks the lookup database and when it gets an answer, it asks the store described in the store_filename for the given coordinates. Could this be used by other navigation apps ? Why do you think I just roughly described how it works ? :D |
Re: [Announce] modRana: a flexible GPS navigation system
Great job; it's nice to have a workaround!
I haven't used modrana this week until today. I only had it open for about 10 minutes (it was still trying to get a GPS lock) when it locked up the device while the screen was blanked, similar to what i described above in my previous post. Is nobody else having trouble like this? |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Two small things to consider: 1> When presenting "miles until turn", maybe the user would prefer only a few digits of precision? 0.34 miles is fine, vs say 0.3405938451 miles. :) 2> Another e-speak filter for numbers... apparently "Turn right in 0.3452943523 miles" turns into "turn right in miles", vs "turn right in zero point three four miles" |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Progress update
I have been improving the sqlite tile storage integration and also took a look on the batch download feature. The old implementation did not reuse open download socket which was slow and inefficient, so I integrated the urllib3 which enables socket reuse. I got a bit entagled in all the threads used to handle all of this (there is the main thread, the thread that is running the download threads and a consumer thread feeding tiles to the sqlite database as it cant be used by multiple threads) but it seems to be finally sorted out. Next release should be therefore coming quite shortly. Quote:
Quote:
Quote:
Quote:
I changed the size estimation function for the next version so that it removes tiles that are available, so it should show the number o actually needed tiles after the tile estimation job finishes. Quote:
Quote:
Regarding the tracklog selection, what about a longclick near the track + "do you want to select track XY"popup ? Quote:
Quote:
Quote:
I was thinking about skipping the drawing loop if I can detect that the screen is off (it currently redraws even when the screen is blanked - as do many other apps IMO). As drawing and module state updates are two separate loops, logging etc. should still run normally. I could also add less pretty but more power efficient optional drawing methods (like not redrawing the map while it's being dragged, moving the map just once a while (like in mappero), etc.). Quote:
If you just want to get rid off the files and don't mind the other apps, just manually remove all the numerically named subfolders in the map layer folders. Quote:
|
All times are GMT. The time now is 13:04. |
vBulletin® Version 3.8.8