![]() |
Re: directions_filter.csv
Quote:
Quote:
Quote:
I never messed with VNC, never really used it. Will try to look into it... Anyhow, I currently see two possibilities for improvement when using VNC: Currently, I use 24-bit color profile, to make modRana useable with the VNC viewer, otherwise the colors got distorted. Other possible viewer profiles are: 256, 64, and 8 colors, or greyscale, and black-and-white. So would it be possible to limit modRana's colors to 8 or max 64 on startup programatically? This would decrease the amount of data sent drastically? Second, have an option in modrana to update the display only let's say every second, so that this would also decrease the data sent significantly? This might make modRana useable under VNC? |
Re: modRana on Android
The more I think about it, the more I think it's the continuous display updates, more than anything.
Martin, would it be possible to have an option allowing you to select how often to redraw the main window, i.e. continuous, and then once in how many seconds...? |
Re: modRana on Android
Quote:
Quote:
Also by default, when a new tile is loaded, the screen is redrawn - this might be an issue when moving too fast, eq. many new tiles are loaded all the time. this behavior can be disabled in Options->Debug->Tiles->Redraw screen once a new tile is loaded. Might help to reduce the number of redraws quite a bit. There is also another trick used to reduce the are that needs to be redrawn: Just update the area around the position indicator and redraw the whole screen only once it gets too close to the edge (TangoGPS works like this). This is not yet implemented in modRana. Quote:
You can debug this by enabling Show GPSD debug output in Options->Debug->GPS and checking how often the a new fix is reported. Quote:
Quote:
Quote:
Quote:
|
Re: modRana on Android
OK, something fishy is definitely going on...
I did uncheck the 'redraw once new tile is loaded' option, and then: it seems modrana still gets stuck, in a funny way... The cursor position, and the blue box with directions would disappear for 10-20 seconds at a time, while the underlying map, with the traced route is visible... Anyhow the cursor and blue box would flicker on for a split second, only during this time, if you'd touch the screen, I could access the menu. It is apparent that gpsd is not the hog though, since once I'd get in the menu, I could flip through options and nothing would get stuck, though gpsd is clearly still running in the background. Once out in the map though, it'd get stuck again. Tried to display the tile load times in terminal, that's when I noticed some python cairo errors coming up in the terminal. Anyhow, couldn't capture these, as my drive just ended. Said something about impossible rotation though or something. I'll capture the full errors in the morning and post. Could it be, that there's some python/cairo mess-up going on and due to this the display is getting stuck? |
Re: modRana on Android
Quote:
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
If I start downloading map and stop it in the middle of downloading, then download the map of the same (or say locations that will overlap with whatever map I have already downloaded) then will it download all the maps again or will it share the previous data with the new download?
I was trying to download 80Km map with all possible zoom levels, I don't seem to be able to download whole map at once (left it overnight once, result was restarted device in the morning). Maybe I will use pc for downloading maps now. |
Re: [Announce] modRana: a flexible GPS navigation system
Some providers limit how many map tiles you can download in a set time-frame, and start blocking/banning you if you do too many too fast. Try choosing another map provider.
As to the question: Yes, if you download 10% of the tiles, they're still there. When you re-start, it will skip downloading those tiles as it hits them. At least that was true the last time I used it, to grab tiles. I cached 90% of the area I usually am in, and rarely get tile traffic because of that now. |
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
Request for comments - modRana roadmap
While designing the new Qt/QML based GUI for modRana I wrote a roadmap. The roadmap currently contains mostly GUI related stuff but status of other items (offline routing/map rendering, voice output localization, offline POI catalogs, etc.) should show up eventually. I will update the status of the items as the work progresses. So, what you you think ? Have a better design proposal ? Is there something missing or not clear enough ? Don't hesitate and tell me! Or even just edit the wiki article itself(but please add your nick to your edits so I don't miss them & can react). Also, modRana now has its own Maemo wiki page. |
Re: [Announce] modRana: a flexible GPS navigation system
A short progress update:
I'm finished with adding modular GUI support and the current GTK interface now runs from its own GUI module. I have also transplanted a Qt GUI module from Mieru but it still needs some work to actually do anything. :) I added support for proper CLI arguments handling - currently only for specifying the which GUI and device modules to load. Theroadmap has been updated to show what items are done. |
Re: [Announce] modRana: a flexible GPS navigation system
thank you for the hard work!!
|
Re: [Announce] modRana: a flexible GPS navigation system
Man, I am so looking forward to the harmattan version. Nokia maps suck POI wise here in India and cloudGPS is too gimmickky and buggy
|
Re: modRana on Android
Quote:
Anyhow, I did capture it finally, and it definitely seems to be pango/cairo based, though no idea what it's about. Am posting the full log of a short run just in case, though the error seems to be one and the same... Edit: had to cut out some of the error log, as the resultant text is too long to post... Code:
~ $ modrana |
Re: [Announce] modRana: a flexible GPS navigation system
Thanks a lot for such a wonderful navigation app. Its the best I havd tried in N900. And now you are moving to Qml, I would expect sexier UI! Can anyone tell me what this app doesn't (yet) do as compared to Sygic Mobile Maps except offline routing (which is very nice feature and modrana should be getting it soon). Thanks a lot for continuing the development of this great app, thanks from the heart.
|
Re: modRana on Android
Quote:
A few questions: How does this look like on the screen (IMHO at leas some text and graphics should be missing)? Does this happen with or without map rotation ? Do you use map layer overlay ? Also an unrelated question - can you check what Qt version is available in your Chroot and if QML and PySyide/PyQt are available ? So that I know if the new QML/Qt Components based GUI is also relevant for the Andoroid Chroot or just for native environments. BTW, thanks to THP, there is now both PySide and Qt available for Android so modRana with the new Qt GUI should be also able to run natively on Android in the near future. :) Also a progress update: The GUI logic is now completely separated from the main modRana class and there are now two functional GUI modules - GTK and QML. I spent the last few days making sure that both GUIs work as expected and that there are hopefully no regressions in the GTK GUI. The QML GUI currently only shows a white window it finally starts & shuts down cleanly so I can start porting views from AGTL (map view, Augmented Reality view, compass) and writing my own (menu, listable menu, tracklog info, poi detail, search, routing, download manager, etc.). Also, due to outdated Qt & PySide on non-CSSU Fremantle modRana might be CSSU-only, at least for the start. CSSU also basically has the same PySide, Qt, QML and Qt Components versions as Harmattan, making maintenance easier due to single code base. |
Re: modRana on Android
Quote:
Quote:
Quote:
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Hey thanks for this great program. It's my primary GPS program nowdays.
One thing i've noticed lately: If you try and use open cycle maps, the tiles all fail to download - i get the 'due to network error' tiles instead. Have OCM changed their address or something? It shouldn't be my end as this is both on wifi and 3g, and all the other maps work. Has anyone had this problem? Anyway, thanks! Can't wait to try out the AR mode in the new version. :) |
Re: [Announce] modRana: a flexible GPS navigation system
I saved a POI with name name "Tuscany Suites & Casino". Funny part is neither the name of the POI is listed under the POI (or say an item with blank name is listed), nor the description is shown in the POI detail. I can see that its because of "&". Please fix it.
Also while saving a route as a tracklog it is not saving the correct date. Its currently 10:51 3/7/2012 (GMT-8) but the last modified date is something like 6:48:34 8.3.2012, surely some time zone calculation error as far as I can see. Also searching for something like "Tuscany Suites Hotel & Casino, 255 E. Flamingo Road, Las Vegas, Nevada 89169 " doesn't seems to return proper address. Am I right to say that search of address is performed via Google irrespective of tile provider being used? Google earth provides proper result (or results with proper one) in pc. Thanks! |
Re: [Announce] modRana: a flexible GPS navigation system
Qt GUI progress update
This time with pictures. :) http://modrana.org/images/qt_gui/qml_map_landscape.png Map view in landscape http://modrana.org/images/qt_gui/qml_map_portrait.png Map view in portrait The map view is mostly based on the PinchMap from AGTL, with some added buttons - for the menu and a fullscreen button (probably not needed on Harmattan). http://modrana.org/images/qt_gui/qml..._landscape.png Main menu in landscape http://modrana.org/images/qt_gui/qml...u_portrait.png Main menu in portrait - the menu is scrollable http://modrana.org/images/qt_gui/qml_options.png Options menu http://modrana.org/images/qt_gui/qml...ns_pressed.png Options menu, demonstrating button-press feedback When a button is pressed, it sinks a bit and changes color to a lighter tone (all of this is smoothly animated) and the caption text becomes bold. I choose to to use the icon-grid menu because it works quite nicely both portrait and in landscape. Still, I would like to trim the number of "levels" one has to go through to get something done. Other GUI elements would be more "modern": lists with kinetic scrolling & search, full screen selection dialogs, proper text entry fields, sliders, etc. This is thanks to the huge array of modern GUI elements available in QML, in contrast to having to write everything from the ground up when using (the quite slow) combination of Cairo and GTK. Concerning icons, a general face-lift and design unification might not be a bad idea - any theme artists out there ? ;) PS.: I've seen your questions and will answer in a follow-on post. :) |
Re: [Announce] modRana: a flexible GPS navigation system
Looking great man. How should I prepare to get ready for testing on Android?
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
I think I'm gonna need some help with this one.
I want to have a detailed map of a few cities pre-cached. I go to the city in question, then 1) Download -> around here -> 20 km 2) down max, up max (by the way, what do "down" and "up" mean? Does "down" mean zoom in, or zoom out?) 3) It works out 23k tiles 4) I zoom around the city and it tells me tiles must be downloaded. I don't know what area was actually downloaded. I believe I'm wrong somewhere, but don't know where. It would be of great help actually to have those settings illustrated. Say, here's a modrana window, scale is so and so, and the area to be covered is highlighted in blue for each mode. By the way, sqlite interactions are prone to segfaults on amd64 python 2.7. It is for sure a regression on Python/SQLite side, but there needs to be a way to work it around. Also, if anyone has set up a local tile server for modrana to use (say on a local network), could you please share how you did it? The openstreetmap wiki has the notorious open-source documentation problem, where old and outdated docs are intermixed with the current ones in an amusing enough way to leave one occupied for a week if not more. |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Also, what tile layer are you trying to download ? Some tile providers (eq. Google) are unfortunatelly notoriously unfriendly to batch downloads. Also, were there some failed tiles during download or some error messages on stdout ? Please also check out if you have libmagic installed - modRana is using it to verify if the "tiles" it downloads are actually map images and not html error documents complaining about batch tile downloads returned by the tile provider. Quote:
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Quote:
Quote:
Another way would be a batch rendering with Mapnik (and not mucking around with mod_tile and friends) and mass import into SQLite, but the link to a Perl script posted a few pages ago is dead. Quote:
Quote:
Quote:
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
Quote:
Quote:
Concerning the labels: around here = download is centered around current GPS coordinates (renaming this to "around current location or "around coordinates" might make this less confusing) around view = download is centered around a point in the middle of the currently visible map (probably should be also renamed to "around map center") Quote:
Tile loading works in a similar manner - there is a tile loading worker thread that processes tile loading requests from a queue and loads tiles from database to a in-memory cache, guarded by a mutex. Not sure if the tile loading thread is really needed on on newer Python versions though. Quote:
mod_mapTiles - draws the map and automatically downloads visible tiles mod_mapData - handles batch tile download mod_storeTiles - handles tile storage, both to files and to sqlite, contains both worker threads mentioned above and all database handling logic BTW, there is a description of the tile database structure on modRana project wiki. |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Some pitfalls: 1) when populating the data for the first time, I forgot to enable hstore and use -k for osm2pgsql, and was badly screwed in terms of number of retries. 2) if you want to have not one country, but, say, two bordering countries, and hope to reduce processing time by downloading corresponding datasets from, say, download-fabrik.de — think again. Right at the border, there will be duplicate nodes on those maps. They all also contain some duplicate nodes needed to create overviews, at least capitals of other countries are mapped. This means that importing countries one by one will fail on the second country. I don't know how to resolve this, but the easier for a human (but not for the machine) way is to download the whole continent, import it and render the bounding boxes as you like. 3) the rendering time is, too, rather slow. I wonder if using PyPy would speed it up a bit. UPD It won't, unless by some miracle PyPy supports Boost bindings. |
Re: [Announce] modRana: a flexible GPS navigation system
Beermad replied to my PM. He is searching for the script and it should be again online soon. :)
|
Re: [Announce] modRana: a flexible GPS navigation system
That's good, I already have gobs of tiles to import. :)
In short: don't muck around with osm2pgsql on a regular machine if aiming at a whole country: it would either be very long, or it will fail after quite a while trying, because you don't have enough RAM. Use imposm, it's cool, it works in reasonable amounts of time, its documentation is good. Then you will have the problem that osm.xml shipped with Mapnik doesn't work. This is because it's tuned for osm2pgsql, and imposm uses a totally different schema. By the way, I don't know if OSM-Bright's default style is broken or it is the way in which imposm imports its data, but with this combination you won't get city boundaries. It might suck. I have installed carto, went to OSM-Bright, converted their stylesheets to Mapnik's with carto, and now tiles are being rendered. The conclusion: OSM tools are a mess. Another conclusion: go buy a paper map or an unlimited data plan if you really value your time, and don't ever go places with poor cellular coverage. Yet another conclusion: it's a nice idea to pre-render some large chunks of the world at all zoom levels and distribute the resulting SQLite files. Shame no one has done it yet. |
Re: [Announce] modRana: a flexible GPS navigation system
An idea worth considering: an empty tile takes 103 bytes as a file + storage overhead of a row in SQLite. At high zoom levels, OSM has lots of those. Maybe it's worth to have one more column in the lookup table to indicate an empty tile and thus process it more quickly?
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Of course a proper, more automated (building, distribution & import) solution tile package handling should be implemented eventually. :) BTW, just got a and email from Beermad, the import script is back on-line ! :) Quote:
So something like this ? Code:
table tiles (z integer, x integer, y integer, store_filename string, extension varchar(10), unix_epoch_timestamp integer, empty integer, primary key (z, x, y, extension)) 0 = nonempty And possibly other values (like for ocean or other solid-color tiles). But that might be taking it too far & unnecessary complicating it (also something like that should be probably in the store database, not in the lookup one). EDIT: On the other hand, solid color PNG tiles should be really small, so probably not worth the bother & database handling complications. :) |
Re: [Announce] modRana: a flexible GPS navigation system
1 Attachment(s)
Yep, empty PNGs are just 103 bytes in size. But you can take advantage of preloading one at the very start, and rendering it wherever an empty tile is needed, thus conserving some time (and battery) otherwise spent on decoding. In terms of database disk size, getting rid of them would yield next to nothing.
As for sharing the pre-renders, I suspect it would take a few months to do them on commodity hardware (three days for Poland, zoom levels all the way to 15 and 16-18 for select cities); also, to achieve acceptable results, the database for the whole planet is needed (for some reason I've got proper administrative borders only around one of two countries). Also the stylesheet I ended up with, default one from OSM-bright (which played well with imposm data) is bad, too low contrast to be viewed on a phone. Font size is also next to pathetic. |
Re: [Announce] modRana: a flexible GPS navigation system
I installed modrana few weeks back and recorded 3 tracks. Then I used the "show on map" feature to plot them on the maps, all 3 of them. I dont know when after that this problem started that modrana is not downloading any tiles anywhere, I have tried zooming in/out a lot, change map location, restarted the device several times, the tiles just dont load anymore and all I see is the "Loading" in each tile. What can I do to provide the debugging info so this can be debugged. I was thinking I should uninstall and install, but I have not done that yet.
|
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
It would indeed probably speed things up both in the current GTK interface - you would just draw a rectangle and fill it with solid color instead of loading an image to an image surface and then painting it. It would also make sure only real tiles are cached (the amount of cached tiles is currently limited by their count). In the QML interface it would help too - just drawing a colored Rectangle instead of an Image element. But the performance is already very good, so it might not be that needed in this case. To detect that a (downloaded) tile is empty, simple == comparison might be enough & pretty fast, as a different size is automatically False and comparing 103 Byte sized files should be very fast. Or just get the header, check size and don't download it in the first place, just mark as empty. :) Quote:
Proper on-device realtime rendering would be ideal though - I have to finally look how the Kothic renderer actually works. I met some people on the SotM in Viena suggesting that Mapnik is horrendously inefficient so it might indeed be possible. :) Quote:
At least this tools does custom rendering from OSM snapshots and uses them default stylesheet, so it should be possible: http://osm.kyblsoft.cz/historie/ (the text in the header says that you need to select on the plus in the upper left corner to select the snapshot) |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Code:
modrana |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Quote:
I also have this idea of using a clustered setup. I also don't want my Twisted knowledge to rust. The company I'm working at announced an R&D lab for noncommercial, spinoff and hobby projects, so maybe someday I would talk them into building the most efficient OSM rendering farm in the world. Seeing demise of t@h, OTOH, I'm a bit skeptical about this one. Quote:
Quote:
OSM works generally by building a geospatial database out of its input files, and schemas can be designed in different ways. The xml styles for maps are tuned to a particular schema, containing all the queries. The osm.xml shipped with Mapnik is tuned to their own database schema as produced by osm2pgsql tool, which either is dog slow or requires gobs of memory (8 GiB is way too small for Poland, let alone Europe). imposm, on the other hand, handles data much more efficiently on your average desktop/laptop hardware, my humble entry-level Thinkpad would crunch all of Europe in around 4 hours which is fast. The problem is, tables, tags and so on as produced by this tool, are totally different from what osm2pgsql provides. So, in fact, I had to google "imposm osm.xml style compatible" and so on, getting irrelevant things at the top, until I've found OSM-bright and Carto. Then, the stylesheet produced makes what you see on the screenshot. The OSM XML is so big that I don't have the faintest idea what to tweak so it would work. Or maybe I would leave osm2pgsql running for a weekend with the latest Europe data, set up a cron job to incorporate differences as they flow in (osm2pgsql data allow this, imposm don't, AFAIK), and then render particular countries (so they have consistent data at the borders and so that anyone would be able to merge tilesets as he wishes). |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
I can see that Rana (on which modrana is based) actually uses vector data rather than tile data, any specific reason for modrana to use tile data while starting the port? |
Re: [Announce] modRana: a flexible GPS navigation system
Quote:
Another way is to use OSM data (maybe in PBF format) to do the same, but I'm wondering how much study one has to invest into it, and how efficient would it be in the end. Wouldn't it be that in addition to quite big OSM datafiles there would need to be an even bigger index to efficiently search for needed data fragments? Tiles are simple, on the other hand, and straightforward. You don't need to muck around with projections all the time, resorting instead to simple Cartesian arithmetic. Maybe when the phones grow another gigabyte of RAM and a few more processing cores, these reasonings will be outdated. |
Re: [Announce] modRana: a flexible GPS navigation system
By some clever use of normalization and a few lines patch for ModRana I have been able to slim dataset for the whole of Poland with zoom level up to 15 and select cities up to 18, from 4792M to 4589M. That's the whole 203 megabytes less, with no performance impact.
I also wonder how much it would be squeezed further by using png16 instead of png256. It would, of course, require a new low-color stylesheet too... And some tweaks to renderer |
All times are GMT. The time now is 02:56. |
vBulletin® Version 3.8.8