Difference between revisions of "Implementations/Broken"

From Geohashing
Line 74: Line 74:
  
 
As of 2022, this implementation is broken.
 
As of 2022, this implementation is broken.
 +
 +
== GeoRSS feed ==
 +
{{30w compliant|no=1}}
 +
You can subscribe to a feed (in GeoRSS format) that will give you updates on a daily basis{{fact}}.  Updates include the "best guess" address of the location as well as the specific latitude/longitude coordinates.
 +
<pre>http://atlas.freshlogicstudios.com/Features/Experiments/Xkcd/Xkcd.ashx?Latitude=38&Longitude=-91</pre>
 +
 +
For example, here's the [http://atlas.freshlogicstudios.com/Features/Experiments/Xkcd/Xkcd.ashx?Latitude=38&Longitude=-91 GeoRSS geohash for St. Louis].
 +
 +
This GeoRSS feed is used to power the [http://atlas.freshlogicstudios.com/?Xkcd Atlas geohash implementation].
 +
 +
== Atom feed ==
 +
{{30w compliant|yes=1}}
 +
You can subscribe to a feed that will give you updates on a daily basis:
 +
<pre>http://staticfree.info/geohash/atom/LAT,LON</pre>
 +
 +
For example, here's the [http://staticfree.info/geohash/atom/42,-71 Atom Geohash for Boston].
 +
 +
Just put your coordinates in, subscribe and you'll be ready to go!
 +
 +
Source is available from subversion: https://staticfree.info/svn/ghfeed/
 +
 +
;Bugs
 +
* I noticed yesterday that before the stock exchange data becomes available, the atom feed creates a kind of 'intemediary' geohash using todays date and yesterday's data. This might be intentional, but personally I find that undesirable on weekdays. Could it be modified to show yesterday's date and geohash until data is available? Nicktaylor 14:04, 23 May 2008 (UTC)
 +
** It's definitely broken. -- [[User:Phyzome|Phyzome]] 11:37, 28 May 2008 (UTC)
 +
*** This implementation was written before the [[30W]] rule.  As it turns out, the intermediate hash falls back on the previous Dow while using the current date from 00:00 (local) to 09:30 [[ET]], which happens to be the desired 30W behavior.  However, this is not helpful west of 30W.  An inverse problem occurs after 09:30 US[[ET]] east of 30W, until 24:00 local.  See detailed discussion at [[Talk:Implementations#Atom feed 30W-compliance]].  --[[User:Tjtrumpet2323|Tim P]] 15:45, 29 May 2008 (UTC)
 +
 +
== relet's JSON Web Service ==
 +
{{30w compliant|yes=1}}
 +
A geohashing JSON web service is available at:
 +
<tt><nowiki>http://relet.net/geo</nowiki></tt>
 +
 +
Additional data may always be present in the replies. This service may be extended in the future.
 +
 +
[[File:Flattr-badge-large.png|link=http://flattr.com/thing/590693/Geohashing-Web-Service]]
 +
 +
; Get geohash for location and date / Get graticule statistics
 +
<tt><nowiki>http://relet.net/geo/[lat]/[lon]/[YYYY-mm-dd]</nowiki></tt> ([http://relet.net/geo/60/10/2008-05-27 example])<br/>
 +
<tt><nowiki>http://relet.net/geo/[lat]/[lon]</nowiki></tt> ([http://relet.net/geo/60/10 example])
 +
 +
Returns a geohash for the given latitude, longitude and date. If you omit the date, you will only receive the graticule data.
 +
 +
The output will contain the following values in a dictionary:
 +
* error - if an error occurred retrieving the data - example: "DJIA for 2011-12-24 not available yet."
 +
* exception - if an error occurred parsing the input or calculating the output - example: "time data '2011-13-24' does not match format '%Y-%m-%d'"
 +
or:
 +
* djia - DJIA as retrieved from geo.crox
 +
* lat - latitude of the geohash
 +
* lon - longitude of the geohash
 +
* global-lat - latitude of the globalhash
 +
* global-lon - longitude of the globalhash
 +
and some information about the graticule:
 +
* graticule - name of the graticule (may be null)
 +
* attempt - number of geohashes attempted
 +
* success - number of successful geohashes
 +
* last - last successful geohash (may be null)
 +
* 30d - geohashes in the last 30 days
 +
* 300d - geohashes in the last 300 days
 +
* hashers - an estimate on how many hashers have tried to reach geohashes in this graticule
 +
 +
; Get geohash history for a graticule
 +
<tt><nowiki>http://relet.net/geo/list/[lat]/[lon]</nowiki></tt> ([http://relet.net/geo/list/60/10 example])
 +
 +
Returns a list of past expeditions for this graticule. Each list item contains the values:
 +
* lat - latitude of the geohash
 +
* lon - longitude of the geohash
 +
* djia - relevant DJIA
 +
* reached - whether the coordinates were reached
 +
* title - the title of the expedition page on http://geohashing.org
 +
 +
; Get geohash history for a user
 +
<tt><nowiki>http://relet.net/geo/follow/User</nowiki></tt> ([http://relet.net/geo/follow/Felix%20Dance example])
 +
 +
Requires proper capitalization as in wiki user names
 +
Returns a list of past expeditions for this users. Each list item contains the values:
 +
* lat - latitude of the geohash
 +
* lon - longitude of the geohash
 +
* djia - relevant DJIA
 +
* title - the title of the expedition page on http://geohashing.org
 +
* reached - whether the coordinates were reached
 +
 +
; Get participants of an expedition
 +
<tt><nowiki>http://relet.net/geo/participants/lat/lon/date</nowiki></tt> ([http://relet.net/geo/participants/42/-71/2008-06-07 example])
 +
 +
Returns a list of recognized user names who are presumed to have participated in this expedition. (Fuzzy logic, it's an educated guess)
 +
 +
; Get complete list of all graticules
 +
<tt><nowiki>http://relet.net/geo/grats</nowiki></tt>
 +
 +
Returns a dictionary of all named graticules. Please store this locally, the transfer size is considerable.
 +
For occasional queries after a graticule name, use one of the other APIs. Updated occasionally.
 +
 +
; Get complete geohashing statistics
 +
<tt><nowiki>http://relet.net/geo/stats</nowiki></tt>
 +
 +
Returns a dictionary with graticule statistics. Updated daily. The data is unlabeled, to save a bit on space.
 +
Each dictionary entry is a list with the following entries, in this order.
 +
* total expeditions
 +
* coordinates reached
 +
* 30 day expedition count
 +
* 300 day expedition count
 +
* last expedition date
 +
* number of geohashers having participated in expeditions in this graticule (estimate from parsing reports)
 +
 +
; Join the #geohashing IRC channel with a random geonick
 +
<tt><nowiki>http://relet.net/geo/randomnick</nowiki></tt>
 +
 +
Generates a HTTP 302 Redirect to mibbit. Just a gimmick for the front page.
 +
 +
== Phyzome's Text Messaging (email) service ==
 +
{{30w compliant|yes=1}}
 +
If your cell phone supports text messaging to an email address, you can get geohash updates on your phone by sending a formatted text to srv@geohash.info ('''broken indefinitely''')
 +
;Formatting
 +
YYYY-MM-DD Lat Lon
 +
Example:
 +
<pre>2008-02-18 42 -83</pre>
 +
Alternatively, it defaults to the current date (EST for now) and you can just enter Latitude and Longitude
 +
<pre>42 -83</pre>
 +
 +
;Bugs
 +
* The [[-0 Issue]] is still very much an issue.
 +
* This used to display the degree symbol after coordinate elements, but due to poor cell phone support of this character, which resulted in messages cutting off after the first Latitude, I have removed it.
 +
* This is also not a terribly robust solution, but a better (stronger, faster) implementation is in the making.
 +
* Not necessarily a bug, but a desirable feature: it would be nice to be able to omit the '-' character when specifying the date (it just happens to require many keystrokes to type - on my phone)
 +
 +
== Crox's Text Messaging service (SMS) ==
 +
{{30w compliant|yes=1}}
 +
 +
'''Update 2018-01-03''' - currently the SMS service is not working (modem has to be replaced). Working on a fix. Watch this space for updates.
 +
 +
Text "GH [date]" to +41774378210, eg:
 +
<pre>gh 20091110</pre>
 +
A few seconds later you should get an sms response similar to the following:
 +
<pre>Relevant DJIA for 2009-11-10 is 10223.01(W) / 10020.62(E). Decimal parts are: 0.02335 0.228005(W) / 0.854495 0.149983(E).</pre>
 +
 +
Occasionally you may see a result of '''<n/a>''' when information is unavailable. For example, if you are looking at a date where coordinates are only available east of w30, you may see something like:
 +
<pre>Relevant DJIA for 2009-11-10 is <n/a>(W) / 10020.62(E). Decimal parts are: <n/a>(W) / 0.854495 0.149983(E).</pre>
 +
 +
Not case-sensitive, so "Gh", "gh" etc. are all fine. Don't forget the space between "gh" and the date. The script is also flexible on the date format as long as it's in the Y-m-d order.
 +
 +
The service uses the [[Dow_Jones_Industrial_Average#geo.crox.net|DJIA source]] that I maintain.
 +
 +
I recommend testing it once before you are away from home and really need it. Also, don't hesitate to tell me if you don't get an sms back or if you feel that something else is not working properly...
 +
 +
See also [[Dow Jones Industrial Average#SMS|SMS DJIA service]]; suggestions, comments and other feedback to [[User:Crox]].
 +
 +
== Phyzome's Email autoresponder ==
 +
{{30w compliant|yes=1}}
 +
 +
Email or text srv@geohash.info with something like <code>2008-3-25 42 -71</code> in the body to get geohash coordinates. Send "usage" to get this same info in the field. ('''broken indefinitely''')
 +
 +
* Source code: https://github.com/timmc/hashflash
 +
* Maintainer: [[User:Phyzome|Phyzome]]
  
 
[[Category:Implementations]]
 
[[Category:Implementations]]

Revision as of 18:53, 14 January 2022

Miscellaneous geohashing utilities that are known not to work any longer

Geco

This implementation IS FULLY 30W-compliant.
Geco screenshot.png

A re-implementation of the calculator above using leaflet/cloudmade and the JSON web service below. By using geo.crox as a data source, it is hopefully more reliable than the official map. It also shows the global hash on the map, which you may only notice when it comes into range anyway.

http://relet.net/geco

Flattr-badge-large.png

Parameters:

  • lat - latitude of the initial graticule
  • lon - longitude of the initial graticule
  • zoom - initial zoom level
  • date - initial date in YYYY-MM-DD format

e.g: http://relet.net/geco/?date=2005-05-26&lat=37&lon=-122&zoom=8

Hackish Bitcoin-based Python Implementation

This implementation IS NOT 30W-compliant.

Implementation is broken, as far as I can see: The json service queried does not provide the "open" symbol queried. I believe MtGox does not have an opening at all.

MarkTraceur made this to test what Geohashing would look like using a different financial source. It's based on the opening price of Bitcoins in USD at Mt. Gox. You can change the site you use, the coordinates, or just about anything pretty easily. It will get nicer-looking as time goes on.

It is here: https://github.com/MarkTraceur/geohash-btc

Feel free to fork it and/or send feedback through GitHub!

Michi did some improvements and bug fixing on Marks original script:
  • Since bitcoincharts removed the "open" field in their data, the script uses the price at midnight for the calculation.
  • Support for the Globalhash.
  • 30W compliant.
  • Support for other markets than Mt.Gox.
  • More map services.
The code is in his fork. Unfortunately Mark does not respond to Pull Requests, so it looks like the fork won't get merged back.

Former geohash location suggester

No longer available as of 2012.

This implementation IS PARTIALLY 30W-compliant.
not compatible for dates before 2008-05-27

Geohash Recommender - This website doesn't seem to work as of 12-Jun-09

Yet another implementation in Python is here as well. It does the same as the ones above but also gives "validation" information. Lets you know if the geohash location is under water and thus if its a valid place to go party. Using this it attempts to suggest the "best" alternative geohash by checking all neighbouring grid locations. I'll add more terrain recognition if people like it. The code is over here Source Code

Bugs

  • There are a few, it needs a few refreshes to get the whole tagging right. It also has trouble guessing the terrain type occasionally. Refreshing it makes it work but its a problem im looking into, have a look at the code and help if you can :)
  • Gives me a false location for May 28 and 29, 2008, which aren't yet known anywhere in the world according to the algorithm. --Tim P 21:29, 24 May 2008 (UTC)
    • But... thos dates aren't real yet. There is no dow result. Granted it should give an error instead of giving _something_ but...
      • As of 05:06, 26 May 2008 (UTC), this gives locations for May 27-30 west of 30W and for May 28-31 east of 30W, i.e., four days beyond what should be calculable as of that time. Beyond those dates, it gives a proper error message stating that no Dow is available. I think temporary data were added to the implementation for testing purposes; these should be removed. --Tim P
      • One could interpret the algorithm such that, for any date in the future, one is to use "the opening price from [DOW's] previous day of active trading is used", i.e., the most recent trading day. Obviously, this would lead to the location changing as the day approaches but, in a random spontaneous adventure generator, that seems almost mathematically pure. I mean, that's just what happens when you try to generate spontaneity too far into the future, yes?  ;) Ted 00:19, 30 May 2008 (UTC)
  • Electronicwar website seems to be no longer functioning. Jiml 00:29, 13 June 2009 (UTC)

Active Geohasher

This implementation IS FULLY 30W-compliant.

Active geohasher was a web application by Sermoa which provided resources for geohashers. The site used to be able to send email, but resource limits have prevented it from doing so for the time being. One could use a browser to view a page containing the address, distance from your home location, and useful links. It also told you the globalhash.

The site provided graticule integration with twitter, flickr and youtube. A google earth feed was provided per gratiucule. Every geohash had a page showing various google maps, useful links and a PDF poster which you could download and print to take to the geohash.

Active geohasher is open source (written in Ruby on Rails). Please contribute if you have ideas or would like to translate it into a different language. There is also a twitter account that delivers news and direct message geohashing notifications: @activegeohasher

As of May 2013, the website has been down ("Offline for Maintenance") for several months. As of 2021, it only displays a 404 error page.

Peeron

This implementation IS FULLY 30W-compliant.
HashLookup.jpg

The original interactive coordinate calculator was found at http://carabiner.peeron.com/xkcd/map. Here are some notes on Using the Coordinate Calculator. The common URL, http://xkcd.com/geohashing, redirects here.

Any problems or issues should be mentioned to Zigdon either on the wiki or in the Geohashing IRC channel, as well as posted at Talk:Implementations.

As of 2022, this implementation is broken.

GeoRSS feed

This implementation IS NOT 30W-compliant.

You can subscribe to a feed (in GeoRSS format) that will give you updates on a daily basis[citation needed]. Updates include the "best guess" address of the location as well as the specific latitude/longitude coordinates.

http://atlas.freshlogicstudios.com/Features/Experiments/Xkcd/Xkcd.ashx?Latitude=38&Longitude=-91

For example, here's the GeoRSS geohash for St. Louis.

This GeoRSS feed is used to power the Atlas geohash implementation.

Atom feed

This implementation IS FULLY 30W-compliant.

You can subscribe to a feed that will give you updates on a daily basis:

http://staticfree.info/geohash/atom/LAT,LON

For example, here's the Atom Geohash for Boston.

Just put your coordinates in, subscribe and you'll be ready to go!

Source is available from subversion: https://staticfree.info/svn/ghfeed/

Bugs
  • I noticed yesterday that before the stock exchange data becomes available, the atom feed creates a kind of 'intemediary' geohash using todays date and yesterday's data. This might be intentional, but personally I find that undesirable on weekdays. Could it be modified to show yesterday's date and geohash until data is available? Nicktaylor 14:04, 23 May 2008 (UTC)
    • It's definitely broken. -- Phyzome 11:37, 28 May 2008 (UTC)
      • This implementation was written before the 30W rule. As it turns out, the intermediate hash falls back on the previous Dow while using the current date from 00:00 (local) to 09:30 ET, which happens to be the desired 30W behavior. However, this is not helpful west of 30W. An inverse problem occurs after 09:30 USET east of 30W, until 24:00 local. See detailed discussion at Talk:Implementations#Atom feed 30W-compliance. --Tim P 15:45, 29 May 2008 (UTC)

relet's JSON Web Service

This implementation IS FULLY 30W-compliant.

A geohashing JSON web service is available at: http://relet.net/geo

Additional data may always be present in the replies. This service may be extended in the future.

Flattr-badge-large.png

Get geohash for location and date / Get graticule statistics

http://relet.net/geo/[lat]/[lon]/[YYYY-mm-dd] (example)
http://relet.net/geo/[lat]/[lon] (example)

Returns a geohash for the given latitude, longitude and date. If you omit the date, you will only receive the graticule data.

The output will contain the following values in a dictionary:

  • error - if an error occurred retrieving the data - example: "DJIA for 2011-12-24 not available yet."
  • exception - if an error occurred parsing the input or calculating the output - example: "time data '2011-13-24' does not match format '%Y-%m-%d'"

or:

  • djia - DJIA as retrieved from geo.crox
  • lat - latitude of the geohash
  • lon - longitude of the geohash
  • global-lat - latitude of the globalhash
  • global-lon - longitude of the globalhash

and some information about the graticule:

  • graticule - name of the graticule (may be null)
  • attempt - number of geohashes attempted
  • success - number of successful geohashes
  • last - last successful geohash (may be null)
  • 30d - geohashes in the last 30 days
  • 300d - geohashes in the last 300 days
  • hashers - an estimate on how many hashers have tried to reach geohashes in this graticule
Get geohash history for a graticule

http://relet.net/geo/list/[lat]/[lon] (example)

Returns a list of past expeditions for this graticule. Each list item contains the values:

  • lat - latitude of the geohash
  • lon - longitude of the geohash
  • djia - relevant DJIA
  • reached - whether the coordinates were reached
  • title - the title of the expedition page on http://geohashing.org
Get geohash history for a user

http://relet.net/geo/follow/User (example)

Requires proper capitalization as in wiki user names Returns a list of past expeditions for this users. Each list item contains the values:

  • lat - latitude of the geohash
  • lon - longitude of the geohash
  • djia - relevant DJIA
  • title - the title of the expedition page on http://geohashing.org
  • reached - whether the coordinates were reached
Get participants of an expedition

http://relet.net/geo/participants/lat/lon/date (example)

Returns a list of recognized user names who are presumed to have participated in this expedition. (Fuzzy logic, it's an educated guess)

Get complete list of all graticules

http://relet.net/geo/grats

Returns a dictionary of all named graticules. Please store this locally, the transfer size is considerable. For occasional queries after a graticule name, use one of the other APIs. Updated occasionally.

Get complete geohashing statistics

http://relet.net/geo/stats

Returns a dictionary with graticule statistics. Updated daily. The data is unlabeled, to save a bit on space. Each dictionary entry is a list with the following entries, in this order.

  • total expeditions
  • coordinates reached
  • 30 day expedition count
  • 300 day expedition count
  • last expedition date
  • number of geohashers having participated in expeditions in this graticule (estimate from parsing reports)
Join the #geohashing IRC channel with a random geonick

http://relet.net/geo/randomnick

Generates a HTTP 302 Redirect to mibbit. Just a gimmick for the front page.

Phyzome's Text Messaging (email) service

This implementation IS FULLY 30W-compliant.

If your cell phone supports text messaging to an email address, you can get geohash updates on your phone by sending a formatted text to srv@geohash.info (broken indefinitely)

Formatting

YYYY-MM-DD Lat Lon Example:

2008-02-18 42 -83

Alternatively, it defaults to the current date (EST for now) and you can just enter Latitude and Longitude

42 -83
Bugs
  • The -0 Issue is still very much an issue.
  • This used to display the degree symbol after coordinate elements, but due to poor cell phone support of this character, which resulted in messages cutting off after the first Latitude, I have removed it.
  • This is also not a terribly robust solution, but a better (stronger, faster) implementation is in the making.
  • Not necessarily a bug, but a desirable feature: it would be nice to be able to omit the '-' character when specifying the date (it just happens to require many keystrokes to type - on my phone)

Crox's Text Messaging service (SMS)

This implementation IS FULLY 30W-compliant.

Update 2018-01-03 - currently the SMS service is not working (modem has to be replaced). Working on a fix. Watch this space for updates.

Text "GH [date]" to +41774378210, eg:

gh 20091110

A few seconds later you should get an sms response similar to the following:

Relevant DJIA for 2009-11-10 is 10223.01(W) / 10020.62(E). Decimal parts are: 0.02335 0.228005(W) / 0.854495 0.149983(E).

Occasionally you may see a result of <n/a> when information is unavailable. For example, if you are looking at a date where coordinates are only available east of w30, you may see something like:

Relevant DJIA for 2009-11-10 is <n/a>(W) / 10020.62(E). Decimal parts are: <n/a>(W) / 0.854495 0.149983(E).

Not case-sensitive, so "Gh", "gh" etc. are all fine. Don't forget the space between "gh" and the date. The script is also flexible on the date format as long as it's in the Y-m-d order.

The service uses the DJIA source that I maintain.

I recommend testing it once before you are away from home and really need it. Also, don't hesitate to tell me if you don't get an sms back or if you feel that something else is not working properly...

See also SMS DJIA service; suggestions, comments and other feedback to User:Crox.

Phyzome's Email autoresponder

This implementation IS FULLY 30W-compliant.

Email or text srv@geohash.info with something like 2008-3-25 42 -71 in the body to get geohash coordinates. Send "usage" to get this same info in the field. (broken indefinitely)