Skip to main content

Python Reprojector

Project description

build status coverage report

Python Reprojector

This is a simple python library for coordinate transformations between different projections. It uses the pyproj library as a wrapper for proj.4. The goal is to make transformations as simple as possible.

Usage

Get transformation function

from pyreproj import Reprojector

rp = Reprojector()
transform = rp.get_transformation_function(from_srs=4326, to_srs='epsg:2056')
transform(47.46614, 7.80071)
# returns: (2627299.6594659993, 1257325.3550428299)

The arguments from_srs and to_srs can be one of the following:

  • Integer: value of the EPSG code, e.g. 2056

  • String: EPSG code with leading “epsg:”, e.g. ‘epsg:2056’

  • String: proj4 definition string

  • Object: instance of pyproj.Proj

The returned function is a functools.partial that can also be used as first argument for shapely.ops.transform.

Transform coordinates directly

from shapely.geometry import Point
from pyreproj import Reprojector

rp = Reprojector()

p1 = Point(47.46614, 7.80071)
p2 = rp.transform(p1, from_srs=4326, to_srs=2056)
p2.wkt
# returns: 'POINT (2627299.659465999 1257325.35504283)'

rp.transform([47.46614, 7.80071], from_srs=4326, to_srs=2056)
# returns: [2627299.6594659993, 1257325.3550428299]

rp.transform((47.46614, 7.80071), from_srs=4326, to_srs=2056)
# returns: (2627299.6594659993, 1257325.3550428299)

The arguments from_srs and to_srs can be one of the following:

  • Integer: value of the EPSG code, e.g. 2056

  • String: EPSG code with leading “epsg:”, e.g. ‘epsg:2056’

  • String: proj4 definition string

  • Object: instance of pyproj.Proj

Get projection from service

from pyreproj import Reprojector

rp = Reprojector()
proj = rp.get_projection_from_service(epsg=2056)
type(proj)
# returns: <class 'pyproj.Proj'>

Changelog

2.0.0

https://gitlab.com/geo-bl-ch/python-reprojector/milestones/2

  • Update used version of pyproj (>=2.2.0)

1.0.1

https://gitlab.com/geo-bl-ch/python-reprojector/milestones/1

  • Set up deployment

  • Lock version of pyproj<2.0.0

1.0.0

  • Initial version

  • Features:
    • define projections by projection object, proj4 definition or EPSG code

    • get projection by service (e.g. http://spatialreference.org/)

    • get a transformation function from source to target projection

    • transform coordinates as list or tuple or a shapely geometry directly

Project details


Download files

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

Source Distribution

pyreproj-2.0.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyreproj-2.0.0-py2.py3-none-any.whl (5.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyreproj-2.0.0.tar.gz.

File metadata

  • Download URL: pyreproj-2.0.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for pyreproj-2.0.0.tar.gz
Algorithm Hash digest
SHA256 341be280a341dc04c469746f21eb760cbe8ce52d9e186d27230da70e64391950
MD5 49bbeb9275f11ddc851e2acac3f5193b
BLAKE2b-256 77bf791ec531848465910ed62c98f8575fcc53594f40d4cc9bb0b728580de01d

See more details on using hashes here.

File details

Details for the file pyreproj-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pyreproj-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

File hashes

Hashes for pyreproj-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 baf4a80731f0da2769de906afe589e4bceffeaf213f125ec2a27caed2ba22ae7
MD5 d60bd3b8771f33b4181d7181b572286e
BLAKE2b-256 fb8dc7e1cb8edb458d39dea2023c45737a92c3e130164f7c1b2b298cef1a9492

See more details on using hashes here.

Supported by

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