文章转载地址https://www.cnblogs.com/jiafuwei/p/5699091.html感谢作者。

mysql距离计算,单位m,以及排序

lon 经度 lat 纬度

一般地图上显示的坐标顺序为,纬度在前(范围-90~90),经度在后(范围-180~180)

首先新建一张表,里面包含经纬度

SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for customer-- ----------------------------DROP TABLE IF EXISTS `customer`;CREATE TABLE `customer` (`id` int(11) unsigned NOT NULL auto_increment COMMENT '自增主键',`name` varchar(50) NOT NULL COMMENT '名称',`lon` double(9,6) NOT NULL COMMENT '经度',`lat` double(8,6) NOT NULL COMMENT '纬度',PRIMARY KEY  (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='商户表';-- ------------------------------ Records of customer-- ----------------------------INSERT INTO `customer` VALUES ('1', '天津市区', '117.315575', '39.133462');INSERT INTO `customer` VALUES ('2', '北京市区', '116.407999', '39.894073');INSERT INTO `customer` VALUES ('3', '保定', '115.557124', '38.853490');INSERT INTO `customer` VALUES ('4', '石家庄', '114.646458', '38.072369');INSERT INTO `customer` VALUES ('5', '昌平区1', '116.367180', '40.009561');INSERT INTO `customer` VALUES ('6', '海淀区2', '116.313425', '39.973078');INSERT INTO `customer` VALUES ('7', '海淀区1', '116.329236', '39.987231');

然后我们开始用mysql自带的函数,计算customer表中,每个地方具体。

传入参数 纬度 40.0497810000 经度 116.3424590000

/*传入的参数为  纬度 纬度 经度 ASC升序由近至远 DESC 降序 由远到近 */

SELECT*
FROM(SELECTt1.fd_objectid,t1.road_code,t1.road_name,t1.event_name,t1.block_reason,DATE_FORMAT(t1.event_happened_time,'%Y-%m-%d %H:%i:%S') AS occur_date,DATE_FORMAT(t1.plan_recovery_date,'%Y-%m-%d %H:%i:%S') AS plan_recovery_date,longitude,latitude,ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((29.114081 * PI() / 180 - t1.latitude * PI() / 180) / 2),2) + COS(29.114081 * PI() / 180) * COS(t1.latitude * PI() / 180) * POW(SIN((113.983070 * PI() / 180 - t1.longitude * PI() / 180) / 2),2))) * 1000) AS juliFROMjtyj_emergency_event t1ORDER BYjuli ASC) mm
WHEREjuli < 1000

至此,我们就能清楚的查看到纬度 40.0497810000 经度 116.3424590000 距离customer表中的每个地区的距离(单位 m)

另外还有一种方式,根据经纬度和半径(范围)求出一个圆(面),判断该经纬度是否属于该面内,即点和面的思想,有兴趣的可以自己研究下。

根据经纬度,获取方圆10公里内的数据相关推荐

  1. 出租车计价:某城市普通出租车收费标准如下:起步里程为3公里,起步费10元:超过起步里程后10公里内即每公里2元;

    C语言程序设计(第3版) 何钦铭 颜晖 主编. 出租车计价:某城市普通出租车收费标准如下:起步里程为3公里,起步费10元:超过起步里程后10公里内即每公里2元:超过10公里以上的部分加收50%的空驶补 ...

  2. 7号电单车java怎么样_亲测7号电单车 适合10公里内出行

    在过去一年多的时间里,共享单车成为一个尽人皆知的新词,而在共享经济的助推之下,共享电单车也开始出现了街头. 以北京为例来说,目前已经出现了很多的共享电单车品牌,比如推出较早的7号电单车.那么与共享单车 ...

  3. mysql 实现根据当前的位置信息,获取方圆20公里的数据库查询操作

    此博客只为自己学习使用 Sql 语句 SELECT *,( 6371 * acos ( cos ( radians(31.070824) ) * cos( radians( gis_y ) ) * c ...

  4. 通过sql查询自己经纬度周围几公里内的数据

    ROUND(6378.138*2*ASIN(SQRT(POW(SIN((MyLatitude*PI()/180-BiaoLatitude*PI()/180)/2),2)+ COS(MyLatitude ...

  5. 根据经纬度查询方圆5公里数据信息

    sql: SELECT app_station_hdr.*FROM app_station_hdrWHERE getDistance(station_Lng, station_Lat, :lon, : ...

  6. 关于51地图中循环根据经纬度获取地理位置只显示一条数据的问题

    最近在做一个gps系统,做到一个输出地理位置的小问题上卡了两天,总觉的应该很简单 但就是不出自己想要的效果 奉上代码 目前用的定时器 虽然不是很理想 但先这样用着 以后有了好的解决方案在改 var l ...

  7. 根据日期获取某一时间段内的数据

    2019-08-19 根据日期时间查询某一时间段的数据可以按照以下操作,仅仅是一个sql语句的问题: 1.mapper.xml层代码 1 <select id="findTaxDeta ...

  8. mysql 附近3公里的_mysql搜寻附近N公里内数据的实例

    根据圆周率和地球半径系数以及搜寻点的经纬度,搜寻数据表中与搜寻点之间的距离为N公里内的数据. 1.创建测试表CREATE TABLE `location` ( `id` int(10) unsigne ...

  9. 题目 - 北京地铁 描述 北京地铁涨价了,现在的地铁票价计算方法如下: 6公里内 3元 (包括6公里) 6-12 公里 4元 (不包括6公里,包括12公里) 12-32 公里 每10公里加1元

    题目 - 北京地铁 描述 北京地铁涨价了,现在的地铁票价计算方法如下: 6公里内 3元 (包括6公里) 6-12 公里 4元 (不包括6公里,包括12公里) 12-32 公里 每10公里加1元(不包括 ...

最新文章

  1. 深度学习核心技术精讲100篇(五十八)- 如何量化医学图像分割中的置信度?
  2. A. Boredom【DP】
  3. 用C#快速往Excel写数据
  4. JavaScript 数组详解
  5. 【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程
  6. 院内适配层新版框架开发文档
  7. Python链表学习
  8. OllyDbg 常用命令 【Pray收集整理】
  9. 2022年通信工程专业保研:从四非到浙大工院夏令营面试经验分享(前期准备篇/含通信原理面试真题)
  10. 数据集fer2013
  11. 漏洞修复:Often Misused: HTTP Method Override
  12. Failure to find xxx in http://maven.aliyun.com/nexus/content/groups/public
  13. OpenCV 计算运行时间(us,ms,s)
  14. 当日、昨日、当周、本周、当月、上个月获取方法
  15. 从“住”到“行” 恒大投资NEVS的背后逻辑 | 一点财经
  16. 经典幽默的计算机名言
  17. 中国医科大学22春《计算机基础与应用 》在线作业【标准答案】
  18. 给刚入坑的ACMer一些编码建议(1)——使用“好”变量名
  19. Dll的导入导出(export与import)
  20. ubuntu16 升级 firefox 导出书签

热门文章

  1. Nvidia 视频处理框架----1. VideoProcessingFramework 介绍和安装
  2. GIT使用—创建一个版本库
  3. GRE考试中--名词与动词的关系讲解
  4. 无线路由器当无线交换机用
  5. 日本交通卡-SUICA卡
  6. pigz 快速压缩命令详解
  7. javaSE commons-io第三方插件, FilenameUtils工具类,getExtension(),getName(),isExtension()
  8. 生产型外协管理系统:功能解析篇
  9. 微软学生开发者峰会参加体验
  10. 煤矿自动化系统指的是什么_煤矿综合自动化系统解决方案