Active Topics

 



Notices


Reply
Thread Tools
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#291
Originally Posted by extendedping View Post
Just to chip in, I have not used modrana in a while (have not taken a long drive) but I too experienced multiple lock up have to remove the battery issues. I think if I recall it happened mostly when calculating a route.
This might actually be a separate issue, at least sometimes.
ModRana does not actually calculate routes, but asks an online service. ModRana currently waits for a reply and the GUI freezes while it waits.
The reply usually comes instantly on a good connection, but it can take a while on a slow one. This means that the modRana interface might freeze for up to 30 seconds (current connection timeout value) if the query or the result gets lost.
Thats clearly not ideal and I am going to implement the queries in a separate thread. There should also be a "getting route" overlay with a cancel button.

Originally Posted by woody14619 View Post
Ah.. I was talking about renaming the saved gpx files made for when you get a route from online, not the logs you make yourself, though that is handy to know too.
OK, I can make it to show a pre-filled entry box when saving online routes, like when saving online POI.

Originally Posted by woody14619 View Post
What format does it come in from the route server as? Maybe you can just save it in that format (with it's own extension) for later loading. I wouldn't mind having a difference between routes and logs, especially if I can make a route (say on Goggle maps) and export it in some way that modRana would understand.
I get them from the GoogleMaps module as a nested python dictionary. IMO, it would be quite easy to serialize it to and from a file. But I'd rather integrate it with the current tracklogs, than add a third way to represent a track to modRana

Originally Posted by woody14619 View Post
Looks nice, except for one tweak. I was thinking the alerts would be more like 10k and 2k out, vs 2k and 1k. When you're going 100kmhr, 2k isn't much warning, especially on a multi-lane highway. It can take 3 or 4K just to get over to the proper lane sometimes.
Good point, I'll also add a 10k trigger then

Originally Posted by woody14619 View Post
In the not too distant future (Thanksgiving-ish) I may have some time to work on porting a tile server to the N900. If so, it could act as a local server (backup) for non-networked usage. I've made some pretty extensive changes to an opensource tile server for a group I've been working with, and think it may be pretty doable to get it up and running on here.
Well, that sounds very interesting !

I already see quite a few things to do with it:
  • using tiles from the local tileserver without saving them (provided the rendering is fast enough) could save quite a lot space as the vector data for the map server should be quite small in comparison to saving tiles for a whole area
  • automatic switch to the local tileserver when the remote on becomes unavailable (+ manual override)
  • download and manage vector data for the tileserver directly from the device
  • different tile styles (night, bike optimized, etc) - if the server supports it
  • generate tiles with transparent background for using as overlay - (I have actually yet to see an OSS tile layer with total transparency
__________________
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 3 Users Say Thank You to MartinK For This Useful Post:
woody14619's Avatar
Posts: 1,455 | Thanked: 3,309 times | Joined on Dec 2009 @ Rochester, NY
#292
Originally Posted by MartinK View Post
I get them from the GoogleMaps module as a nested python dictionary. IMO, it would be quite easy to serialize it to and from a file. But I'd rather integrate it with the current tracklogs, than add a third way to represent a track to modRana
Hmm.. interesting. I get why you'd want to filter it down, but if you already have support to read in the other format... How hot would it be to be able to actually use that "send to phone" button on Google.

Originally Posted by MartinK View Post
Well, that sounds very interesting !

I already see quite a few things to do with it:
The problem isn't in the tile generation, but rather the overhead in the search for objects in the spacial area. (Said another way, drawing is fast, querying a spacial area on a database with millions of objects isn't.) One optimization I've been working on is a way to pre-feed it a shape file for caching that data for use in subsequent requests. That's handy, since it can then create a sub-set of the data it needs for a given segment and use that for future requests without doing another request. For modRana, you could make a crude shape file for route (say route +/-2k) and use that to speed up the process quite a bit.

Even if it's too slow to do real time, it could do things like filling gaps the existing tile cache for a route. With a little adaptation, it could take the route shape, find existing/missing tiles, and generate just the missing ones. If you have even partial coverage, it may be able to keep up that way at least.

Originally Posted by MartinK View Post
[*]generate tiles with transparent background for using as overlay - (I have actually yet to see an OSS tile layer with total transparency [/LIST]
I've worked with two that have it, including the one I'm working on now. In PNG format, you can even make RGBA files, with A being the transparency level. (So you could make maps with 100% background transparency, 40% road transparency, and features (like rail road tracks or labels) at 0% so they stand out.

The hard part is getting/massaging the vector data into a format that it likes. And vector data isn't always small... the global vector map I'm working with right now is near 7G. Nothing compared to tiles, I know.. but...
 

The Following User Says Thank You to woody14619 For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#293
I was testing the latest version of modrana extensively on the road today. It worked surprisingly well. Didn't have problems with downloading new tiles on the fly and keeping direction.

The biggest problem was the GUI rotation is not working. No matter, if set to automatic, portrait, or landscape, it was landscape. Which is a problem when driving, as you want to see far ahead, so you should be able to set it to portrait.

Am I right in assuming that this feature is not implemented yet and just has an options menu entry prematurely. Or is there a problem?
 

The Following User Says Thank You to 白い熊 For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#294
Further testing, I think modrana has a serious problem with rerouting.

When routing is running and there's the blue box saying 'tap me to reroute', I'd tap it, it says rerouting, then it seems a new route is retrieved from google - not sure about it, as it was the same route I was following - but then the interface in stuck, i.e. the car position is updated on the map, but the display doesn't react to touches...

The N900 doesn't freeze though, as I could close modrana via the X button in the corner.

The above "freeze" occured many times in a row as I tried. so it's not a random error.

Also, maybe there is some problem with routing: i.e. I routed to some point, I was already driving there, as I know where it's at. I was on this long, many km stretch without turns. After I got on it, hit 'start navigation' from the closest point which was some 200 m already past, as I was on the road, and now as I kept driving, the blue box kept showing me next turn, which was the first turn, i.e. to get on the longest stretch of the road, and the distance to it was growing, i.e. ran up into several km.

So maybe it should not be closest point to start nav from, but closest next point, as then as in this case it can lead to strange results.

Finally, I think if you route to somewhere, navigation should be started by default. i.e. you shouldn't have to press the option to start navigation.

Please don't take this as criticism, Martin. I think you are doing the greatest job and this app kicks ***.

Edit: BTW, these three stars were added automatically by the system, replacing the text I typed, WTF?
 

The Following User Says Thank You to 白い熊 For This Useful Post:
Posts: 650 | Thanked: 497 times | Joined on Oct 2008 @ Ghent, Belgium
#295
Originally Posted by 白い熊 View Post
Please don't take this as criticism, Martin. I think you are doing the greatest job and this app kicks ***.

Edit: BTW, these three stars were added automatically by the system, replacing the text I typed, WTF?
<offtopic>the forum will replace any word that is not appropriate with these stars.</offtopic>
__________________
Affordable mobile internet in Belgium: Try Mobile Vikings
2 GB, 1000 SMS and 15 euro of talk time for.... 15 euro
 

The Following User Says Thank You to petur For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#296
Hmmm, in fact I'm fairly certain the problem lay in navigation, not rerouting.

Tested further, and now didn't even get to the blue box, saying recalculate. When I enter the data I want to route to, I see the route, now hitting 'start navigation', gets me into the same "freeze", i.e. the car position is updated, until it runs of the map, as it's not autocentered after touching the screen. But then modrana doesn't react to keypresses.

It's not really freezing the system, as the CPU load doesn't rise, modrana can be closed, but it's dead to input.

Left it like that for a couple of minutes, in hopes it'd pick up, but didn't. Before, the blue box also didn'h display right away, but in the end it did, but not now. Same problem a couple of times, so it's a recurring behavior.
 

The Following User Says Thank You to 白い熊 For This Useful Post:
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#297
Originally Posted by woody14619 View Post
How hot would it be to be able to actually use that "send to phone" button on Google.
You mean this ? I guess its just a preformated SMS containing an URL to the results ?

Originally Posted by woody14619 View Post
The problem isn't in the tile generation, but rather the overhead in the search for objects in the spacial area. (Said another way, drawing is fast, querying a spacial area on a database with millions of objects isn't.) One optimization I've been working on is a way to pre-feed it a shape file for caching that data for use in subsequent requests. That's handy, since it can then create a sub-set of the data it needs for a given segment and use that for future requests without doing another request. For modRana, you could make a crude shape file for route (say route +/-2k) and use that to speed up the process quite a bit.

Even if it's too slow to do real time, it could do things like filling gaps the existing tile cache for a route. With a little adaptation, it could take the route shape, find existing/missing tiles, and generate just the missing ones. If you have even partial coverage, it may be able to keep up that way at least.
The batch download feature already basically creates something like a shapefile + downloads only tiles, that are not available locally. It should be quite easy modify it, to create an actual shapefile, send it to the tileserver and then request only the tiles it needs. It also works not only for routes but for any arbitrary location + bounding box.
Also, if your tileserver provides tiles through http, the current asynchronous download code could be used (it would wait for the tiles to be ready without blocking the GUI, etc.).
The only downside would be, that the tiles would be actually stored and would take up space.

The other possibility I see, provided the tile rendering is fast enough once an area is cached, is to integrate something like an "area manager":
  • mark an area for caching (like a 4km bbox around your area)
  • modRana creates a shapefile, sends it to the tileserver
  • tileserver notifies modRana once it finishes caching
  • tiles for the area would be generated on the fly and cached in a ringbuffer, say max 1000 tiles (provided that the server does some caching, this might not be needed)
  • users would get an "this are is not activated, do X to activate" error tiles outside of the cached area
  • I assume, that a smaller area means a faster working tileserver, so there would be a "total area" counter + warnings if the area is bigger than a given size
  • it would be possible to list,name, delete, shrink or enlarge active areas

Originally Posted by woody14619 View Post
The hard part is getting/massaging the vector data into a format that it likes. And vector data isn't always small... the global vector map I'm working with right now is near 7G. Nothing compared to tiles, I know.. but...
Well, thats not bad at all ! To have a map of the whole planet in your pocket Well, this probably means the OSM coverage is still lacking in some areas if it is only 7 GB
__________________
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 2 Users Say Thank You to MartinK For This Useful Post:
Posts: 75 | Thanked: 4 times | Joined on Jan 2010
#298
re the file doenload feature.

are we downloading the map ?????
 
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#299
Originally Posted by 白い熊 View Post
The biggest problem was the GUI rotation is not working.
...
Am I right in assuming that this feature is not implemented yet and just has an options menu entry prematurely. Or is there a problem?
Automatic/manual GUI rotation is implemented and should be working.

Originally Posted by 白い熊 View Post
Further testing, I think modrana has a serious problem with rerouting.

When routing is running and there's the blue box saying 'tap me to reroute', I'd tap it, it says rerouting, then it seems a new route is retrieved from google - not sure about it, as it was the same route I was following - but then the interface in stuck, i.e. the car position is updated on the map, but the display doesn't react to touches...

The N900 doesn't freeze though, as I could close modrana via the X button in the corner.
ModRana currently waits for the routing results to arrive, so the GUI does not update before the new route arrives.
I'am actually working right now on making the routing asynchronous + cancellable.

Originally Posted by 白い熊 View Post
Also, maybe there is some problem with routing: i.e. I routed to some point, I was already driving there, as I know where it's at. I was on this long, many km stretch without turns. After I got on it, hit 'start navigation' from the closest point which was some 200 m already past, as I was on the road, and now as I kept driving, the blue box kept showing me next turn, which was the first turn, i.e. to get on the longest stretch of the road, and the distance to it was growing, i.e. ran up into several km.

So maybe it should not be closest point to start nav from, but closest next point, as then as in this case it can lead to strange results.
Yes this is known and happens the way you describe (missing the nearest point while moving during reroute).
I am thinking about this fix:
  • find nearest turn
  • check if the distance from the nearest point increases for 5 seconds
  • if it does, switch to next turn
This should catch most cases of this occuring.
Let me know if you can think of some cases when this would fail, or if you find some other algorithm for this
Originally Posted by 白い熊 View Post
Finally, I think if you route to somewhere, navigation should be started by default. i.e. you shouldn't have to press the option to start navigation.
OK, I can add an option for this, something like "start automatically on new route" to the options->navigation submenu.

Originally Posted by 白い熊 View Post
Hmmm, in fact I'm fairly certain the problem lay in navigation, not rerouting.

Tested further, and now didn't even get to the blue box, saying recalculate. When I enter the data I want to route to, I see the route, now hitting 'start navigation', gets me into the same "freeze", i.e. the car position is updated, until it runs of the map, as it's not autocentered after touching the screen. But then modrana doesn't react to keypresses.

It's not really freezing the system, as the CPU load doesn't rise, modrana can be closed, but it's dead to input.

Left it like that for a couple of minutes, in hopes it'd pick up, but didn't. Before, the blue box also didn'h display right away, but in the end it did, but not now. Same problem a couple of times, so it's a recurring behavior.
This looks like a partial crash of the modRana, there might be something in stdout about it. BTW, you can enable modRana stdout logging from "options->debgu->log stdout to file". ModRana wil then create a log of its stdout output to the MyDocs/modrana_debug_log folder on each start.
__________________
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 2 Users Say Thank You to MartinK For This Useful Post:
Posts: 451 | Thanked: 334 times | Joined on Sep 2009
#300
Originally Posted by MartinK View Post
Automatic/manual GUI rotation is implemented and should be working.
Hmmm... so something weird going on on my side then...
  • find nearest turn
  • check if the distance from the nearest point increases for 5 seconds
  • if it does, switch to next turn
This'd be the way I'd think of it, the only question is about the number of seconds, i.e. 5 might too big of a time delay while moving in a car, but it's not too big of a deal. But if you'd have a succession of quick turns, you might be a turn behind constantly, so you might wanna pick a shorter interval.

OK, I can add an option for this, something like "start automatically on new route" to the options->navigation submenu.
Please do, I think this is really the default behavior for navigation, so if you can have an option to set it to this, then great.

This looks like a partial crash of the modRana, there might be something in stdout about it. BTW, you can enable modRana stdout logging from "options->debgu->log stdout to file". ModRana wil then create a log of its stdout output to the MyDocs/modrana_debug_log folder on each start.
OK, I'll try to experiment with this to see what's cookin', also might get some clues as to what's up with the rotation on my side...
 
Reply

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


 
Forum Jump


All times are GMT. The time now is 02:00.