python投影转换 —–EPSG:4326转EPSG:4979(地理坐标系统WGS84转地心坐标系ECEF)

  • Post author:
  • Post category:python




坐标系介绍



地理坐标系EPSG:4326

地理坐标系统(Geographic Coordinate System,GCS),坐标系是地心坐标系,用经纬度表示球面上的点

在这里插入图片描述

链接:

图片来源



地心坐标系EPSG:4979

地心地固直角坐标系。其原点为地球的质心,x轴延伸通过本初子午线(0度经度)和赤道(0deglatitude)的交点。 z轴延伸通过的北极(即,与地球旋转轴重合)。 y轴完成右手坐标系,穿过赤道和90度经度。

在这里插入图片描述

链接:

图片来源

总结:上述两种坐标系的基准实际上是一样的,只是在表示点的单位不一样,地理坐标系以经纬度和高程(绝对高程,相对于大地水准原点)来表示,而地心坐标系则以据地心的距离x,y,z来表示。



转换代码


from pyproj import Proj, transform,Transformer
 # 方式一
 ecef = pyproj.Proj(proj='geocent', ellps='WGS84', datum='WGS84')
 lla = pyproj.Proj(proj='latlong', ellps='WGS84', datum='WGS84')
 x, y, z = pyproj.transform(lla, ecef, lon, lat, height, radians=False)  # radians否用弧度返回值
 # 方式一随着proj版本的升级,可能会被弃用,推荐方式二
 # 方式二
 transprojr = Transformer.from_crs(
        "EPSG:4326",
        {"proj":'geocent', "ellps":'WGS84', "datum":'WGS84'},
        always_xy=True,
    )
 xpjr, ypjr, zpjr = transprojr.transform(lon,lat,height, radians=False)



版权声明:本文为smilelulinlin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。