Java、MySql计算两坐标点的距离
2016-12-28 09:39
405 查看
Java计算两坐标点的距离:
/*** 计算两经纬度点之间的距离(单位:米)
*
* @param longitude1
* 坐标1经度
* @param latitude1
* 坐标1纬度
* @param longitude2
* 坐标2经度
* @param latitude2
* 坐标1纬度
* @return
*/
private static double countDistance(double longitude1, double latitude1, double longitude2, double latitude2) {
double radLat1 = Math.toRadians(latitude1);
double radLat2 = Math.toRadians(latitude2);
double a = radLat1 - radLat2;
double b = Math.toRadians(longitude1) - Math.toRadians(longitude2);
double s = 2 * Math.asin(Math.sqrt(
Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * 6378137.0;
s = Math.round(s * 10000) / 10000;
return s;
}
MySql计算两坐标点距离(单位:米):
SELECT (2 * ATAN2(SQRT(SIN(( a.latitude - #{latitude}) * PI() / 180 / 2) * SIN((a.latitude - #{latitude}) * PI() / 180 / 2) + COS(#{latitude} * PI() / 180) * COS(a.latitude * PI() / 180) * SIN((a.longitude - #{longitude}) * PI() / 180 / 2) * SIN((a.longitude - #{longitude}) * PI() / 180 / 2) ), SQRT( 1- SIN( ( a.latitude - #{latitude}) * PI() / 180 / 2) * SIN((a.latitude - #{latitude}) * PI() / 180 / 2) + COS(#{latitude} * PI() / 180) * COS(a.latitude * PI() / 180) * SIN((a.longitude - #{longitude}) * PI() / 180 / 2) * SIN((a.longitude - #{longitude}) * PI() / 180 / 2) ) ) ) * 6378100 AS distance FROM 表 a
相关文章推荐
- 利用java、js或mysql计算高德地图中两坐标之间的距离
- PHP / mysql 根据两个经纬度坐标计算距离
- PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
- mysql实现经纬度计算两个坐标之间的距离sql语句
- java 根据经纬度 坐标 计算两点之间的距离
- java实现计算地理坐标之间的距离
- java根据经纬度坐标计算两点的距离算法,与百度地图测距工具相符
- java 空间四点定位,可跟据已知的四点坐标(x,y,z)及距离计算所在位置坐标
- java/android 根据经纬度坐标计算两点的距离 (米/千米)
- java和mysql中计算两个经纬度距离的方法
- 根据两点经纬坐标计算两点间的距离[JAVA]
- 根据两点经纬坐标计算两点间的距离[JAVA]
- java版谷歌地图计算两经纬度坐标点的距离
- java根据经纬度坐标计算两点的距离算法
- java通过经纬度计算两坐标点之间的距离
- mysql实现经纬度计算两个坐标之间的距离
- 通过两个位置的经纬度坐标计算距离(Java版本)
- java根据经纬度坐标计算两点的距离算法
- 根据两点经纬度计算距离-mysql方式和java方式
- java根据GPS经纬度坐标计算两点的距离算法