Python重投影器
项目描述
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_srs 和 to_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_srs 和 to_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
替换已弃用的转换方法 https://pyproj4.github.io/pyproj/stable/gotchas.html#upgrading-to-pyproj-2-from-pyproj-1
取消支持Pyhton 2.7、3.5、3.6和3.7
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 几何体进行转换
投影详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。