Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Geo58

Yet another short-link specification for geo-coordinates.

Key Features

  • uses base-58 encoding
  • can be as short as 8 characters, mostly 9 characters
  • maximum length of 10 characters
  • resolves to about 1.1m accuracy
  • geocoordinates that are close, look similar
  • can include a zoom level of a map (20-5)

Base-58 encoding

Base-58 encoding uses 58 alphanumerical characters of the alphabet plus 9 digits. Characters that look similar ('0', 'O', 'I', 'l') are omitted. This allows for manual copying of data with little potential for ambiguity.

8-10 characters short

The encoding is done in the followin schema: [Zoom 4bit][joined [Lat 25bit][Lon 26bit]]

  • Zoom: beeing an optional parameter for a possible viewport (see below).
  • posLat: is the latitude (mapped from [-90,90] to [0, 180]).
  • posLon: is the longitude (mapped from [-180,180] to [0, 360]).

The last 51 bit are 'intervoven' to generate a bit-sequence with least significant bits to the right. This allows the generation of short-strings that are similar to each other if they are close to one another.

The following 3 links, refer to cafes in Heidelberg, which are only ~25m apart:

Zoom level (can be) included

4 bit of the short-string are used to encode the zoom level of a viewport. This can be used to hint at the size of the object that is being referred to. The zoom level is pre-fixed to the bit-sequence. It is also 'inverted' to allow zoom level 20 to be represented as zero and 19 as one. Zomm level 5 would be using 4 bits.

As the zoom level is pre-fixed, zoom level 20 does not 'consume' any bit-bandwidth, resulting in a short-string being as short as possible.

Credit

This format came to be during the creation of a short-link format for YellowOSM.

YellowOSM is supported by NetIdee.

Metadata

Release files for geo58 1.0.0b1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for geo58 1.0.0b1
File Size Uploaded Provenance Actions
geo58-1.0.0b1.tar.gz 5.0 kB Without provenance Details for geo58-1.0.0b1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for geo58 1.0.0b1
File Interpreter ABI Platform Actions
geo58-1.0.0b1-py3-none-any.whl Python 3 none any Details for geo58-1.0.0b1-py3-none-any.whl

Total release size: 10.2 kB

Release files / geo58-1.0.0b1.tar.gz

Download URL geo58-1.0.0b1.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
58741677708b0873fb9816763fd684ae65af61a3518daecfbde1bcf737b9a8d8
BLAKE2b-256 checksum
How to use checksums
7cd65d2871344052b42e737bc4fa6fe8e31c8246d85d3f2540879be8b04123d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / geo58-1.0.0b1-py3-none-any.whl

Download URL geo58-1.0.0b1-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e171f4fc492270c3f07fcb1255f8faef1aa6632376dae94db18c538bbfed4fa
BLAKE2b-256 checksum
How to use checksums
0d0b66efee7e5a04d09fc55c823797dfcd6c816e5cdd759f97fdf2fae3da4c74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Security for geo58 1.0.0b1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page