30W Time Zone Rule
Announced Saturday, May 24, 2008 03:34 UTC by Randall Munroe, inventor of geohashing
There’s been a small change to the algorithm to deal with time zones. This change does not affect anyone in North/South America (excluding eastern Greenland), does not affect Saturday meetup times anywhere, and does not change any currently known upcoming meeting times. The change:
For every location east of Longitude -30 (Europe, Africa, Asia, and Australia), use the Dow opening from the previous day — even if a new one becomes available partway through the day.
Put differently (the same functionally for everywhere except islands in the mid-Atlantic):
Consider any Dow openings published after noon local time to have occurred on the next day.
This is necessary to deal with time zone problems. For a lot of Europe, the Wednesday Dow opening was learned near sundown Wednesday, which meant they couldn’t use it to get to daytime meetups. For east Asia, they had to visit weekday locations the next day. A bunch of solutions were discussed, and I decided this was the cleanest.
The map program has been updated with this rule. The first coordinates that will be affected by it are for Tuesday, May 27, 2008. Again, this does not affect anyone in the Americas.
Contents
Implementations
Authors of existing implementations are encouraged to update them before 12:00 UTC on Monday, May 26 so that your users in the easternmost time zones can have a smooth transition. Once updated, add {{30w compliant|yes=1}}
to the Implementations page.
Announcement Templates
In affected areas (east of -30° longitude), please add {{pre30w}}
to old expedition pages from May 21-23, 2008. (May 24-26 are unaffected due to the weekend and the Dow holiday for Memorial Day.)
Terminology
The following terms may be found referring to the adjusted coordinates for locations east of W30:
- W30 adjusted coordinates
- W30 coordinates
- Eastern coordinates
Coordinates for those locations west of W30 may be found using these terms:
- Non-W30 coordinates
- Western coordinates
30W compliance confusion matrix
The various definitions on the W30 and globalhash pages create an interesting mess situation when going back in time for retro hashes. This table might help you to get things straight rightaway, so that you know whether to take the current day's Dow value or the previous day's.
2008-05-26 and earlier | 2008-05-27 and later | |||
---|---|---|---|---|
West of 30W | East of 30W | West of 30W | East of 30W | |
Geohash | same day | same day | same day | previous day |
Globalhash | previous day | previous day |
Or to put it another way, retro globalhashes always take the previous day's Dow Jones value. Retro geohashes east of 30W only apply this rule after 2008-05-26. Inconsistent, yes, but that's the way it has come about. Use the table below if you want to check your implementation.
Testing for 30W compliance
Here are the geohash coordinates in Greenland around the time of that the W30 rule was introduced. Coordinates rounded to 5 decimal places. You can use this to confirm that your application produces the right coordinates. Coordinates with 30W rule applied are highlighted.
Date | DJIA | Hash string | Hash string east of W30 | Globalhash string | Coordinates 68, -30 | Coordinates 68, -29 | Globalhash |
2008-05-20 | 13026.04 | 2008-05-20-13026.04 | 2008-05-20-13026.04 | 2008-05-20-12985.41 | 68.63099, -30.61895 | 68.63099, -29.61895 | -46.71388, -135.48197 |
2008-05-21 | 12824.94 | 2008-05-21-12824.94 | 2008-05-21-12824.94 | 2008-05-21-13026.04 | 68.17947, -30.86154 | 68.17947, -29.86154 | 85.74626, 146.18662 |
2008-05-22 | 12597.69 | 2008-05-22-12597.69 | 2008-05-22-12597.69 | 2008-05-22-12824.94 | 68.97287, -30.2387 | 68.97287, -29.2387 | 61.62927, 69.96869 |
2008-05-23 | 12620.90 | 2008-05-23-12620.90 | 2008-05-23-12620.90 | 2008-05-23-12597.69 | 68.40025, -30.72277 | 68.40025, -29.72277 | 78.42559, 129.50128 |
2008-05-24 | 12620.90 | 2008-05-24-12620.90 | 2008-05-24-12620.90 | 2008-05-24-12620.90 | 68.12665, -30.54753 | 68.12665, -29.54753 | -67.20336, 17.11192 |
2008-05-25 | 12620.90 | 2008-05-25-12620.90 | 2008-05-25-12620.90 | 2008-05-25-12620.90 | 68.94177, -30.18287 | 68.94177, -29.18287 | 79.51947, -114.16550 |
2008-05-26 | 12620.90 | 2008-05-26-12620.90 | 2008-05-26-12620.90 | 2008-05-26-12620.90 | 68.67313, -30.60731 | 68.67313, -29.60731 | 31.16306, 38.63088 |
2008-05-27 | 12479.63 | 2008-05-27-12479.63 | 2008-05-27-12620.90 | 2008-05-27-12620.90 | 68.20968, -30.10144 | 68.12537, -29.57711 | -67.43391, 27.75993 |
2008-05-28 | 12542.90 | 2008-05-28-12542.90 | 2008-05-28-12479.63 | 2008-05-28-12479.63 | 68.68745, -30.21221 | 68.71044, -29.11273 | 37.87947, -139.41640 |
2008-05-29 | 12593.87 | 2008-05-29-12593.87 | 2008-05-29-12542.90 | 2008-05-29-12542.90 | 68.4647, -30.03412 | 68.27833, -29.74114 | -39.90121, 86.81114 |
2008-05-30 | 12647.36 | 2008-05-30-12647.36 | 2008-05-30-12593.87 | 2008-05-30-12593.87 | 68.8531, -30.2446 | 68.32272, -29.70458 | -31.91030, 73.65004 |
Testing for the scientific notation bug
Date | DJIA | Hash string | Hash string east of W30 | Globalhash string | Coordinates 68, -30 | Coordinates 68, -29 | Globalhash |
2012-02-26 | 12981.20 | 2012-02-26-12981.20 | 2012-02-26-12981.20 | 2012-02-26-12981.20 | 68.000047, -30.483719 | 68.000047, -29.483719 | -89.99161, -5.86128 |
Note: Erroneous implementations might evaluate the decimal digits as 4.7e-5 and fail in calculating a correct latitude.