
On Mar 1, 2009, at 19:19, Mark Burton wrote:
"Wolfgang v. Hansen" <wvhansen@fom.fgan.de> wrote:
On Sat, 28 Feb 2009, Mark Burton wrote:
I do not know if garmin supports restrictions that are only in force during certain hours. I have carried out web searches and found nothing so far on that subject. If we had an example map (unlocked) that contained an example of such a restriction we would have a chance to reverse engineer it.
Well, there is an example: The Sierichstraße in Hamburg is a one-way street where the direction of traffic changes daily at 4:00 and 12:00. Garmin respects this with City Navigator as I have just tested.
That's very interesting. So we know it can be done. However, unless we can see the restriction record and learn the magic, it's going to be difficult to achieve.
Swiss mountain passes might help as well to understand the mechanism as they are blocked in Winter and disallow routing.
To me, that implies that the timing information is likely to be specified in additional fields being added rather than setting values within the existing record because there isn't a huge amount of space in the records that we don't understand the purpose of fully (3 bytes). That isn't enough space to be able to specify an active/inactive time that can be in a range of hours (probably minutes) to months.
An hour in a week can go in a byte (7*24 < 256); day in year needs 9 bits. So it is possible (but unlikely) this goes within the three bytes. For those interested in experimenting, the relevant bytes are HEADER = 0x004005 in imgfmt/app/net/RouteRestriction.java. The other option is longer records in the restrictions table (Table C). Those are currently 11 bytes, but are not of fixed size. Cheers Robert