Skip to main content

Fast lon, lat to BNG conversion

Project description

Fast longitude, latitude to BNG conversion, and vice versa, using a multithreaded Rust binary and FFI.
This module provides two fast methods:
util.convertbng(lons, lats) – pass sequences (such as lists or numpy arrays) of Longitudes and Latitudes, or single values of each. Returns a list of two lists containing Easting and Northing floats, respectively.
util.convertlonlat(eastings, northings) – pass sequences (such as lists or numpy arrays) of Eastings, Northings, or single values of each. Returns a list of two lists containing Longitude and Latitude floats, respectively
And four accurate OSTN02-enabled methods, suitable for surveying and other geodetic work:
convert_osgb36(lons, lats) – convert ETRS89 Longitudes and Latitudes to OSGB36
convert_osgb36_to_lonlat(eastings, northings) – convert OSGB36 Eastings and Northings to ETRS89 longitudes and latitudes
convert_etrs89_to_osgb36(eastings, northings) – convert ETRS89 Eastings and Northings to OSGB36 Eastings and Northings
convert_osgb36_to_etrs89(eastings, northings) – convert OSGB36 eastings and Northings to ETRS89 Eastings and Northings.
All four methods accept and return floating-point numbers.

Latitude:
East: 1.768960 (Max)
West: -6.379880 (Min)
Longitude:
North: 55.811741 (Max)
South: 49.871159 (Min)

Installation

Installation as a binary wheel using pip, for OS X:
pip install convertbng
Binary wheels aren’t yet available for Linux or Windows, but installation directly from Github works:
pip install git+git://github.com/urschrei/convertbng.git

Usage

from convertbng.util import convertbng, convertlonlat

# convert a single value
res = convertbng(lon, lat)

# convert lists of longitude and latitude values to BNG Eastings and Northings
lons = [lon1, lon2, lon3]
lats = [lat1, lat2, lat3]
res_list = convertbng(lons, lats)

# convert lists of BNG Eastings and Northings to longitude, latitude
eastings = [easting1, easting2, easting3]
northings = [northing1, northing2, northing3]
res_list_en = convertlonlat(eastings, northings)

# assumes numpy imported as np
lons_np = np.array(lons)
lats_np = np.array(lats)
res_list_np = convertbng(lons_np, lats_np)

Testing

Run nosetests (requires Nose)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

convertbng-0.3.0.tar.gz (15.1 MB view hashes)

Uploaded Source

Built Distribution

convertbng-0.3.0-py2.py3-none-any.whl (15.1 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page