坐标转换工具 - CoordinateUtil

由来

中国地图存在多个坐标系(WGS84、GCJ02、BD09),它们之间需要相互转换。CoordinateUtil 提供了常用的坐标转换方法。

坐标系说明

坐标系

说明

使用场景

WGS84

GPS 全球定位系统坐标

国际标准、GPS 设备

GCJ02

国测局坐标(火星坐标)

高德地图、腾讯地图

BD09

百度坐标

百度地图

方法

from hutool import CoordinateUtil

# WGS84 <-> GCJ02(GPS <-> 火星坐标)
coord = CoordinateUtil.wgs84_to_gcj02(116.397128, 39.916527)
print(coord.longitude, coord.latitude)

coord = CoordinateUtil.gcj02_to_wgs84(116.407128, 39.926527)

# GCJ02 <-> BD09(火星坐标 <-> 百度坐标)
coord = CoordinateUtil.gcj02_to_bd09(116.407128, 39.926527)
coord = CoordinateUtil.bd09_to_gcj02(116.417128, 39.936527)

# WGS84 <-> BD09(一步到位)
coord = CoordinateUtil.wgs84_to_bd09(116.397128, 39.916527)
coord = CoordinateUtil.bd09_to_wgs84(116.417128, 39.936527)

Coordinate 对象

coord = CoordinateUtil.wgs84_to_gcj02(116.397128, 39.916527)
print(coord.longitude)  # 经度
print(coord.latitude)   # 纬度