首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点EPSG 4326 (WSG 84)到(EPSG 28992)的PROJ pyproj变换

点EPSG 4326 (WSG 84)到(EPSG 28992)的PROJ pyproj变换
EN

Stack Overflow用户
提问于 2019-06-10 14:42:01
回答 1查看 1.3K关注 0票数 5

给定一个(lon,lat)点(5.068913,52.067567),我想使用pyproj从EPSG 4326转换为EPSG 28992。

Projpyproj中的transform函数似乎都适合这样的任务:

当我使用Proj函数时,我得到了与使用transform不同的结果,为什么?

例如

代码语言:javascript
复制
from shapely.geometry import Point
from pyproj import Proj, transform

from matplotlib import pyplot as plt

x1, y1 = 5.068913, 52.067567

in_proj = Proj(init='epsg:4326') 
out_proj = Proj(init='epsg:28992')

point1 = Point(out_proj(x1, y1))
point2 = Point(transform(in_proj, out_proj, x1 ,y1))

print(point1 == point2)

fig, ax = plt.subplots()
x, y = point1.xy
ax.plot(x, y, 'ro')
x, y = point2.xy
ax.plot(x, y, 'ro')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-11 04:25:56

之间的转换

EPSG:4326

EPSG:28992

在这种情况下,不仅需要使用Oblique_Stereographic投影投影输入坐标。这可以用Proj函数来实现.

...but还执行数据转换,WGS84到Amersfoort数据。这只能用transform函数来完成。请注意,transform完成了Proj所做的所有事情,加上数据转换。没有必要进行两步转换。

为了说明已经说过的话,我们为EPSG:28992提供了下面的WKT

代码语言:javascript
复制
PROJCS["Amersfoort / RD New",
    GEOGCS["Amersfoort",
        DATUM["Amersfoort",
            SPHEROID["Bessel 1841",6377397.155,299.1528128,
                AUTHORITY["EPSG","7004"]],
            TOWGS84[565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],
            AUTHORITY["EPSG","6289"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4289"]],
    PROJECTION["Oblique_Stereographic"],
    PARAMETER["latitude_of_origin",52.15616055555555],
    PARAMETER["central_meridian",5.38763888888889],
    PARAMETER["scale_factor",0.9999079],
    PARAMETER["false_easting",155000],
    PARAMETER["false_northing",463000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AXIS["X",EAST],
    AXIS["Y",NORTH],
    AUTHORITY["EPSG","28992"]]

TOWGS84565.417,50.3319,465.552 84565.417 50.3319 465.552-0.398957 0.343988-1.8774 4.0725

...implies需要执行数据转换.这不能与Proj函数联系在一起,而只能与transform一起使用。

结论:

假设您使用的pyproj安装配置了正确的TOWGS84字符串(并不总是这样),那么transform结果应该被认为是正确的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56528564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档