精华内容
下载资源
问答
  • 经纬度计算距离经纬度计算距离工具, 挺不错的。经纬度计算距离经纬度计算距离工具, 挺不错的。
  • 经纬度计算距离

    2014-02-28 23:52:43
    经纬度计算距离
  • 根据经纬度计算地球上任意两点间的距离,精度高,GUI界面操作简单,小白可直接使用。
  • 经纬度计算距离
  • 已知经纬度计算距离的代码
  • python 经纬度计算距离

    2018-07-15 16:52:04
    python 经纬度计算距离,输入经纬度即可计算亮点距离,导入即可调用。
  • 根据经纬度计算距离 /** * 根据两点间经纬度坐标,计算两点间距离,单位:千米 * @param lng1 * @param lat1 * @param lng2 * @param lat2 */ function getdistance($lng1,$lat1,$lng2,$lat2){ //...

    根据经纬度计算距离

    1.   
    2.     /** 
    3.      * 根据两点间经纬度坐标,计算两点间距离,单位:千米 

    4.      * @param lng1 
    5.      * @param lat1 
    6.      * @param lng2
    7.    * @param lat2
    8.      */  
    9. function getdistance($lng1,$lat1,$lng2,$lat2){  
          //将角度转为狐度  
          $radLat1=deg2rad($lat1);//deg2rad()函数将角度转换为弧度  
          $radLat2=deg2rad($lat2);  
          $radLng1=deg2rad($lng1);  
          $radLng2=deg2rad($lng2);  
          $a=$radLat1-$radLat2;  
          $b=$radLng1-$radLng2;  
          $s=2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6378.137*1000;  
          return $s;  

     

    sql   查询

     

    1. SELECT  
    2.     es_name,  
    3.     es_lon,  
    4.     es_lat,  
    5.     ROUND(  
    6.         6378.138 * 2 * ASIN(  
    7.             SQRT(  
    8.                 POW(  
    9.                     SIN(  
    10.                         (  
    11.                             30.611842 * PI() / 180 - es_lat * PI() / 180  
    12.                         ) / 2  
    13.                     ),  
    14.                     2  
    15.                 ) + COS(30.611842 * PI() / 180) * COS(es_lat * PI() / 180) * POW(  
    16.                     SIN(  
    17.                         (  
    18.                             104.074666 * PI() / 180 - es_lon * PI() / 180  
    19.                         ) / 2  
    20.                     ),  
    21.                     2  
    22.                 )  
    23.             )  
    24.         ) * 1000  
    25.     ) AS distance_um  
    26. FROM  
    27.     c_ershuai  
    28. ORDER BY  
    29.     distance_um ASC  

     

    展开全文
  • 经纬度计算距离工具

    2012-05-07 14:19:36
    经纬度计算距离工具可以快速的计算两点这间的距离
  • SQL SERVER 根据地图经纬度计算距离及其公式如下,需要的朋友可以参考下
  • 根据经纬度计算距离 程序

    热门讨论 2011-07-08 08:53:53
    根据经纬度计算距离,根据两点的经纬度计算两点的的距离,单位为(米)。
  • java工具类(六)根据经纬度计算距离

    万次阅读 2015-08-14 10:21:42
    Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double lat1, double lat2, double lon1, double lon2) { ...

    Java实现根据经纬度计算距离

    在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下:

    Demo1:

     

    public static double getDistatce(double lat1, double lat2, double lon1, double lon2) { 
            double R = 6371; 
            double distance = 0.0; 
            double dLat = (lat2 - lat1) * Math.PI / 180; 
            double dLon = (lon2 - lon1) * Math.PI / 180; 
            double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) 
                    + Math.cos(lat1 * Math.PI / 180) 
                    * Math.cos(lat2 * Math.PI / 180) * Math.sin(dLon / 2) 
                    * Math.sin(dLon / 2); 
            distance = (2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))) * R; 
            return distance; 
        }

     

    Demo2:

     

    private static final double EARTH_RADIUS = 6378.137 * 1000; 
        private static double rad(double d) 
        { 
           return d * Math.PI / 180.0; 
        } 
        public static double GetDistance(double lat1, double lng1, double lat2, double lng2) 
        { 
           double radLat1 = rad(lat1); 
           double radLat2 = rad(lat2); 
           double a = radLat1 - radLat2; 
           double b = rad(lng1) - rad(lng2); 
           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 * EARTH_RADIUS ; 
           s = Math.round(s * 10000) / 10000; 
           return s; 
        } 

     

    Demo3:

     

    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 第二点的纬度 
         * @return 返回的距离,单位km 
         * */  
        public static double LantitudeLongitudeDist(double lon1, double lat1,double lon2, double lat2) {  
            double radLat1 = rad(lat1);  
            double radLat2 = rad(lat2);  
      
            double radLon1 = rad(lon1);  
            double radLon2 = rad(lon2);  
      
            if (radLat1 < 0)  
                radLat1 = Math.PI / 2 + Math.abs(radLat1);// south  
            if (radLat1 > 0)  
                radLat1 = Math.PI / 2 - Math.abs(radLat1);// north  
            if (radLon1 < 0)  
                radLon1 = Math.PI * 2 - Math.abs(radLon1);// west  
            if (radLat2 < 0)  
                radLat2 = Math.PI / 2 + Math.abs(radLat2);// south  
            if (radLat2 > 0)  
                radLat2 = Math.PI / 2 - Math.abs(radLat2);// north  
            if (radLon2 < 0)  
                radLon2 = Math.PI * 2 - Math.abs(radLon2);// west  
            double x1 = EARTH_RADIUS * Math.cos(radLon1) * Math.sin(radLat1);  
            double y1 = EARTH_RADIUS * Math.sin(radLon1) * Math.sin(radLat1);  
            double z1 = EARTH_RADIUS * Math.cos(radLat1);  
      
            double x2 = EARTH_RADIUS * Math.cos(radLon2) * Math.sin(radLat2);  
            double y2 = EARTH_RADIUS * Math.sin(radLon2) * Math.sin(radLat2);  
            double z2 = EARTH_RADIUS * Math.cos(radLat2);  
      
            double d = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)+ (z1 - z2) * (z1 - z2));  
            //余弦定理求夹角  
            double theta = Math.acos((EARTH_RADIUS * EARTH_RADIUS + EARTH_RADIUS * EARTH_RADIUS - d * d) / (2 * EARTH_RADIUS * EARTH_RADIUS));  
            double dist = theta * EARTH_RADIUS;  
            return dist;  
        }

     

    Demo4:

     

    //google map
    private static final  double EARTH_RADIUS = 6378137;//赤道半径(单位m)  
          
        /** 
         * 转化为弧度(rad) 
         * */  
        private static double rad(double d)  
        {  
           return d * Math.PI / 180.0;  
        }  
        /** 
         * 基于googleMap中的算法得到两经纬度之间的距离,计算精度与谷歌地图的距离精度差不多,相差范围在0.2米以下 
         * @param lon1 第一点的精度 
         * @param lat1 第一点的纬度 
         * @param lon2 第二点的精度 
         * @param lat3 第二点的纬度 
         * @return 返回的距离,单位km 
         * */  
        public static double GetDistance(double lon1,double lat1,double lon2, double lat2)  
        {  
           double radLat1 = rad(lat1);  
           double radLat2 = rad(lat2);  
           double a = radLat1 - radLat2;  
           double b = rad(lon1) - rad(lon2);  
           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 * EARTH_RADIUS;  
           s = Math.round(s * 10000) / 10000;  
           return s;  
        }

     

     

     

     

     

    展开全文
  • 主要介绍了PHP如何根据两点间的经纬度计算距离,代码很简单,但很实用,需要的朋友可以参考下
  • 这篇文章主要为大家详细介绍了PHP 根据经纬度计算距离的简单示例,具有一定的参考价值,可以用来参考一下。这是一个非常有用的距离计算函数,利用纬度和经度计算从 A 地点到 B 地点的距离。该函数可以返回英里,公里...

    这篇文章主要为大家详细介绍了PHP 根据经纬度计算距离的简单示例,具有一定的参考价值,可以用来参考一下。

    这是一个非常有用的距离计算函数,利用纬度和经度计算从 A 地点到 B 地点的距离。该函数可以返回英里,公里,海里三种单位类型的距离。PHP根据经度、纬度计算距离,感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。

    经测试代码如下:

    /**

    * 距离计算函数

    *

    * @param

    * @author 512笔记 www.512pic.com

    **/

    function distance($lat1, $lon1, $lat2, $lon2, $unit) {

    $theta = $lon1 - $lon2;

    $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));

    $dist = acos($dist);

    $dist = rad2deg($dist);

    $miles = $dist * 60 * 1.1515;

    $unit = strtoupper($unit);

    if ($unit == "K") {

    return ($miles * 1.609344);

    } else if ($unit == "N") {

    return ($miles * 0.8684);

    } else {

    return $miles;

    }

    }

    //用法:

    echo distance(32.9697, -96.80322, 29.46786, -98.53506, "k")." kilometers";

    /*** 来自512笔记(www.512pic.com) ***/

    注:关于PHP 根据经纬度计算距离的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

    关键词:经纬度,计算距离

    您可能感兴趣的文章

    展开全文
  • 经纬度计算距离角度

    2021-07-28 10:52:17
    经纬度与距离的换算关系_taowang-007的...C++ —— 两经纬度计算距离、方位角_automoblie0的博客-CSDN博客 #include <iostream> // PI #define M_PI 3.14159265358979323846 // 地球半径 const do

    [转载]根据两点的经纬度求方位角和距离,等_兔朵朵_新浪博客 (sina.com.cn)

    经纬度与距离的换算关系_taowang-007的博客-CSDN博客_经纬度距离

    方位角,距离,海拔在线计算器 (ab126.com)

    C++ —— 两经纬度计算距离、方位角_automoblie0的博客-CSDN博客

    #include <iostream>
    
    // PI
    #define M_PI		3.14159265358979323846
    
    // 地球半径
    const double EARTH_RADIUS = 6371000;
    
    // 角度转弧度
    double A2R(double d)
    {
        return d * M_PI / 180.0;
    }
    
    // 弧度转角度
    double R2A(double d)
    {
        return d / M_PI * 180.0;
    }
    
    // 获取两经纬度之间的距离(m)
    double GetDistanceCpp(double lat1, double lng1, double lat2, double lng2)
    {
        double radLat1 = A2R(lat1);
        double radLat2 = A2R(lat2);
        double a = radLat1 - radLat2;
        double b = A2R(lng1) - A2R(lng2);
        double s = 2 * asin(sqrt(pow(sin(a/2),2) +cos(radLat1)*cos(radLat2)*pow(sin(b/2),2)));
        s = s * EARTH_RADIUS;
        return s;
    }
    
    // 获取两经纬度之间的方位角(°) 纬度 精度 纬度 经度
    double GetYaw(double lat1, double lon1, double lat2, double lon2)
    {
        double result = 0.0;
    
        int ilat1 = (int) (0.50 + lat1 * 360000.0);
        int ilat2 = (int) (0.50 + lat2 * 360000.0);
        int ilon1 = (int) (0.50 + lon1 * 360000.0);
        int ilon2 = (int) (0.50 + lon2 * 360000.0);
    
        lat1 = A2R(lat1);
        lon1 = A2R(lon1);
        lat2 = A2R(lat2);
        lon2 = A2R(lon2);
    
        if ((ilat1 == ilat2) && (ilon1 == ilon2)){return result;}
        else if (ilon1 == ilon2){if (ilat1 > ilat2){result = 180.0;}}
        else
        {
            double c = acos(sin(lat2) * sin(lat1) + cos(lat2)* cos(lat1) * cos((lon2 - lon1)));
            double A = asin(cos(lat2) * sin((lon2 - lon1)) / sin(c));
    
            result = R2A(A);
    
            if ((ilat2 > ilat1) && (ilon2 > ilon1)){}
            else if ((ilat2 < ilat1) && (ilon2 < ilon1)){result = 180.0 - result;}
            else if ((ilat2 < ilat1) && (ilon2 > ilon1)){result = 180.0 - result;}
            else if ((ilat2 > ilat1) && (ilon2 < ilon1)){result += 360.0;}
        }
    
        if(result<0){result +=360.0;}
        if(result>360){result -=360.0;}
    
        return result;
    }
    
    int main(int argc, char *argv[])
    {
        //double ln_1 = 119.2928,la_1 = 26.07907;
        //double ln_2 = 114.0538,la_2 = 22.54151;
    
        //double ln_1 = 123.449,la_1 = 41.72306;
        //double ln_2 = 123.4494,la_2 = 41.72217;
        double delta1=0.00001,delta2=0.0001; //偏差
    
        double ln_1 = 118.4723,la_1 = 32.65736;
        double ln_2 = 118.4715,la_2 = 32.65258;
        double height=150;
    
        // 计算距离
        double dis  =GetDistanceCpp(la_1,ln_1,la_2,ln_2);
        double dis1  =GetDistanceCpp(la_1+delta1,ln_1,la_2,ln_2);
        std::cout << dis << "m\n";
        double hudu=atan2(height,dis);
        double jiaodu=R2A(hudu);
        double hudu1=atan2(height,dis1);
        double jiaodu1=R2A(hudu1);
        std::cout << "俯仰角"<<jiaodu << "°\n";
        std::cout << "俯仰角偏差"<<jiaodu1- jiaodu<< "°\n";
    
    
        // 计算方位角
        std::cout << GetYaw(la_1,ln_1,la_2,ln_2);
    
        return 0;
    }
    
    

    展开全文
  • 根据经纬度计算距离

    2017-01-11 09:39:53
    app嵌入百度地图或者高德地图时经常会用到根据经纬度计算距离的方法:/** * 根据经纬度计算距离的工具类 * Created by leven on 2016/10/8. */public class Distance { private static final double EARTH_...
  • Java根据位置获取经纬度计算距离1. 业务概述2. 原理分析3. 实现验证3.1 高德地理位置信息 GeoLocation3.2 通过经纬度计算距DistanceUtils3.3 根据位置计算距离GeoDistance 1. 业务概述 平时我们在使用美团,饿了么,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,502
精华内容 5,800
关键字:

经纬度计算距离