程序包 dev.utils.common
类 CoordinateUtils
java.lang.Object
dev.utils.common.CoordinateUtils
detail: 坐标 ( GPS 纠偏 ) 相关工具类
- 作者:
- Ttt
地球坐标系 (WGS-84) 火星坐标系 (GCJ-02) 百度坐标系 (BD09) - 另请参阅:
-
- 根据两点经纬度计算距离
- 根据经纬度计算两点之间的距离的公式推导过程以及 google.maps 的测距函数
- 1. WGS84 坐标系: 即地球坐标系, 国际上通用的坐标系, 设备一般包含 GPS 芯片或者北斗芯片获取的经纬度为 WGS84 地理坐标系 谷歌地图采用的是 WGS84 地理坐标系 ( 中国范围除外 ) GPS 设备得到的经纬度就是在 WGS84 坐标系下的经纬度, 通常通过底层接口得到的定位信息都是 WGS84 坐标系 2. GCJ02 坐标系: 即火星坐标系, 是由中国国家测绘局制订的地理信息系统的坐标系统, 由 WGS84 坐标系经加密后的坐标系 国家规定, 中国大陆所有公开地理数据都需要至少用 GCJ-02 进行加密, 也就是说我们从国内公司的产品中得到的数据, 一定是经过了加密的 绝大部分国内互联网地图提供商都是使用 GCJ-02 坐标系, 包括高德地图, 谷歌地图中国区等 3. BD09 坐标系: 即百度坐标系, 其在 GCJ-02 上多增加了一次变换, 用来保护用户隐私, 从百度产品中得到的坐标都是 BD-09 坐标系
-
嵌套类概要
嵌套类 -
方法概要
修饰符和类型方法说明static double[]bd09ToGcj02(double lng, double lat) BD09 坐标转 GCJ02 坐标static double[]bd09ToWGS84(double lng, double lat) BD09 坐标转 WGS84 坐标static double[]gcj02ToBd09(double lng, double lat) GCJ02 坐标转 BD09 坐标static double[]gcj02ToWGS84(double lng, double lat) GCJ02 坐标转 WGS84 坐标static doublegetAngle(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标的方向角度static CoordinateUtils.DirectiongetDirection(double angle) 通过角度获取方向static CoordinateUtils.DirectiongetDirection(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标的方向static doublegetDistance(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标相距距离 ( 单位: 米 )static booleanoutOfChina(double lng, double lat) 判断是否中国境外static double[]wgs84ToBd09(double lng, double lat) WGS84 坐标转 BD09 坐标static double[]wgs84ToGcj02(double lng, double lat) WGS84 坐标转 GCJ02 坐标
-
方法详细资料
-
bd09ToGcj02
public static double[] bd09ToGcj02(double lng, double lat) BD09 坐标转 GCJ02 坐标- 参数:
lng- BD09 坐标纬度lat- BD09 坐标经度- 返回:
- GCJ02 坐标 [ 经度, 纬度 ]
-
gcj02ToBd09
public static double[] gcj02ToBd09(double lng, double lat) GCJ02 坐标转 BD09 坐标- 参数:
lng- GCJ02 坐标经度lat- GCJ02 坐标纬度- 返回:
- BD09 坐标 [ 经度, 纬度 ]
-
gcj02ToWGS84
public static double[] gcj02ToWGS84(double lng, double lat) GCJ02 坐标转 WGS84 坐标- 参数:
lng- GCJ02 坐标经度lat- GCJ02 坐标纬度- 返回:
- WGS84 坐标 [ 经度, 纬度 ]
-
wgs84ToGcj02
public static double[] wgs84ToGcj02(double lng, double lat) WGS84 坐标转 GCJ02 坐标- 参数:
lng- WGS84 坐标经度lat- WGS84 坐标纬度- 返回:
- GCJ02 坐标 [ 经度, 纬度 ]
-
bd09ToWGS84
public static double[] bd09ToWGS84(double lng, double lat) BD09 坐标转 WGS84 坐标- 参数:
lng- BD09 坐标经度lat- BD09 坐标纬度- 返回:
- WGS84 坐标 [ 经度, 纬度 ]
-
wgs84ToBd09
public static double[] wgs84ToBd09(double lng, double lat) WGS84 坐标转 BD09 坐标- 参数:
lng- WGS84 坐标经度lat- WGS84 坐标纬度- 返回:
- BD09 坐标 [ 经度, 纬度 ]
-
outOfChina
public static boolean outOfChina(double lng, double lat) 判断是否中国境外- 参数:
lng- 经度lat- 纬度- 返回:
trueyes,falseno
-
getDistance
public static double getDistance(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标相距距离 ( 单位: 米 )计算点与点直线间距离- 参数:
originLng- 起点经度originLat- 起点纬度targetLng- 目标经度targetLat- 目标纬度- 返回:
- 两个坐标相距距离 ( 单位: 米 )
-
getAngle
public static double getAngle(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标的方向角度以 origin 为参考点坐标, 获取目标坐标位于参考点坐标方向- 参数:
originLng- 起点经度originLat- 起点纬度targetLng- 目标经度targetLat- 目标纬度- 返回:
- 两个坐标的方向角度
-
getDirection
public static CoordinateUtils.Direction getDirection(double originLng, double originLat, double targetLng, double targetLat) 计算两个坐标的方向- 参数:
originLng- 起点经度originLat- 起点纬度targetLng- 目标经度targetLat- 目标纬度- 返回:
- 两个坐标的方向
-
getDirection
通过角度获取方向- 参数:
angle- 角度- 返回:
- 方向
-