Skip to main content

PyBNG

Build Status pypi Python License

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 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
  • cd into your project directory
  • Use sparse-checkout to pull the library files only into your project directory
    git 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
  • cd into your project directory
  • checkout the library files
    svn 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)

Source distribution for PyBNG 0.2.0
File Size Uploaded
pybng-0.2.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyBNG 0.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.8

1 release file

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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