maidenhead
provides a simple, yet effective location hashing algorithm.
Maidenhead allows global location precision down to 750m
Maidenhead provides 4 levels of increasing accuracy
Level | Precision |
---|---|
1 | World |
2 | Regional |
3 | Metropolis |
4 | City |
pip install maidenhead
or for development version
git clone https://github.com/space-physics/maidenhead
pip install -e maidenhead
Examples assume first doing
import maidenhead as mh
Lat, lon to Maidenhead locator:
mh.to_maiden(lat, lon, level)
returns a char (len = lvl*2)
Maidenhead locator to lat lon:
mh.to_location('AB01cd')
takes Maidenhead location string and returns top-left lat, lon of Maidenhead grid square.
The center=True
option outputs lat lon of the center of provided maidenhead grid square, instead of the default southwest corner.
The command line interface takes either decimal degrees for "latitude longitude" or the Maidenhead locator string:
python -m maidenhead 65.0 -148.0
BP65aa
python -m maidenhead BP65aa12
65.0083 -147.9917
The "python -m" CLI is also available:
python -m maidenhead 65.0 -148.0
The --center
option outputs lat lon of the center of provided maidenhead grid square, instead of the default southwest corner.
Open Location Codes a.k.a Plus Codes are in Python code by Google.