Retrohash search tool

With this webpage, you can search retrohashes (geohashes and globalhashes of past dates) matching specified location and date criteria. Data are available since 1928-10-01.

The old version of the tool is located at old.html. All of its functionality can be reproduced with the current tool.

How to use

First, select which hashpoints you want to search. The default option of all is usually the useful one, but you can also search only geohashes or globalhashes.

The location criteria are:

As an alternative to Ctrl+clicking, you can press the “Use map centre” button to assign the graticule, coordinates or the circle radius according to the centre point of the visible map area.

The date criteria are:

The criteria can be combined with logical operators:

Finally, how to order the found hashpoints and how many to display at most. The ordering options are:

Once all the settings and criteria have been defined, click “Search”. As long as the calculation has not finished, the app asks every ten seconds if you want it to continue. The interval can be increased to one or five minutes or disabled altogether (not recommended).

Hashpoints matching all criteria are shown on the map and listed in a table. The map markers of regular geohashes are in green and globalhashes in blue. Points with a reported expedition to them are in a lighter colour. If the expedition was unsuccessful (Category: Coordinates not reached) instead of successful (Category: Coordinates reached), the marker’s outline is dashed instead of solid. In the table, successful expeditions are highlighted in blue and unsuccessful ones in red.

Exporting and importing parameters

Clicking the “Import / Export parameters” button opens a text area where all the search parameters can be represented as code written in a simple Lisp-like script. The “Export” button converts the search parameters to code, and the “Import” button converts the code back to parameters that can be used in a search. There is only minimal error checking; the exporting only works if all given parameters are valid, and importing fails without giving a reason if the code is not properly formed.

A brief summary of the syntax and available expressions:

See the example cases below.

The code can also be given to the website as a base64-encoded URL query string, which allows easily sharing the search parameters or saving them in a bookmark. Non-ASCII characters are discarded, but as the code always uses only ASCII characters this causes no issues. There is no error checking, so make sure that the code is functional before using the URL.

Notes and tips

Example case 1

Try the following criteria and settings:

Equivalent code:(retrohash_search (find all)(display 20 new)(location (circle 20 km '50.1,14.5'))(date (fulldate <= '2025-03-31')))

You will get a list of hashpoints around Prague, Czech Republic, including three successful expeditions and one unsuccessful expedition.

Example case 2

Try the following criteria and settings:

Equivalent code:(retrohash_search (find all)(display 1000 new)(location (and (graticule '68,29')(polygon '68.19630,28.64613 68.07454,29.32709 67.80296,29.65942 67.80296,28.64613')))(date (or (day = 1)(day = -1))))

You will get a list of all hashpoints that were in the Finnish corner of this graticule on either the first or the last day of the month. You can see how the points are in the small area where the two quadrilaterals coincide.

Example case 3

Try the following criteria and settings:

Equivalent code:(retrohash_search (find all)(display 100 point '48.87378,2.29504' km))

After several seconds, you will get the one hundred hashpoints closest ever to the Arc de Triomphe in Paris. The search is slow because the search space is the whole world and all dates since 1928-10-01, and it would be horribly slow if the app did not reduce the search space during the search. Limiting the search to the graticule 48,2 makes it significantly faster and yields the same result.