跳转到主要内容

Python重投影器

项目描述

build status coverage report

Python重投影器

这是一个简单的Python库,用于在不同投影之间进行坐标转换。它使用pyproj库作为proj.4的包装器。目标是使转换尽可能简单。

用法

获取转换函数

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)

参数 from_srsto_srs 可以是以下之一

  • 整数:EPSG代码的值,例如2056

  • 字符串:带前缀“epsg:”的EPSG代码,例如“epsg:2056”

  • 字符串:proj4定义字符串

  • 对象:pyproj.Proj的实例

返回的函数是functools.partial,也可以用作shapely.ops.transform的第一个参数。

直接转换坐标

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)

参数 from_srsto_srs 可以是以下之一

  • 整数:EPSG代码的值,例如2056

  • 字符串:带前缀“epsg:”的EPSG代码,例如“epsg:2056”

  • 字符串:proj4定义字符串

  • 对象:pyproj.Proj的实例

从服务获取投影

from pyreproj import Reprojector

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

变更日志

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

  • 更新使用的pyproj版本(> = 2.2.0)

1.0.1

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

  • 设置部署

  • 锁定pyproj版本<2.0.0

1.0.0

  • 初始版本

  • 特性
    • 通过投影对象、proj4 定义或 EPSG 代码定义投影

    • 通过服务获取投影(例如 http://spatialreference.org/

    • 从源投影获取到目标投影的转换函数

    • 直接将坐标列表、元组或 shapely 几何体进行转换

投影详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pyreproj-3.0.0.tar.gz (5.7 kB 查看哈希值)

上传时间

构建分发

pyreproj-3.0.0-py2.py3-none-any.whl (5.4 kB 查看哈希值)

上传时间 Python 2 Python 3

支持