精华内容
下载资源
问答
  • mysql计算经纬度
    2021-11-04 15:52:14

    latitude(LATITUDE) : 纬度

    longitude(LONGITUDE) : 经度

    
    ROUND( 
    	6378.138 * 2 * ASIN(
    		SQRT(
    			POW(SIN((#{query.latitude} * PI() / 180- LATITUDE * PI() / 180) / 2),2) +
    			COS(#{query.latitude} * PI() / 180) * COS(LATITUDE * PI() / 180) *
    			POW(SIN((#{query.longitude} * PI() / 180- LONGITUDE * PI() / 180) / 2),2)
    		)
    	) * 10000
    ) AS DIS

    更多相关内容
  • 计算百度经纬度的公式,已经写在Excel里面了,直接输入两个点的经纬度就可以自动计算出公司
  • 可以利用Excel计算两个经纬度点(wgs84椭球)之间的距离
  • Mysql 计算经纬度距离

    2022-01-20 10:49:07
    Mysql 函数 CREATE DEFINER=`root`@`localhost` FUNCTION ... 函数说明: 用于计算经纬度距离,单位为米 参数一:经纬度1 参数二:维度1 参数三:经纬度2 参数四:维度2 */ declare jl integer; SEL

    Mysql 函数

    CREATE DEFINER=`root`@`localhost` FUNCTION `juli`(lon1 VARCHAR(50),lat1 VARCHAR(50),lon2 VARCHAR(50),lat2 VARCHAR(50)) RETURNS int(11)
    BEGIN
    
    	/*
    		函数说明: 用于计算经纬度距离,单位为米
    		参数一:经纬度1
    		参数二:维度1
    		参数三:经纬度2
    		参数四:维度2
    		-- 考虑到业务逻辑可能会出现不传递经纬度参数,所以做了一个判断,如果 lon1 经度1 传递的是 0 那么直接返回0 ,
    		
    	*/
    	 declare jl integer;
    	IF lon1 = '0'
    	   THEN
    	 return 0;
       ELSE
    		SELECT
        ROUND(
            6378.138 * 2 * ASIN(
                SQRT(
                    POW(
                        SIN(
                            (
                                lat1 * PI() / 180 - lat2 * PI() / 180
                            ) / 2
                        ),
                        2
                    ) + COS(lat1 * PI() / 180) * COS(lat2 * PI() / 180) * POW(
                        SIN(
                            (
                               lon1 * PI() / 180 - lon2 * PI() / 180
                            ) / 2
                        ),
                        2
                    )
                )
            ) * 1000
        )  into jl;
       return jl;
    	 END if;
    END
    

    使用

    select juli(经度1,维度1, 经度2, 维度2);
    
    展开全文
  • 通过java实现两个经纬度的点之间的距离,获取外卖配送的距离,方便快捷有效,非常实用,代码简洁,不臃肿。
  • MySQL计算经纬度距离

    2021-03-25 21:34:33
    MySQL计算经纬度距离 现在开发计算距离自身所在地到目的地的距离算是一个比较常见的需求,基本上都是通过两地的经纬度查询直线距离,忘记之前自己有没有写过,反正印象都是通过一定的算法来获取的。 今天开发一个...

    MySQL计算经纬度距离

    现在开发计算距离自身所在地到目的地的距离算是一个比较常见的需求,基本上都是通过两地的经纬度查询直线距离,忘记之前自己有没有写过,反正印象都是通过一定的算法来获取的。

    今天开发一个需求,发现有用到这个东西,于是就打算搜索一下算法,然后在MySQL中写一个函数,方便自己以后或者他人多次调用,这样SQL也整洁很多。

    在处理的过程中,无意间发现MySQL 5.7版本自带有经纬度计算的函数,那还写个毛线,直接拿来用就行。不过嘛,现成的是有了,还是要做一下验证的。

    MYSQL经纬度函数

    • 官网说明:https://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html#function_st-distance-sphere

    • ST_Distance_Sphere(g1, g2 [, radius])

      Returns the mimimum spherical distance between two points and/or multipoints on a sphere, in meters, or NULL if any geometry argument is NULL or empty.

      Calculations use a spherical earth and a configurable radius. The optional radius argument should be given in meters. If omitted, the default radius is 6,370,986 meters. An ER_WRONG_ARGUMENTS error occurs if the radius argument is present but not positive.

      The geometry arguments should consist of points that specify (longitude, latitude) coordinate values:

      • Longitude and latitude are the first and second coordinates of the point, respectively.
      • Both coordinates are in degrees.
      • Longitude values must be in the range (-180, 180]. Positive values are east of the prime meridian.
      • Latitude values must be in the range [-90, 90]. Positive values are north of the equator.

      Supported argument combinations are (Point, Point), (Point, MultiPoint), and (MultiPoint, Point). An ER_GIS_UNSUPPORTED_ARGUMENT error occurs for other combinations.

      If any geometry argument is not a syntactically well-formed geometry byte string, an ER_GIS_INVALID_DATA error occurs.

      mysql> SET @pt1 = ST_GeomFromText('POINT(0 0)');
      mysql> SET @pt2 = ST_GeomFromText('POINT(180 0)');
      mysql> SELECT ST_Distance_Sphere(@pt1, @pt2);
      +--------------------------------+
      | ST_Distance_Sphere(@pt1, @pt2) |
      +--------------------------------+
      |             20015042.813723423 |
      +--------------------------------+
      

    函数使用示例

    select ST_Distance_Sphere(point(114.029381, 22.60939),point(114.012108,22.53652))from dual;
    

    函数有效性验证

    • 百度地址到三个地方的距离
      在这里插入图片描述

    • 使用经纬度函数到三地的距离

      --深圳北站:8294.58m
      select ST_Distance_Sphere(point(114.029381,22.60939),point(114.012108,22.53652)) from dual;
      
      --中山小榄车站:78812.50m
      select ST_Distance_Sphere(point(113.258316,22.671085),point(114.012108,22.53652)) from dual;
      
      --广州南站:91251.88m
      select ST_Distance_Sphere(point(113.269325,22.988558),point(114.012108,22.53652)) from dual;
      
    • 结论
      总的来说误差在100米左右,还是可以接受的。

    展开全文
  • 批量计算经纬度距离2

    2012-06-13 19:10:25
    增加差异测距,即支持中心测距及前后差异测距
  • public class tset1 {public static void main(String[] args) {//for (int i = 0; i < 5; i++) {//System.out.println(UUIDUtil.getUUID());//}//double s=getDistatce(112.179911,37.208558,112.180379,37.2101...

    public class tset1 {

    public static void main(String[] args) {

    //for (int i = 0; i < 5; i++) {

    //System.out.println(UUIDUtil.getUUID());

    //}

    //double s=getDistatce(112.179911,37.208558,112.180379,37.21011);

    //double s=getDistatce(112.179911,112.180379,37.208558,37.21011);

    double s=getDistatce(37.208558,37.21011,112.179911,112.180379);

    System.out.println(s);

    }

    //private final static double EARTH_RADIUS = 6378.137;

    //

    //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;

    //}

    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;

    }

    }

    展开全文
  • 将数据集中显示为度的面积单位转换为常用的平方米单位制,并将转换后数据更新到数据集属性表中
  • 使用redisTemplate-geo计算经纬度距离

    千次阅读 2022-03-14 10:10:27
    业务中常有需求是计算经纬度之间的距离,redis是使用较多的缓存中间件,正好有关于geo位置计算的api,可以直接拿来用. demo展示 直接上demo代码 package com.felix.spring_cloud_one.service; import ...
  • java计算经纬度距离

    2021-08-09 14:03:33
    } /** * @描述 经纬度获取距离,单位为米 * @参数 [lat1, lng1, lat2, lng2] * @返回值 double **/ public static double getDistance(double lat1, double lng1, double lat2, double lng2) { double radLat1 = ...
  • 经纬度计算距离经纬度计算距离工具, 挺不错的。经纬度计算距离经纬度计算距离工具, 挺不错的。
  • mysql sql计算经纬度

    千次阅读 2019-04-16 15:27:50
    原文地址:https://stackoverflow.com/questions/1006654/fastest-way-to-find-distance-between-two-lat-long-points ... ( 6371 * acos( cos( radians(' 待计算点的纬度') ) * cos( radians( db_table.lat ) )...
  • SQL server 函数计算经纬度函数
  • 文件为cpp文件,封装的函数。已知本地经度、纬度和目标的方位角、水平距离,计算目标准确的经度纬度的算法。实际大量测试准确可用。可用于地图落点,利用目标准确位置打击等等
  • 23 /**4 *5 * 计算经纬度、距离、方位角6 *7 *@authorlillian.he8 * @time 2016-06-029 **/10 public classCalculationLogLatDistance {11 /**12 * 地球赤道半径(km)13 **/14 public final static doubl...
  • 本资源为离线计算指定经纬度所处于的省市/县的完整工程源码,包含一份国内各省市经纬度边界离线数据。 平台使用C++编写,微型高并发框架,对外提供基于TCP短连接高并发的位置计算服务,计算耗时ms单位。平台框架...
  • SQL语句计算经纬度距离

    千次阅读 2020-05-20 11:52:12
    一、SQL语句计算经纬度距离 SELECT id, ( 6371* acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance ...
  • } /** * 本地计算二个经纬度的距离 jdk的Math * Lng 经度 * @param lonLat * @param lonLat1 * @return */ public static double getDistance(String lonLat, String lonLat1) { String[] end =...
  • def get_distance(lon1, lat1, lon2, lat2): lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # radians 角度转弧度 d_lon = lon2 - lon1 d_lat = lat2 - lat1 a = sin(d_lat / 2)**2 + cos...
  • js计算经纬度距离

    千次阅读 2019-04-25 17:30:57
    // 方法定义 lat,lng function GetDistance( lat1, lng1, lat2, lng2){ var radLat1 = lat1*Math.PI / 180.0; var radLat2 = lat2*Math.PI / 180.0; var a = radLat1 - radLat2; var b = lng1*Mat...
  • 百度地图API计算经纬度

    千次阅读 2019-08-16 17:39:16
    百度地图API计算经纬度注册百度地图开发者申请应用的APKEY设置白名单代码实现 注册百度地图开发者 注册地址:http://lbsyun.baidu.com/apiconsole/key 申请应用的APKEY 控制台->我的应用->查看应用->...
  • 利用Java计算经纬度距离工具类 import java.math.BigDecimal; /** * @Description: 经纬度距离工具类 * @Param: * @return: * @Author: yzz * @Date: 2020/4/18 */ public class DistanceUtil { private static ...
  • 计算经纬度点之间的距离

    千次阅读 2019-10-23 19:32:34
    球面上任意两点之间的距离计算公式可以参考维基百科上的下述文章。 Great-circle distance Haversine formula 值得一提的是,维基百科推荐使用Haversine公式,理由是Great-circle distance公式用到了大量余弦...
  • 计算经纬度之间的距离、通过指定经纬度查询一定范围内的数据 1.1 计算两个经纬度之间的距离 此方法需要导入一个依赖包,专门用于计算经纬度的数据的 <dependency> <groupId>org.gavaghan</groupId...
  • python 计算经纬度距离,大地距离 最近做GPS轨迹挖掘,需要求两点间球面距离(大地距离)。网上没有很好的代码,于是写了这个。 先贴公式 对于点A 和 点B, 两点距离 D = arccos((sin北纬A×sin北纬B)+(cos北纬A×...
  • 在线计算经纬度距离

    万次阅读 2019-11-07 18:13:56
    1  http://boulter.com/gps/distance/ 2  http://www.hhlink.com/%E7%BB%8F%E7%BA%AC%E5%BA%A6/ 3  ...5 一篇讲解计算方法的  http://www.mamicode.com/info-detail-1962583.html  
  • 相信自从手机入侵互联网后,很多人都遇到了这个我问题,根据经纬度获取附近的商家和相差的距离。而对于距离的计算,我之前写过一篇文章《》,已经提到了做法。而如今天要讲解的是,从MySQL数据源上就要解决问题。...
  • hive 解析经纬度 解析经纬度字段 原始字段: POINT(116.094532 39.579501) select city_name, num_id ,split(regexp_replace(open_position,'POINT\\(|\\)',''),' ')[0] as start_point_lng ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,201
精华内容 11,680
关键字:

怎么计算经纬度