#1.两点距离(1.4142135623730951)

select st_distance(point(0,0),point(1,1));

select st_distance(point (120.10591, 30.30163),point(120.13026,30.25961)) as distance HAVING distance>0 ORDER BY distance;

mysql 5.6 添加

#2.两点球面距离(157249.0357231545m)

select st_distance_sphere(point(0,0),point(1,1)) as distance HAVING distance>0 ORDER BY distance;

select st_distance_sphere(point (120.10591, 30.30163),point(120.13026,30.25961)) as distance HAVING distance>0 ORDER BY distance;

This function was added in MySQL 5.7.6.

第一个函数是计算平面坐标系下,两点的距离,就是

如果用于计算地球两点的距离,带入的参数是角度(经纬度),则计算的单位也是相差的角度,用此角度计算距离不准。纬度距离约111km每度,经度距离在赤道平面上是111km每度,随纬度的升高逐渐降低为0。

第二个函数是计算球面距离的公式,传入的参数是经纬度(经度-180~180,纬度-90~90),返回的值以m为单位的距离。

如果mysql版本不支持上述函数怎么办?自己实现喽!下面是我自己写的球面距离函数

delimiter //

drop function if exists Spherical_Distance;

create function Spherical_Distance(jin1 double,wei1 double,jin2 double,wei2 double) returns double

NO SQL

BEGIN

declare j1 double;

declare w1 double;

declare j2 double;

declare w2 double;

declare R double;

set j1 = jin1*PI()/;

set w1 = wei1*PI()/;

set j2 = jin2*PI()/;

set w2 = wei2*PI()/;

set R = ;

return R*acos(cos(w1)*cos(w2)*cos(j1-j2)+sin(w1)*sin(w2));

END

//

delimiter ;

调用方式

select Spherical_Distance(120.10591,30.30163,120.13026,30.25961);

计算出的值和st_distance_sphere函数计算结果相差不大。

另外的求经纬度距离方法:

$lat = trim($_POST['lat']);

$lng = trim($_POST['lng']);

$distance = "

ROUND(

6378.138 * * ASIN(

SQRT(

POW(

SIN(

(

'$lat' * PI() / - lat * PI() /

) /

),

) + COS(40.0497810000 * PI() / ) * COS(lat * PI() / ) * POW(

SIN(

(

'$lng' * PI() / - lng * PI() /

) /

),

)

)

) * ) AS distance ";

// 内容

$sql = <<

select id,title as shop_name,create_at,master_title,lng,lat,reg_address,province,city,area,address,start_at,end_at,phone,business_name,business_phone,pics,club_id,{$distance}

from jiazhen_shop_info as jsi

where = order by distance ASC,id desc

doc;

PHP&comma;Mysql根据经纬度计算距离并排序

网上给出的计算公式是这样的: Lng1表示A点纬度和经度,Lat2 Lng2 表示B点纬度和经度 a = Lat1 – Lat2为两点纬度之差 b = Lng1 -Lng2 为两点经度之差 6378. ...

MySQL创建根据经纬度计算距离的函数

按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及 ...

iOS根据2个经纬度计算距离

#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ...

java工具类&lpar;六&rpar;根据经纬度计算距离

Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double ...

python的N个小功能&lpar;文本字段对应数值&comma;经纬度计算距离&comma;两个时间点计算时间间隔&rpar;

案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...

php有经纬度计算距离

/** *  @desc 根据两点间的经纬度计算距离 *  @param float $lat 纬度值 *  @param float $lng 经度值 */  function getDistanc ...

PHP根据两点间的经纬度计算距离,php两点经纬度计算&lpar;转&rpar;

