创建geo表

create table geo(
geo_id INT NOT NULL AUTO_INCREMENT,
lng float NOT NULL,
lat float NOT NULL,
name VARCHAR(100) NULL,
PRIMARY KEY ( geo_id )
);

  

INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.302416,33.958887,"实验小学");
INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.303997,33.95188,"宿迁市人民医院");
INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.302991,33.935828,"宿迁学院");
INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.28215,33.959307,"金陵名府");
INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.290081,33.925404,"润园");
INSERT INTO `geo`(`lng`, `lat`, `name`) VALUES (118.354751,33.959007,"国际馆");

  

SELECT
geo_id, `name`,(
6371 * acos (
cos ( radians(33.958887) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(118.302416) )
+ sin ( radians(33.958887) )
* sin( radians( lat ) )
)
) AS distance
FROM geo
HAVING distance < 20
ORDER BY distance
LIMIT 0 , 20;

  其中33.958887是纬度,118.302416是经度,6371是地球的半径。

其他类似的资料:

https://www.jianshu.com/p/2d801e9cbadd

https://www.cnblogs.com/jiqing9006/p/8954831.html

https://blog.csdn.net/qq_42093488/article/details/81234990

https://blog.csdn.net/lvqingyao520/article/details/69667000

https://blog.csdn.net/Connie1451/article/details/80528737

最新文章

  1. UE4 创建进程,打开额外程序 方法 笔记
  2. js 正则表达式 转至(七郎&#39;s Blog)
  3. [linux] 默认权限修改(umask)
  4. varnish4.0简介
  5. ViewPager动态加载、删除页面
  6. c#(.net) 导出 word表格
  7. bzoj2584
  8. [NOIP2011]瑞士轮
  9. Html5 跨域通信
  10. A题笔记(6)
  11. 谨慎使用php的strtotime()函数
  12. Java面试02|Java集合
  13. mysql 时间格式化
  14. Jquery的过滤选择器分为哪几种?
  15. Exp6 信息搜集与漏洞扫描 20165110
  16. [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
  17. 《Linux内核分析》第六周学习笔记
  18. 【Python】进程3
  19. 64位Win7系统下vs2010调试无法连接oracle解决办法
  20. MATLAB基础操作笔记

热门文章

  1. AOP 日志切面
  2. 第四个知识点 P类复杂问题
  3. Mysql数据库体系
  4. [opencv]图像预处理方案及方式
  5. 每天学一点——python基本数据类型
  6. Hbase单点安装Version1.1.5
  7. 基于node和npm的命令行工具——tive-cli
  8. [ flask ] 解耦models(解决models文件太臃肿的问题)
  9. javaScript(笔记1)
  10. HashMap原理及源码分析