[PATCH v2] grok unpavedness + ferry nature

v3 - turns out they handle ferry routes in a similar fashion as to unpaved roads so I've added support for avoiding them (when route=ferry tag is present) - untested here due to paucity of ferries in Cheshire but I have verified that the unpaved stuff still works. --------- v2 - sans syntax error --------- Bloody typical, you wait around for ages hoping for a new routing capability to be added to mkgmap and then two come along on the same day. I've been trying to discover how unpavedness is encoded for at least 6 months. Every now and again, I return to think about it some more. Check and re-check the same old data structures. Very frustrating, no progress. Damn those cunning bastards at Garmin.... However, a month or two ago, I discovered that Table C contains more than just turn restrictions. I still don't know many of it's little secrets but, today, having exhausted all other possibilities, I finally twigged that Table C contains the key to understanding "unpavedness". Gotcha! The attached patch allows you to add either unpaved=yes/true/1 or paved=no/false/0 to a way and then it will be ignored for routing purposes when the GPS has been told to avoid unpaved roads. Not sure if those are the best tags to use - any thoughts? BTW - the unpaved road line type 0x0a has nothing to do with unpavedness, it's just a routable way that gets drawn as a dashed line (default rendering). Feedback, etc. Mark

Mark Burton wrote:
v3 - turns out they handle ferry routes in a similar fashion as to unpaved roads so I've added support for avoiding them (when route=ferry tag is present) - untested here due to paucity of ferries in Cheshire but I have verified that the unpaved stuff still works.
Aha, aha. That's just something I did not get to work and I didn't know why - and still don't, but you do and I'll insert your patch shortly and give it a try. Report will follow. V.

On 08.12.2009 14:57, Mark Burton wrote:
v3 - turns out they handle ferry routes in a similar fashion as to unpaved roads so I've added support for avoiding them (when route=ferry tag is present) - untested here due to paucity of ferries in Cheshire but I have verified that the unpaved stuff still works.
Yip, works great. However I think an artificial key instead of route=ferry would be better. This would leave the choice to block a ferry (well I intend to use this same value for gondolas and chairlifts too) also if it is part of another route relation. Actually I think the best would be to have /add avoid:ferry=yes; add avoid:unpaved=yes/; add avoid:toll=yes this would be the most adaptable. (for example this would allow to build a map for motorcyclists that want to avoid trunk roads/motorways with toll=yes but not avoid mountain roads which have toll=yes set). I'm only a bit unsure about the carpool avoidance, because I have problems understanding the implication difference of it. I will have to try it out on some sample maps to really understand which combinations are possible, and which are not possible. Actually is it possible to set normal avoidances based on the vehicle type? I know that cgpsmapper is supposed to support turn restrictions based on vehicle, it would be interesting to set avoidances like unpaved based on vehicle too.
---------
v2 - sans syntax error
---------
Bloody typical, you wait around for ages hoping for a new routing capability to be added to mkgmap and then two come along on the same day.
I've been trying to discover how unpavedness is encoded for at least 6 months. Every now and again, I return to think about it some more. Check and re-check the same old data structures. Very frustrating, no progress. Damn those cunning bastards at Garmin....
However, a month or two ago, I discovered that Table C contains more than just turn restrictions. I still don't know many of it's little secrets but, today, having exhausted all other possibilities, I finally twigged that Table C contains the key to understanding "unpavedness". Gotcha!
The attached patch allows you to add either unpaved=yes/true/1 or paved=no/false/0 to a way and then it will be ignored for routing purposes when the GPS has been told to avoid unpaved roads.
Not sure if those are the best tags to use - any thoughts?
BTW - the unpaved road line type 0x0a has nothing to do with unpavedness, it's just a routable way that gets drawn as a dashed line (default rendering).
Feedback, etc.
Mark
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

2009/12/8 Felix Hartmann <extremecarver@googlemail.com>:
Yip, works great. However I think an artificial key instead of route=ferry would be better. This would leave the choice to block a ferry (well I intend to use this same value for gondolas and chairlifts too) also if it is part of another route relation.
In my style-file, i simply use "add toll=yes" for route=ferry, as I want to avoid ferries only because of the fee and if there one with toll=no, I want it to be used if it provides a faster route - the same is true for any other form of transportation (toll roads, aerialways, etc). :-) -Martin

On Tue, Dec 8, 2009 at 8:57 AM, Mark Burton <markb@ordern.com> wrote:
v3 - turns out they handle ferry routes in a similar fashion as to unpaved roads so I've added support for avoiding them (when route=ferry tag is present) - untested here due to paucity of ferries in Cheshire but I have verified that the unpaved stuff still works.
-
Mark, I was going to try it but I do nothave the ferry option on my GPS. I'd like to do a recap on routing options that I have and how they work. Please correct me if I am wrong: U-turns: done internally by the routing algorithm Toll roads: not implemented yet in mkgmap? Highways: by road type Unpaved roads: done thanks to this patch Carpool lane: done thanks to this patch Thanks, N.

