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

3.0.0

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

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-3.0.0.tar.gz (5.7 kB view hashes)

Uploaded Source

Built Distribution

pyreproj-3.0.0-py2.py3-none-any.whl (5.4 kB 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