PHP根据两个经纬度坐标计算距离

function radian($d) {
            $d * 3.1415926535898 / 180.0;  
}

function distance_calculate($longitude1, $latitude1, $longitude2, $latitude2) {
            $radLat1 = adian ( $latitude1 );
            $radLat2 = radian ( $latitude2 );
            $a = radian ( $latitude1 ) - radian ( $latitude2 );
            $b = radian ( $longitude1 ) - radian ( $longitude2 );

           
 $s = 2 * asin ( sqrt ( pow ( sin ( $a / 2 ), 2 ) + cos ( $radLat1 ) * 
cos ( $radLat2 ) * pow ( sin ( $b / 2 ), 2 ) ) );
            $s = $s * 6378.137; //乘上地球半径,单位为公里
            $s = round ( $s * 10000 ) / 10000; //单位为公里(km)
            return $s; //单位为km
    }
时间: 2024-10-13 12:40:31

PHP根据两个经纬度坐标计算距离的相关文章

Java 根据两个经纬度坐标计算距离

public class Distance{    private static final double EARTH_RADIUS = 6378137;    private static double rad(double d)    {       return d * Math.PI / 180.0;    }        /**     * 根据两点间经纬度坐标(double值),计算两点间距离,单位为米     * @param lng1     * @param lat1    

【转】通过经纬度坐标计算距离的方法(经纬度距离计算)

最近在网上搜索“通过经纬度坐标计算距离的方法”,发现网上大部分都是如下的代码: #define PI 3.14159265 static double Rc = 6378137;  // 赤道半径 static double Rj = 6356725;  // 极半径 class JWD { public: double m_Longitude, m_Latitude; double m_RadLo, m_RadLa; double Ec; double Ed; public: JWD(doub

通过经纬度坐标计算距离的方法(经纬度距离计算)

http://home.juedui100.com/user/23468184.htmlhttp://home.juedui100.com/user/23771088.htmlhttp://home.juedui100.com/user/24018651.htmlhttp://home.juedui100.com/user/23875372.htmlhttp://home.juedui100.com/user/23874288.htmlhttp://home.juedui100.com/user

用墨卡托和GPS坐标计算距离时误差测试

iOS墨卡托和GPS坐标计算距离时误差测试,测试结果: 墨卡托和gps坐标来回转换没有误差. 墨卡托坐标计算出的距离比gps坐标计算出的距离大,100/92*100 = 108米,每100米多算出8米. 故随着导航距离缩短,误差会逐渐变小. log 25.780135+0800 gps_mktDistanceTest[91276:1928266] mkt dis = 10.00 25.781216+0800 gps_mktDistanceTest[91276:1928266] gps dis =

根据两点的经纬度坐标计算两个坐标点之间的直线距离

贴代码如下: package com.qcsd.xulin.util; import java.awt.*; /** * @author xulin * @date create in 9:06 2018/11/1 * Description 根据提供的两个国标经纬度,计算两个点之间的距离 */ public class DistanceConsider { // 地球半径 private static double EARTH_RADIUS = 6378.137; private static

Android给定坐标计算距离

给定两点的经纬度.计算两点之间的距离.这里要注意经纬度一定要依照顺序填写 1. 利用android中的工具获得,单位是米 float[] results=new float[1]; Location.distanceBetween(latitude,longitude,Double.parseDouble(lat), Double.parseDouble(lng),results); Log.i("距离", results[0]+""); 2. 通过计算的方式获得,

根据经纬度,计算距离

private static final double EARTH_RADIUS = 6378137;//赤道半径(单位m) /** * 转化为弧度(rad) * */ private static double rad(double d) { return d * Math.PI / 180.0; } /** * 基于余弦定理求两经纬度距离 * @param lon1 第一点的精度 * @param lat1 第一点的纬度 * @param lon2 第二点的精度 * @param lat3

地理空间距离计算及优化(根据两个点经纬度计算距离)

1.地理空间距离计算面临的挑战 打开美团app,不管是筛选团购还是筛选商家,默认的排序项都是"离我最近"或者"智能排序"(如下图所示). 不管是"离我最近"还是"智能排序",都涉及到计算用户位置与各个团购单子或者商家的距离(注:在智能排序中距离作为一个重要的参数参与排序打分).以筛选商家为例,北京地区有5~6w个POI(本文将商家称之为POI),当用户进入商家页,请求北京全城+所有品类+离我最近/智能排序时,我们筛选服务需要计

地理空间距离计算及优化(依据两个点经纬度计算距离)

1.地理空间距离计算面临的挑战 打开美团app.无论是筛选团购还是筛选商家,默认的排序项都是"离我近期"或者"智能排序"(例如以下图所看到的). 无论是"离我近期"还是"智能排序".都涉及到计算用户位置与各个团购单子或者商家的距离(注:在智能排序中距离作为一个重要的參数參与排序打分).以筛选商家为例.北京地区有5~6w个POI(本文将商家称之为POI),当用户进入商家页,请求北京全城+全部品类+离我近期/智能排序时.我们筛选服