On 08.12.2009 16:13, Nakor wrote:
On Tue, Dec 8, 2009 at 8:57 AM, Mark Burton <markb@ordern.com <mailto:markb@ordern.com>> wrote:
v3 - turns out they handle ferry routes in a similar fashion as to unpaved roads so I've added support for avoiding them (when route=ferry tag is present) - untested here due to paucity of ferries in Cheshire but I have verified that the unpaved stuff still works.
-
Mark,
I was going to try it but I do nothave the ferry option on my GPS.
-- Well it works identical to toll and and unpaved avoidances.
I'd like to do a recap on routing options that I have and how they work. Please correct me if I am wrong:
U-turns: done internally by the routing algorithm
-- Well it kinda could be handled by tweezing arcs, but more or less this is useless.
Toll roads: not implemented yet in mkgmap? -- long ago implemented - you can use add toll=yes. Highways: by road type -- what kind of unit to you have to get this working. Never seen any Garmin GPS where one could exclude highways based on type. Unpaved roads: done thanks to this patch Carpool lane: done thanks to this patch
Thanks,
N.
_______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

I was going to try it but I do nothave the ferry option on my GPS.
-- Well it works identical to toll and and unpaved avoidances.
Yes but I do not have the ferry check box on my GPS.
I'd like to do a recap on routing options that I have and how they work. Please correct me if I am wrong:
U-turns: done internally by the routing algorithm
-- Well it kinda could be handled by tweezing arcs, but more or less this is useless.
Toll roads: not implemented yet in mkgmap?
-- long ago implemented - you can use add toll=yes.
I'd have to try that.
Highways: by road type
-- what kind of unit to you have to get this working. Never seen any Garmin GPS where one could exclude highways based on type.
I was just assuming here. So you're saying it does not work at the moment?

On 08.12.2009 16:25, Nakor wrote:
I was going to try it but I do nothave the ferry option on my GPS.
-- Well it works identical to toll and and unpaved avoidances.
Yes but I do not have the ferry check box on my GPS.
I'd like to do a recap on routing options that I have and how they work. Please correct me if I am wrong:
U-turns: done internally by the routing algorithm
-- Well it kinda could be handled by tweezing arcs, but more or less this is useless.
Toll roads: not implemented yet in mkgmap?
-- long ago implemented - you can use add toll=yes.
I'd have to try that.
Highways: by road type
-- what kind of unit to you have to get this working. Never seen any Garmin GPS where one could exclude highways based on type.
I was just assuming here. So you're saying it does not work at the moment?
Well I have never seen such a setting where you can exclude roads by type from routing. 0x01-0x13 is routable, and then with limitation 0x1a and 0x1b so how the fuck are you excluding a road type? The GPS does not know whether 0x07 is a motorway or a residential road.* I don't say it does not work, I say excluding by road type does not exist!* Some GPS and Garmin Mobile XT have the possiblity to avoid: Major Roads, Medium Roads and Minor Roads I have not found out what is behind these settings. I do assume: Major roads avois road_class 3+4, Minor Roads avoids road_class=0, and Medoi, Rpads avoids road_class =1+2 But never really tried this out.

Well I have never seen such a setting where you can exclude roads by type from routing. 0x01-0x13 is routable, and then with limitation 0x1a and 0x1b so how the fuck are you excluding a road type? On my eTrex Vista I have the option to avoid highways. I was just wondering how this gets determined by the GPS. To make things clear I have attached a screen capture of the routing options.

On 08.12.2009 16:59, Nakor wrote:
Well I have never seen such a setting where you can exclude roads by type from routing. 0x01-0x13 is routable, and then with limitation 0x1a and 0x1b so how the fuck are you excluding a road type?
On my eTrex Vista I have the option to avoid highways. I was just wondering how this gets determined by the GPS. To make things clear I have attached a screen capture of the routing options. Ah now I see what you mean. That setting is a big mistery of what it does depending on each unit and map.
One would need to run many tests and setup a table to document what (type, road_class, road_speed) in which combination has what effect. Also it does not work over long distances on Garmin maps. Twould be nice know how it really works, so you can go and have a try contructing testmaps and then report back. That particular setting is the one that never interested me due to its reported problems.
participants (5)
-
Felix Hartmann
-
Mark Burton
-
Martin Simon
-
Nakor
-
Valentijn Sessink