包括地心地固坐标系(ECEF)和大地坐标系(BLH)和站心坐标系(ENU)的坐标转换过程和相关网址。
1.打开命令行或终端:
(1) 在Windows上,你可以按 Win + R
,然后输入 cmd
并按回车。
(2) 在macOS或Linux上,你可以打开终端应用程序。
2.使用pip安装pyproj:
(1) 在命令行或终端中输入以下命令并按回车:
pip install pyproj
3.运行程序:
import pyproj
# ECEF坐标
x, y, z = 是参考点的ECEF坐标
# 定义ECEF和大地坐标系的转换器
ecef = pyproj.Proj(proj='geocent', ellps='WGS84', datum='WGS84')
lla = pyproj.Proj(proj='latlong', ellps='WGS84', datum='WGS84')
# 转换到大地坐标系
lon, lat, alt = pyproj.transform(ecef, lla, x, y, z, radians=False)
print(f"大地坐标系:经度 {lon}, 纬度 {lat}, 高程 {alt}")
# 参考点的大地坐标(假设参考点为计算得到的经纬度高程)
ref_lon, ref_lat, ref_alt = lon, lat, alt
# 转换到站心坐标系
transformer = pyproj.Transformer.from_crs(
{"proj": 'geocent', "ellps": 'WGS84', "datum": 'WGS84'},
{"proj": 'latlong', "ellps": 'WGS84', "datum": 'WGS84'},
always_xy=True)
# 假设你要转换的其他ECEF坐标为 (x2, y2, z2)
x2, y2, z2 = 是目标点的ECEF坐标
# 计算站心坐标系下的坐标
enu = transformer.transform(x2 - x, y2 - y, z2 - z, radians=False)
print(f"站心坐标系:东向 {enu[0]}, 北向 {enu[1]}, 天向 {enu[2]}")