PyBNG
An Ordinance-Survey National Grid coordinates converter
Getting Started
PyBNG is built on top of OSGridConverter and is used to convert coordinates from the Ordnance Survey National Grid system (often called the British National Grid -- BNG) to latitude and longitude using WGS84 (other geodetic reference systems available).
While OSGridConverter can convert BNG to latitude and longitude, it does not support all-numeric grid references, which is the primary feature in this library.
Installation
PIP (recommended)
pip install PyBNG
Manual Installation
Simply clone the entire repo and extract the files in the PyBNG folder, then copy all the content to your project folder
Or use one of the shorthand methods below
GIT
cdinto your project directory- Use
sparse-checkoutto pull the library files only into your project directorygit init PyBNG cd PyBNG git remote add -f origin https://github.com/ThunderStruct/PyBNG.git git config core.sparseCheckout true echo "PyBNG/*" >> .git/info/sparse-checkout git pull --depth=1 origin master
- Import the newly pulled files into your project folder
SVN
cdinto your project directorycheckoutthe library filessvn checkout https://github.com/ThunderStruct/PyBNG/trunk/PyBNG
- Import the newly checked out files into your project folder
Usage
Initialization
A PyBNG object can be instantiated as follows:
from PyBNG import PyBNG
bng = PyBNG(easting=519080, northing=185050)
latlon = PyBNG(lat=51.55178424773851, lon= -0.2835125528796557)
The initializer expects easting and northing OR lat and lon parameters, depending on the required conversion
Methods
get_latlon(datum='WGS84'):- Description: calculates the latitude and logitude based on the given BNG coordinates
- Parameters: none (passed to constructor)
- Return Value: tuple -- (latitude, longitude)
- Usage:
from PyBNG import PyBNG bng = PyBNG(easting=519080, northing=185050) bng.get_latlon() # (51.55178424773851, -0.2835125528796557)
get_bng(datum='WGS84'):- Description: calculates the BNG coordinates given a latitude and a longitude
- Parameters: none (passed to constructor)
- Return Value: typle -- (easting, northing)
- Usage:
from PyBNG import PyBNG latlon = PyBNG(lat=51.55178424773851, lon= -0.2835125528796557) latlon.get_bng() # (519107, 185051)
Please note that converting BNG coordinates to latitude/longitude and back to BNG will yield different results due to internal float rounding
Acknowledgment
I would like to thank Dr. Lakshmi Babu-Saheer for her unwavering support, encouragement, and advice.
License
This project is licensed under the MIT License - see the LICENSE file for details
Metadata
Release files for PyBNG 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pybng-0.2.0.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybng-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / pybng-0.2.0.tar.gz
| Download URL | pybng-0.2.0.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6789d244a5b6ec514daa247445c25b988ed0bb3c2119c183e7d041a6684a26be
|
|
BLAKE2b-256 checksum How to use checksums |
8d72c75ca8164a7ee17ed07c301477d72694515486ac30659c71ff0d7cca32b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / pybng-0.2.0-py3-none-any.whl
| Download URL | pybng-0.2.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
510671d14a76043fb098d5acd3e6b5dc8fb84bd4ab73cd246eb589e5cd32b3de
|
|
BLAKE2b-256 checksum How to use checksums |
d4cc7b0ab808d710d132daeb5eb109584626c3740b652191683e628ea1ee7413
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|