利用php 计算两点地理经纬坐标之间的距离
2017-10-09 11:29
573 查看
功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。
获取两点坐标距离:
<?php
/**
*
计算两点地理坐标之间的距离
*
@param Decimal $longitude1 起点经度
*
@param Decimal $latitude1 起点纬度
*
@param Decimal $longitude2 终点经度
*
@param Decimal $latitude2 终点纬度
*
@param Int $unit 单位 1:米 2:公里
*
@param Int $decimal 精度 保留小数位数
*
@return Decimal
*/
function
getDistance($longitude1,
$latitude1,
$longitude2, $latitude2,
$unit=2,
$decimal=2){
$EARTH_RADIUS
= 6370.996;
// 地球半径系数
$PI
= 3.1415926;
$radLat1
= $latitude1
* $PI
/ 180.0;
$radLat2
= $latitude2
* $PI
/ 180.0;
$radLng1
= $longitude1
* $PI
/ 180.0;
$radLng2
= $longitude2
* $PI
/180.0;
$a
= $radLat1
- $radLat2;
$b
= $radLng1
- $radLng2;
$distance
= 2
* asin(sqrt(pow(sin($a/2),2)
+ cos($radLat1)
* cos($radLat2)
* pow(sin($b/2),2)));
$distance
= $distance
* $EARTH_RADIUS
* 1000;
if($unit==2){
$distance
= $distance
/ 1000;
}
return
round($distance,
$decimal);
}
//
起点坐标
$longitude1
= 113.330405;
$latitude1
= 23.147255;
//
终点坐标
$longitude2
= 113.314271;
$latitude2
= 23.1323;
$distance
= getDistance($longitude1,
$latitude1,
$longitude2,
$latitude2,
1);
echo
$distance.'m';
// 2342.38m
$distance
= getDistance($longitude1,
$latitude1,
$longitude2,
$latitude2,
2);
echo
$distance.'km';
// 2.34km
?>
获取两点坐标距离:
<?php
/**
*
计算两点地理坐标之间的距离
*
@param Decimal $longitude1 起点经度
*
@param Decimal $latitude1 起点纬度
*
@param Decimal $longitude2 终点经度
*
@param Decimal $latitude2 终点纬度
*
@param Int $unit 单位 1:米 2:公里
*
@param Int $decimal 精度 保留小数位数
*
@return Decimal
*/
function
getDistance($longitude1,
$latitude1,
$longitude2, $latitude2,
$unit=2,
$decimal=2){
$EARTH_RADIUS
= 6370.996;
// 地球半径系数
$PI
= 3.1415926;
$radLat1
= $latitude1
* $PI
/ 180.0;
$radLat2
= $latitude2
* $PI
/ 180.0;
$radLng1
= $longitude1
* $PI
/ 180.0;
$radLng2
= $longitude2
* $PI
/180.0;
$a
= $radLat1
- $radLat2;
$b
= $radLng1
- $radLng2;
$distance
= 2
* asin(sqrt(pow(sin($a/2),2)
+ cos($radLat1)
* cos($radLat2)
* pow(sin($b/2),2)));
$distance
= $distance
* $EARTH_RADIUS
* 1000;
if($unit==2){
$distance
= $distance
/ 1000;
}
return
round($distance,
$decimal);
}
//
起点坐标
$longitude1
= 113.330405;
$latitude1
= 23.147255;
//
终点坐标
$longitude2
= 113.314271;
$latitude2
= 23.1323;
$distance
= getDistance($longitude1,
$latitude1,
$longitude2,
$latitude2,
1);
echo
$distance.'m';
// 2342.38m
$distance
= getDistance($longitude1,
$latitude1,
$longitude2,
$latitude2,
2);
echo
$distance.'km';
// 2.34km
?>
相关文章推荐
- php 计算两点地理坐标的距离
- PHP利用经纬度计算两点之间的距离(两种方法)
- PHP计算两组经纬度坐标之间的距离
- php 计算两点地理坐标的距离
- PHP 根据两点的坐标计算之间的距离
- php 计算两点地理坐标的距离
- 计算两个地理坐标之间的距离
- 根据两点经纬坐标计算两点间的距离[JAVA]
- PHP根据经纬度计算两点之间距离
- 第六周任务三设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
- PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
- 利用两点的经纬度来计算这两点之间的距离
- 计算两个地理坐标之间的距离
- 通过gps给定的两个经纬度坐标,计算两点之间的距离
- PHP实现搜索地理位置及计算两点地理位置间距离的实例
- PHP根据两点间的坐标计算距离
- PHP计算两坐标之间的距离
- php-根据两点的经纬度计算两点之间的距离
- 利用JavaScript实现的根据经纬度计算地球上两点之间的距离
- 利用JS实现的根据经纬度计算地球上两点之间的距离