这是一个不错的示例,直接贴代码,首先要知道纬度值.经度值 /** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经 ...

PHP根据两点间的经纬度计算距离

/** * 说明: 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat ...

cesium根据经纬度计算距离

var startLatitude = 36;var startLongitude = 120; var endLatitude=34; var endLongitude=121; var start ...

随机推荐

MariaDB 主从复制的配置

一.安装MariaDB 安装过程省略. 二.主从配置 环境     Master/Slave     系统 IP 数据库版本 Master     CentOS6.7         10.10.3. ...

weui 问题

1.阻止checkbox 被 checked 方法1: $('.weui-check').on('click', function(e){ $(this).attr('disabled', true) ...

使用Linux系统中的SSH服务

使用Linux系统中的SSH服务 1.SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2.安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-s ...

javascript 路线整理

前端开发很重要,编写脚本也不容易. 总结我以前的前端学习经历,基本是一团乱麻:css+javascript是在大三自学的,当时自己做课程设计,逼着自己在一个月之内,写了一个半成品的j2ee网站.当时, ...

(转)MySQL join语法解析与性能分析

文章转载的:http://www.cnblogs.com/BeginMan/p/3754322.html 一.join语法概述 join用于多表中字段之间的联系,语法如下: ... FROM tabl ...

maven多模块依赖源码调试

Maven多模块项目中,通常存在摸个模块同时依赖其他多个基础模块的情况.在eclipse中使用run-jetty-run插件调试时,常常会出现找不到被依赖模块对应源码的错误提示.举个例子,模块A同时依 ...

apiCloud 双击事件

apiCloud 双击事件只能使用纯js去写 var app = new Vue({ el: "#app", data: function() { return { token: ...

javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)

引言: JavaMai下载地址l jar包:http://java.sun.com/products/javamail/downloads/index.html 此篇是紧随上篇文章而封装出来的,阅读本 ...

如何修改织梦dedecms文章标题的最大长度

织梦dedecms默认的文章标题的最大长度为60字节,如果文章标题超过60字节将会自动截断,导致标题显示不全,这并非是我们所希望的.那么如何将标题长度改成我们想要的?只需简单两步即可解决问题. 1.进 ...

php 经纬度 距离排序,php mysql 根据经纬度计算距离和排序相关推荐

  1. Java 根据生日日期计算距离生日还有多少天(工具类)

    已知生日日期,用Java实现计算距离生日还有多少天: // 计算距离生日还有多少天 public class Tool {/*** 计算距离生日还有多少天 * @param addtime:生日日期* ...

  2. mysql数据库根据经纬度计算距离,获取离我最近的地点列表,并排序。附近的人,附近商店等功能,一个sql就搞定

    mysql数据库根据经纬度计算距离,获取离我最近的地点列表,并排序 附近的人,附近商家等功能,顺序显示顺序是由近到远的,便利用户查看和判断,sql实现如下. StringBuilder sb=new ...

  3. django 按经纬度计算距离排序

    django 按经纬度计算距离排序 需求: 实现离用户距离最近的店铺排序 公式: 公式解释如下: Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度: a=Lat1–Lat2 为 ...

  4. mysql 经纬度距离 自定义函数_mysql 经纬度计算距离 自定义函数

    这些经纬线是怎样定出来的呢? 地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作&quo ...

  5. mysql,php和js根据经纬度计算距离

    根据经纬度计算距离公式 图片来自互联网 对上面的公式解释如下: Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度: a=Lat1 – Lat2 为两点纬度之差 b=Lung1 ...

  6. php mysql 经纬度_mysql,php和js根据经纬度计算距离

    根据经纬度计算距离公式 图片来自互联网 对上面的公式解释如下: Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度: a=Lat1 – Lat2 为两点纬度之差 b=Lung1 ...

  7. 根据用户经纬度,sql计算距离并排序

    java 计算 public class DistanceUtil {// 地球平均半径private static final double EARTH_RADIUS = 6378137;// 把经 ...

  8. 根据经纬度坐标计算距离sql语句

    //根据经纬度计算附近商家距离 /* @param $lng,经度* @param $lat,纬度* @param $distance 计算的距离* @param $sort 根据距离排序*/func ...

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

    1.地理空间距离计算面临的挑战 打开美团app,不管是筛选团购还是筛选商家,默认的排序项都是"离我最近"或者"智能排序"(如下图所示). 不管是"离我 ...

最新文章

  1. 一台服务器能承载多少用户_一台入门级服务器能为你的办公应用带来哪些效率?评测告诉你...
  2. linux 查看磁盘分区,文件系统,使用情况的命令和相关工具介绍,Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍df...
  3. cta策略 有哪些_CTA 主流的交易策略都有哪些?
  4. ubuntu apt报错无法获得锁/var/lib/dpkg/lock 和无法锁定管理目录
  5. 解决jquery调用NET webservice跨域的问题
  6. iOS:NAV+TABLE结合
  7. 项目案例模板之jdbc两种连接方式
  8. JavaScript从父页面获取子页面的值(子页面又如何访问父页面)
  9. Json解析工具对比
  10. LintCode 最长公共子串
  11. Google浏览器安装插件
  12. P3717 [AHOI2017初中组]cover——洛谷(差分)
  13. 计算机操作系统-磁盘存储器
  14. Latex之页边距设置
  15. 快速分析极兔快递物流发件到件超过36小时的时间差
  16. FPGA输出五路PWM
  17. matepad能升级鸿蒙吗,华为平板有鸿蒙系统吗2021
  18. 计算机科学属于sci核心吗,SCI属于核心期刊吗
  19. JAVA-File类与IO流
  20. 阿觿学长带领准大学生们一起走进互联网

热门文章

  1. 输入文件c语言程序,C语言程序设计 对文件的输入输出.ppt
  2. MySQL ORDER BY IF() 条件排序
  3. mysql中systimestamp_oracle数据库中timestamp是什么数据类型
  4. java 事件监听器是组件_JavaWeb的三大组件之事件监听组件(Listener)
  5. Caused by: org.springframework.amqp.AmqpException: No method found for class [B
  6. spring boot-The temporary upload location [ ] is not valid
  7. WebLogic 12c 添加默认应用
  8. vuex中store 的mutation
  9. matplotlib新版本下的霍兰德人格分析雷达图
  10. envi与arcgis文件转换_ArcGIS、MapInfo、ENVI、MapGIS等矢量格式相互转换