GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing wiki.openstreetmap.org — Shortlink - OpenStreetMap Wiki Shortlink
Jump to navigation
Jump to search
A shortlink is a link to a map, designed to be shorter than the normal URL. It can be generated by selecting the Shortlink option on the Share tab. Example
How the encoding worksThe URL is composed of https://osm.org/go/ followed by a binary quadtile address, encoded in ASCII (modified base64), with chars at the end to indicate relative zoom. Each character encodes the location on a 8x8 chessboard, the first character is the location on the whole globe, next character is the location within that square, etc. The binary address - for example 0101 - is used as follows:
This binary address is then encoded in ASCII by modified-base64, and a few chars are added at the end to indicate relative zoom. The length of the code gives the zoom level rounded to the nearest 3 and the appended code specifies the remainder. MarkerA marker pin reference for the centre of the map can be added to the shortlink by appending "?m", or by ticking the "Include marker" checkbox on the share tab, or if an alternative map layer or any other query has already been included use "&m". Using one of the above examples, https://osm.org/go/0EEQjE--?m will give the above view with a marker in the centre, https://osm.org/go/0EEQjE--?layers=T&m will give the above view but with the Transport layer selected and a marker in the map centre. Code for encoding & decodingYou can perform your own shortlink encoding and decoding, and it's worth noting that this is the fundamental advantage of using this URL format over other URL shortening services, where you are dependent on the continuity of that service. With these short links, the location information is truly encoded in the URL, and you can decode it algorithmically, without any database look-up, and independently of OpenStreetMap's servers. Unlike URL shortening services, we're not "using up" combinations of letters. We'll never need to make the URLs longer. The reference code for encoding and decoding shortlinks is short_link.rb on github. Other implementations include:
If anyone has other language implementations, please feel free to link them here. We cannot guarantee the correctness of such code. History of change
See also
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |