Class Coordinate

java.lang.Object
org.miaixz.bus.core.data.Coordinate

public class Coordinate extends Object
坐标系转换相关工具类,主流坐标系包括:
  • WGS84坐标系:即地球坐标系,中国外谷歌地图
  • GCJ02坐标系:即火星坐标系,高德、腾讯、阿里等使用
  • BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系。百度、搜狗等使用

坐标转换相关参考: https://tool.lu/coordinate/ 参考:https://github.com/JourWon/coordinate-transform

Since:
Java 17+
Author:
Kimi Liu
  • Field Details

    • X_PI

      public static final double X_PI
      坐标转换参数:(火星坐标系与百度坐标系转换的中间量)
      See Also:
    • PI

      public static final double PI
      坐标转换参数:π
      See Also:
    • RADIUS

      public static final double RADIUS
      地球半径(Krasovsky 1940)
      See Also:
    • CORRECTION_PARAM

      public static final double CORRECTION_PARAM
      修正参数(偏率ee)
      See Also:
  • Constructor Details

    • Coordinate

      public Coordinate()
  • Method Details

    • outOfChina

      public static boolean outOfChina(double lng, double lat)
      判断坐标是否在国外 火星坐标系 (GCJ-02)只对国内有效,国外无需转换
      Parameters:
      lng - 经度
      lat - 纬度
      Returns:
      坐标是否在国外
    • wgs84ToGcj02

      public static Coordinate.Point wgs84ToGcj02(double lng, double lat)
      WGS84 转换为 火星坐标系 (GCJ-02)
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      火星坐标 (GCJ-02)
    • wgs84ToBd09

      public static Coordinate.Point wgs84ToBd09(double lng, double lat)
      WGS84 坐标转为 百度坐标系 (BD-09) 坐标
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      bd09 坐标
    • gcj02ToWgs84

      public static Coordinate.Point gcj02ToWgs84(double lng, double lat)
      火星坐标系 (GCJ-02) 转换为 WGS84
      Parameters:
      lng - 经度坐标
      lat - 维度坐标
      Returns:
      WGS84 坐标
    • gcj02ToBd09

      public static Coordinate.Point gcj02ToBd09(double lng, double lat)
      火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      BD-09 坐标
    • bd09ToGcj02

      public static Coordinate.Point bd09ToGcj02(double lng, double lat)
      百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换 即 百度 转 谷歌、高德
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      GCJ-02 坐标
    • bd09toWgs84

      public static Coordinate.Point bd09toWgs84(double lng, double lat)
      百度坐标系 (BD-09) 与 WGS84 的转换
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      WGS84坐标
    • wgs84ToMercator

      public static Coordinate.Point wgs84ToMercator(double lng, double lat)
      WGS84 坐标转为 墨卡托投影
      Parameters:
      lng - 经度值
      lat - 纬度值
      Returns:
      墨卡托投影
    • mercatorToWgs84

      public static Coordinate.Point mercatorToWgs84(double mercatorX, double mercatorY)
      墨卡托投影 转为 WGS84 坐标
      Parameters:
      mercatorX - 墨卡托X坐标
      mercatorY - 墨卡托Y坐标
      Returns:
      WGS84 坐标