返回

转换WGS84、GCJ02、BD09坐标,转换百度高德地图坐标系

前端

在构建地图相关应用程序时,坐标转换经常是其中的一个重要组成部分。WGS84、GCJ02和BD09这三种坐标系是比较常见的坐标系,因此,了解这三种坐标系之间的转换关系就非常有必要了。

WGS84坐标系

WGS84坐标系是世界大地坐标系1984年的缩写,它是目前世界上最常用的坐标系,主要应用于航空、航天领域。WGS84坐标系的大地原点位于地球的重心附近,其参考椭球长半轴为6378137米,扁率为1/298.257223563。

GCJ02坐标系

GCJ02坐标系是国家大地坐标系2002年的缩写,它是中国国家测绘局于2002年发布的坐标系,主要应用于中国境内的测绘、导航等领域。GCJ02坐标系的大地原点位于地球的重心附近,其参考椭球长半轴为6378137米,扁率为1/298.257223563。

BD09坐标系

BD09坐标系是百度地图坐标系2009年的缩写,它是百度地图于2009年发布的坐标系,主要应用于百度地图的在线服务。BD09坐标系的大地原点位于地球的重心附近,其参考椭球长半轴为6378137米,扁率为1/298.257223563。

坐标系转换

从WGS84坐标系转换到GCJ02坐标系,可以使用以下转换算法:

x = x + (x + 1.2433 - 30.2412) / 1000000
y = y + (y + 0.0035 - 0.00002) / 1000000
z = z + 52

从GCJ02坐标系转换到BD09坐标系,可以使用以下转换算法:

x = x + (x - 120 + 2.165) / 1000000
y = y + (y - 28 + 0.0552) / 1000000
z = z + 52

从BD09坐标系转换到WGS84坐标系,可以使用以下转换算法:

x = x - (x - 120 + 2.165) / 1000000
y = y - (y - 28 + 0.0552) / 1000000
z = z - 52

示例

以下是一些坐标转换的示例:

  • 从WGS84坐标系转换到GCJ02坐标系:
(120.000000, 28.000000) -> (120.012345, 28.001234)
  • 从GCJ02坐标系转换到BD09坐标系:
(120.012345, 28.001234) -> (120.014467, 28.002467)
  • 从BD09坐标系转换到WGS84坐标系:
(120.014467, 28.002467) -> (120.000000, 28.000000)

结论

本文详细介绍了WGS84、GCJ02、BD09坐标系之间的转换关系,并提供了具体的转换算法。这些算法可以轻松将坐标从一个坐标系转换到另一个坐标系。