Difference between revisions of "NaviCodeGen"
From Geohashing
imported>M5rammy m (→Read Me) |
m |
||
(14 intermediate revisions by 7 users not shown) | |||
Line 7: | Line 7: | ||
purpose: (assumes you know what geohashing is) | purpose: (assumes you know what geohashing is) | ||
− | generates wiki markup code for | + | generates wiki markup code for https://geohashing.site/ meetup pages, |
so that you can easily get to meetup pages for neighboring graticules | so that you can easily get to meetup pages for neighboring graticules | ||
and to other days of the same graticule. | and to other days of the same graticule. | ||
Line 16: | Line 16: | ||
optional set-up: | optional set-up: | ||
− | 1) change the source-code, lines | + | 1) change the source-code, lines 8 and 9 to your own home lat & long |
2) if you don't like the colors you can change them. | 2) if you don't like the colors you can change them. | ||
usage: should all be self-explanatory. | usage: should all be self-explanatory. | ||
− | By default it picks the system | + | By default it picks the system date, but you can enter any date. |
By default uses the "HomeLat" and "HomeLong" from the code, but you can enter any numbers. | By default uses the "HomeLat" and "HomeLong" from the code, but you can enter any numbers. | ||
known "issues": | known "issues": | ||
− | - Does not handle the equator, meridian or anti-meridian. | + | - Does not handle the equator, meridian or anti-meridian. |
+ | That means no "-0" and no going over "180" or under "-180" | ||
- no error checking (it expects You to be smart enough) | - no error checking (it expects You to be smart enough) | ||
Line 33: | Line 34: | ||
Have fun, let me know if there are any problems ... on my user page, or find me ;-) | Have fun, let me know if there are any problems ... on my user page, or find me ;-) | ||
− | Also, if you do put these links on your meetup pages, think about putting them on the linked pages as well (re-generated with the appropriate numbers). That is why I made it so that you can plug in other lat/longs and not only use the hard-coded ones. | + | Also, if you do put these links on your meetup pages, think about putting them on the linked pages |
+ | as well (re-generated with the appropriate numbers). That is why I made it so that you can plug in | ||
+ | other lat/longs and not only use the hard-coded ones. | ||
</pre> | </pre> | ||
Line 39: | Line 42: | ||
<pre> | <pre> | ||
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><head><title>Geohash Wikimarkup Code Generator</title><% | <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><head><title>Geohash Wikimarkup Code Generator</title><% | ||
− | ' by m5rammy | + | ' by m5rammy [[User:M5rammy]] ' |
+ | ' last update Sept 8th, 2008 ' | ||
' this is the only part you should need to change (optional) ' | ' this is the only part you should need to change (optional) ' | ||
Line 99: | Line 103: | ||
myDayName = WeekdayName(Weekday(myDate), true, 0) | myDayName = WeekdayName(Weekday(myDate), true, 0) | ||
− | IsSat = (7 = Weekday( | + | IsSat = (7 = Weekday(myDate)) |
PrevWk = "" | PrevWk = "" | ||
NextWk = "" | NextWk = "" | ||
Line 108: | Line 112: | ||
NextSat = DateAdd("d", 7, myDate) | NextSat = DateAdd("d", 7, myDate) | ||
Select case myWeek | Select case myWeek | ||
− | Case "prev" | + | Case "prev" ' checking for valid input. Not the "best" way, but best for future enhancements ' |
' do nothing ' | ' do nothing ' | ||
Case "next" | Case "next" | ||
Line 140: | Line 144: | ||
For Date:<br> | For Date:<br> | ||
<table border="0" cellpadding="2"><tr> | <table border="0" cellpadding="2"><tr> | ||
− | <td> | + | <td> </td> |
<td><input type="text" name="y" value="<%=MyYear %>" maxlength="4" size="5"></td> | <td><input type="text" name="y" value="<%=MyYear %>" maxlength="4" size="5"></td> | ||
<td<%=bgc(1) %>><input type="radio" name="m" value="01"<%=ChkIfSame("01", TwoDig(myMonth)) %>>Jan</td> | <td<%=bgc(1) %>><input type="radio" name="m" value="01"<%=ChkIfSame("01", TwoDig(myMonth)) %>>Jan</td> | ||
Line 161: | Line 165: | ||
%> | %> | ||
<tr> | <tr> | ||
− | <td> | + | <td> </td> |
<% for d = ((r -1 ) * 10 + 1) to ((r - 1) * 10 + 9) step 2 %> | <% for d = ((r -1 ) * 10 + 1) to ((r - 1) * 10 + 9) step 2 %> | ||
<% if d < 32 then %><td<%=bgc(altBg) %>><input type="radio" name="d" value="<%=TwoDig(d) %>"<%=ChkIfSame(TwoDig(d), TwoDig(myDay)) %>><%=d %></td><% end if %> | <% if d < 32 then %><td<%=bgc(altBg) %>><input type="radio" name="d" value="<%=TwoDig(d) %>"<%=ChkIfSame(TwoDig(d), TwoDig(myDay)) %>><%=d %></td><% end if %> | ||
Line 173: | Line 177: | ||
<table border="0" cellspacing="2"><tr><td bgcolor="#333333"> </td><td valign="top"> | <table border="0" cellspacing="2"><tr><td bgcolor="#333333"> </td><td valign="top"> | ||
If <b>Saturday</b> Include Links to Daily Meetup pages for ...<br> | If <b>Saturday</b> Include Links to Daily Meetup pages for ...<br> | ||
− | <input type="radio" name="wkdys" value="prev"<%=ChkIfSame(myWeek, "prev") %>>Previous week<br> | + | <input type="radio" name="wkdys" value="prev"<%=ChkIfSame(myWeek, "prev") %>>Previous week (Su-Fr)<br> |
− | <input type="radio" name="wkdys" value="next"<%=ChkIfSame(myWeek, "next") %>>Next week<br> | + | <input type="radio" name="wkdys" value="next"<%=ChkIfSame(myWeek, "next") %>>Next week (Su-Fr)<br> |
<input type="radio" name="wkdys" value="both"<%=ChkIfSame(myWeek, "both") %>>Both weeks<br> | <input type="radio" name="wkdys" value="both"<%=ChkIfSame(myWeek, "both") %>>Both weeks<br> | ||
<input type="radio" name="wkdys" value="none"<%=ChkIfSame(myWeek, "none") %>>Neither week (default)<br> | <input type="radio" name="wkdys" value="none"<%=ChkIfSame(myWeek, "none") %>>Neither week (default)<br> | ||
− | </td><td bgcolor="#333333"> </td><td valign="top"> | + | </td><td bgcolor="#333333"> </td><td valign="top"> |
If <b>Weekday</b> Include Links to Daily Meetup pages for ...<br> | If <b>Weekday</b> Include Links to Daily Meetup pages for ...<br> | ||
<input type="radio" name="wkdys" value="today"<%=ChkIfSame(myWeek, "today") %>>Today only (default)<br> | <input type="radio" name="wkdys" value="today"<%=ChkIfSame(myWeek, "today") %>>Today only (default)<br> | ||
<input type="radio" name="wkdys" value="all"<%=ChkIfSame(myWeek, "all") %>>All of this week<br> | <input type="radio" name="wkdys" value="all"<%=ChkIfSame(myWeek, "all") %>>All of this week<br> | ||
− | </td><td bgcolor="#333333"> </td></tr> | + | </td><td bgcolor="#333333"> </td></tr> |
</table> | </table> | ||
<input type="submit" value="Click to Generate the Code"> | <input type="submit" value="Click to Generate the Code"> | ||
Line 188: | Line 192: | ||
%> | %> | ||
− | <pre> | + | <pre><nowiki> |
{{meetup graticule | {{meetup graticule | ||
− | | map=<map lat="<%=myLat %>" lon="<%=myLong %>" date="<%=myWikiDate %>" / | + | | map=&lt;map lat="<%=myLat %>" lon="<%=myLong %>" date="<%=myWikiDate %>" /&gt; |
| lat=<%=myLat %> | | lat=<%=myLat %> | ||
| lon=<%=myLong %> | | lon=<%=myLong %> | ||
| date=<%=myWikiDate %> | | date=<%=myWikiDate %> | ||
}} | }} | ||
− | &lt;!-- see | + | &lt;!-- see https://geohashing.site/geohashing/NaviCodeGen for script --&gt; |
{| border="1" style="text-align:center" | {| border="1" style="text-align:center" | ||
|- | |- | ||
− | | rowspan="3" | [[<%=WikiDate(PrevSat) & "_" & myLat & "_" & myLong %>|Prev Sat]]<br><% | + | | rowspan="3" | [[<%=WikiDate(PrevSat) & "_" & myLat & "_" & myLong %>|Prev Sat]]&lt;br><br><% |
If ("prev" = MyWeek) or ("both" = myWeek) or ("all" = MyWeek) Then | If ("prev" = MyWeek) or ("both" = myWeek) or ("all" = MyWeek) Then | ||
Response.Write("[[" & WikiDate(DateAdd("d", 1, PrevSat)) & "_" & myLat & "_" & myLong & "|S]]") | Response.Write("[[" & WikiDate(DateAdd("d", 1, PrevSat)) & "_" & myLat & "_" & myLong & "|S]]") | ||
Line 205: | Line 209: | ||
Response.Write("[[" & WikiDate(DateAdd("d", 4, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") | Response.Write("[[" & WikiDate(DateAdd("d", 4, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") | ||
Response.Write("[[" & WikiDate(DateAdd("d", 5, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") | Response.Write("[[" & WikiDate(DateAdd("d", 5, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") | ||
− | Response.Write("[[" & WikiDate(DateAdd("d", 6, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]<br>") | + | Response.Write("[[" & WikiDate(DateAdd("d", 6, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]&lt;br><br>") |
End If | End If | ||
− | If IsSat Then Response.Write("Today<br>") | + | If IsSat Then Response.Write("Today&lt;br><br>") |
− | If ("today" = MyWeek) Then Response.Write("[[" & myWikiDate & "_" & myLat & "_" & myLong & "|" & myDayName & "]]<br>") | + | If ("today" = MyWeek) Then Response.Write("[[" & myWikiDate & "_" & myLat & "_" & myLong & "|" & myDayName & "]]&lt;br><br>") |
If ("next" = MyWeek) or ("both" = myWeek) Then | If ("next" = MyWeek) or ("both" = myWeek) Then | ||
Line 217: | Line 221: | ||
Response.Write("[[" & WikiDate(DateAdd("d", 11, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") | Response.Write("[[" & WikiDate(DateAdd("d", 11, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") | ||
Response.Write("[[" & WikiDate(DateAdd("d", 12, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") | Response.Write("[[" & WikiDate(DateAdd("d", 12, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") | ||
− | Response.Write("[[" & WikiDate(DateAdd("d", 13, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]<br>") | + | Response.Write("[[" & WikiDate(DateAdd("d", 13, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]&lt;br><br>") |
End If | End If | ||
%>[[<%=WikiDate(NextSat) & "_" & myLat & "_" & myLong %>|Next Sat]] | %>[[<%=WikiDate(NextSat) & "_" & myLat & "_" & myLong %>|Next Sat]] | ||
− | | rowspan="3" | Neighboring<br>Meetups<br>today &rarr; | + | | rowspan="3" | Neighboring&lt;br&gt;<br>Meetups&lt;br&gt;<br>today &amp;rarr; |
| [[<%=myWikiDate & "_" & (myLat + 1) & "_" & (myLong - 1) %>|NW]] | | [[<%=myWikiDate & "_" & (myLat + 1) & "_" & (myLong - 1) %>|NW]] | ||
| [[<%=myWikiDate & "_" & (myLat + 1) & "_" & myLong %>|N]] | | [[<%=myWikiDate & "_" & (myLat + 1) & "_" & myLong %>|N]] | ||
Line 234: | Line 238: | ||
| [[<%=myWikiDate & "_" & (myLat - 1) & "_" & (myLong + 1) %>|SE]] | | [[<%=myWikiDate & "_" & (myLat - 1) & "_" & (myLong + 1) %>|SE]] | ||
|} | |} | ||
− | </pre | + | </nowiki> |
+ | == About == | ||
+ | == People == | ||
+ | == Comments == | ||
+ | == Achievements == | ||
+ | == Gallery == | ||
+ | </pre> | ||
</body></html> | </body></html> | ||
− | + | [[Category:The Algorithm]] |
Latest revision as of 21:11, 2 March 2020
ReadMe.txt
Geohash Wikimarkup Code Generator file: geohash.asp author: Rammy M (aka m5rammy) purpose: (assumes you know what geohashing is) generates wiki markup code for https://geohashing.site/ meetup pages, so that you can easily get to meetup pages for neighboring graticules and to other days of the same graticule. parameters: none needed set-up: put on any server that can run asp pages optional set-up: 1) change the source-code, lines 8 and 9 to your own home lat & long 2) if you don't like the colors you can change them. usage: should all be self-explanatory. By default it picks the system date, but you can enter any date. By default uses the "HomeLat" and "HomeLong" from the code, but you can enter any numbers. known "issues": - Does not handle the equator, meridian or anti-meridian. That means no "-0" and no going over "180" or under "-180" - no error checking (it expects You to be smart enough) planned updates (perhaps): - fixing the known "issues" - adding the option of picking which weekdays to show (currently there is only None, All, or Today) Have fun, let me know if there are any problems ... on my user page, or find me ;-) Also, if you do put these links on your meetup pages, think about putting them on the linked pages as well (re-generated with the appropriate numbers). That is why I made it so that you can plug in other lat/longs and not only use the hard-coded ones.
geohash.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><head><title>Geohash Wikimarkup Code Generator</title><% ' by m5rammy User:M5rammy ' ' last update Sept 8th, 2008 ' ' this is the only part you should need to change (optional) ' ' store my home location ' Const HomeLat = "39" ' as a string, to handle -0 (not implemented yet) ' Const HomeLong = "-84" ' you can also change the default colors, if you want ' Dim bgc(4) bgc(1) = " bgcolor=""#FFFFCC""" ' lt yellow ' bgc(2) = " bgcolor=""#CCFFFF""" ' lt blue ' bgc(3) = " bgcolor=""#66FF99""" ' lt green ' bgc(4) = " bgcolor=""#FFCCFF""" ' lt pink ' ' That's it, no more changes needed ' ' get the date ' SystemDate = Date ' functions ' '------------------------------------' Function ChkIfSame(str1, str2) ret = "" If lcase(str1) = lcase(str2) Then ret = " checked=""checked""" ChkIfSame = ret End Function '------------------------------------' Function TwoDig(n) ' assumes input is up to 31 ' TwoDig = Mid(cStr(100 + n), 2) End Function '------------------------------------' Function WikiDate(OneDate) WikiDate = Year(OneDate) & "-" & TwoDig(Month(OneDate)) & "-" & TwoDig(Day(OneDate)) End Function '------------------------------------' ' get passed parameters ' myLat = Request.QueryString("lat") myLong = Request.QueryString("long") myDay = Request.QueryString("d") ' assumes 2 digits ' myMonth = Request.QueryString("m") ' assumes 2 digits ' myYear = Request.QueryString("y") myWeek = Request.QueryString("wkdys") ' may not match what we need ' If "" = myLat Then myLat = HomeLat If "" = myLong Then mylong = HomeLong If "" = myDay Then myDay = TwoDig(Day(SystemDate)) If "" = myMonth Then myMonth = TwoDig(Month(SystemDate)) If "" = myYear Then myYear = Year(SystemDate) myMonthName = MonthName(myMonth) myDate = myDay & "-" & myMonthName & "-" & Mid(myYear, 3) myWikiDate = WikiDate(myDate) myDayName = WeekdayName(Weekday(myDate), true, 0) IsSat = (7 = Weekday(myDate)) PrevWk = "" NextWk = "" Select Case IsSat Case true ' Inner 1 ' PrevSat = DateAdd("d", -7, myDate) NextSat = DateAdd("d", 7, myDate) Select case myWeek Case "prev" ' checking for valid input. Not the "best" way, but best for future enhancements ' ' do nothing ' Case "next" ' do nothing ' Case "both" ' do nothing ' Case Else myWeek = "none" End Select ' End Inner 1 ' Case false PrevSat = DateAdd("d", -(Weekday(myDate)), myDate) NextSat = DateAdd("d", +(7-Weekday(myDate)), myDate) ' Inner 2 ' Select case myWeek Case "all" ' do nothing ' Case Else myWeek = "today" End Select ' End Inner 2 ' End Select %></head><body> Geohash Wikimarkup Code Generator - for graticule and date-navigation links
<form method="get"> For Location:
Lat: <input type="text" name="lat" maxlength="4" size="5" value="<%=myLat %>"> Long: <input type="text" name="long" maxlength="4" size="5" value="<%=myLong %>">
For Date:
<td<%=bgc(1) %>><input type="radio" name="m" value="01"<%=ChkIfSame("01", TwoDig(myMonth)) %>>Jan <td<%=bgc(2) %>><input type="radio" name="m" value="02"<%=ChkIfSame("02", TwoDig(myMonth)) %>>Feb <td<%=bgc(1) %>><input type="radio" name="m" value="03"<%=ChkIfSame("03", TwoDig(myMonth)) %>>Mar <td<%=bgc(2) %>><input type="radio" name="m" value="04"<%=ChkIfSame("04", TwoDig(myMonth)) %>>Apr <td<%=bgc(1) %>><input type="radio" name="m" value="05"<%=ChkIfSame("05", TwoDig(myMonth)) %>>May <td<%=bgc(2) %>><input type="radio" name="m" value="06"<%=ChkIfSame("06", TwoDig(myMonth)) %>>Jun <td<%=bgc(1) %>><input type="radio" name="m" value="07"<%=ChkIfSame("07", TwoDig(myMonth)) %>>Jul <td<%=bgc(2) %>><input type="radio" name="m" value="08"<%=ChkIfSame("08", TwoDig(myMonth)) %>>Aug <td<%=bgc(1) %>><input type="radio" name="m" value="09"<%=ChkIfSame("09", TwoDig(myMonth)) %>>Sep <td<%=bgc(2) %>><input type="radio" name="m" value="10"<%=ChkIfSame("10", TwoDig(myMonth)) %>>Oct <td<%=bgc(1) %>><input type="radio" name="m" value="11"<%=ChkIfSame("11", TwoDig(myMonth)) %>>Nov <td<%=bgc(2) %>><input type="radio" name="m" value="12"<%=ChkIfSame("12", TwoDig(myMonth)) %>>Dec
<input type="text" name="y" value="<%=MyYear %>" maxlength="4" size="5"> |
If Saturday Include Links to Daily Meetup pages for ... <input type="radio" name="wkdys" value="prev"<%=ChkIfSame(myWeek, "prev") %>>Previous week (Su-Fr) <input type="radio" name="wkdys" value="next"<%=ChkIfSame(myWeek, "next") %>>Next week (Su-Fr) <input type="radio" name="wkdys" value="both"<%=ChkIfSame(myWeek, "both") %>>Both weeks <input type="radio" name="wkdys" value="none"<%=ChkIfSame(myWeek, "none") %>>Neither week (default) |
If Weekday Include Links to Daily Meetup pages for ... <input type="radio" name="wkdys" value="today"<%=ChkIfSame(myWeek, "today") %>>Today only (default) <input type="radio" name="wkdys" value="all"<%=ChkIfSame(myWeek, "all") %>>All of this week |
<% ' The Wiki Code ' %> <pre> {{meetup graticule | map=<map lat="<%=myLat %>" lon="<%=myLong %>" date="<%=myWikiDate %>" /> | lat=<%=myLat %> | lon=<%=myLong %> | date=<%=myWikiDate %> }} <!-- see https://geohashing.site/geohashing/NaviCodeGen for script --> {| border="1" style="text-align:center" |- | rowspan="3" | [[<%=WikiDate(PrevSat) & "_" & myLat & "_" & myLong %>|Prev Sat]]<br><br><% If ("prev" = MyWeek) or ("both" = myWeek) or ("all" = MyWeek) Then Response.Write("[[" & WikiDate(DateAdd("d", 1, PrevSat)) & "_" & myLat & "_" & myLong & "|S]]") Response.Write("[[" & WikiDate(DateAdd("d", 2, PrevSat)) & "_" & myLat & "_" & myLong & "|M]]") Response.Write("[[" & WikiDate(DateAdd("d", 3, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") Response.Write("[[" & WikiDate(DateAdd("d", 4, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") Response.Write("[[" & WikiDate(DateAdd("d", 5, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") Response.Write("[[" & WikiDate(DateAdd("d", 6, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]<br><br>") End If If IsSat Then Response.Write("Today<br><br>") If ("today" = MyWeek) Then Response.Write("[[" & myWikiDate & "_" & myLat & "_" & myLong & "|" & myDayName & "]]<br><br>") If ("next" = MyWeek) or ("both" = myWeek) Then Response.Write("[[" & WikiDate(DateAdd("d", 8, PrevSat)) & "_" & myLat & "_" & myLong & "|S]]") Response.Write("[[" & WikiDate(DateAdd("d", 9, PrevSat)) & "_" & myLat & "_" & myLong & "|M]]") Response.Write("[[" & WikiDate(DateAdd("d", 10, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") Response.Write("[[" & WikiDate(DateAdd("d", 11, PrevSat)) & "_" & myLat & "_" & myLong & "|W]]") Response.Write("[[" & WikiDate(DateAdd("d", 12, PrevSat)) & "_" & myLat & "_" & myLong & "|T]]") Response.Write("[[" & WikiDate(DateAdd("d", 13, PrevSat)) & "_" & myLat & "_" & myLong & "|F]]<br><br>") End If %>[[<%=WikiDate(NextSat) & "_" & myLat & "_" & myLong %>|Next Sat]] | rowspan="3" | Neighboring<br><br>Meetups<br><br>today &rarr; | [[<%=myWikiDate & "_" & (myLat + 1) & "_" & (myLong - 1) %>|NW]] | [[<%=myWikiDate & "_" & (myLat + 1) & "_" & myLong %>|N]] | [[<%=myWikiDate & "_" & (myLat + 1) & "_" & (myLong + 1) %>|NE]] |- | [[<%=myWikiDate & "_" & myLat & "_" & (myLong - 1) %>|W]] | us | [[<%=myWikiDate & "_" & myLat & "_" & (myLong + 1) %>|E]] |- | [[<%=myWikiDate & "_" & (myLat - 1) & "_" & (myLong - 1) %>|SW]] | [[<%=myWikiDate & "_" & (myLat - 1) & "_" & myLong %>|S]] | [[<%=myWikiDate & "_" & (myLat - 1) & "_" & (myLong + 1) %>|SE]] |}