Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

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)

Warning

The order of lon/lat values has changed to lat/lon!

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.

Files for pyreproj, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size pyreproj-2.0.0-py2.py3-none-any.whl (5.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pyreproj-2.0.0.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page