php 计算两点地理坐标的距离
2017-12-07 09:41
288 查看
功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。
获取两点坐标距离:
获取两点坐标距离:
<?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 根据两点的坐标计算之间的距离
- PHP实现搜索地理位置及计算两点地理位置间距离的实例
- PHP计算两坐标之间的距离
- PHP MYSQL 搜索周边坐标,并计算两个点之间的距离
- java根据GPS经纬度坐标计算两点的距离算法
- [html] PHP使用Google map web services来计算两点间的距离 -- Compute the distance between two place via Google map services in PHP
- php 根据经纬度计算两点之间距离
- 已知两点的经度和纬度,计算两点间的距离(php,javascript)
- 百度地图API计算坐标两点之间距离与业务实现排序
- 设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等
- 根据经纬度坐标计算两点间几何距离 - 椰子树下 - CSDN博客
- 通过gps给定的两个经纬度坐标,计算两点之间的距离
- php实现 地理空间距离计算优化
- PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)
- PHP根据两个经纬度坐标计算距离