在数据库中根据经纬度查找数据中所有附近的经纬度点
根据当前所在的坐标点也即经纬度,查找数据库中附近5公里或10公里附近的所有信息的实现,经过查找资料,原来是我高二学的,就是求弦长,数学忘完了,没想到数学还这么有用,数学啊 真是用途太大了。
用到的什么余弦,角度、弧度全忘完了,但是通过找资料,还是实现了,误差相对还是比较小的,我在mssql数据库中实现的,具体如下:
mssql函数:
ALTER FUNCTION [GetDistance]
(
@GPSLng DECIMAL(12,6),
@GPSLat DECIMAL(12,6),
@Lng DECIMAL(12,6),
@Lat DECIMAL(12,6)
)
RETURNS DECIMAL(12,4)
AS
BEGIN
DECLARE @result DECIMAL(12,4)
SELECT @result=6371.004*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI()))
RETURN @result
END
sql查询语句:
SELECT *,GetDistance(某一点的经度,某一点的纬度,数据库中经度,数据库中纬度)AS dis FROM 表名 dis<5
查找数据库中5公里内的记录
注:
6371.004 地球半径
6371.004*ACOS(SIN(@GPSLat/180*PI())*SIN(@Lat/180*PI())+COS(@GPSLat/180*PI())*COS(@Lat/180*PI())*COS((@GPSLng-@Lng)/180*PI())) 计算公式 可查球面弧长计算公式的详细解释
在数据库中根据经纬度查找数据中所有附近的经纬度点相关推荐
- EXCEL中筛选一列数据中所包含的某些数字,返回它前面的序号
EXCEL中筛选一列数据中包含某些数字.返回它前面的序号.(0x040403为要含的数字) 思想是将所要查找的内容替换为一串很长的字符串,用长度区分它们 在C2单元格中键入 =IF(LEN(SUBST ...
- 假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含“1”数据位的个数,并将统计结果保存在res1数组中。数据段的代码定义如下: data seg
假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含"1"数据位的个数,并将统计结果保存在res1数组中.数据段的代码定义如下 ...
- python 教程之如何使用python中的四分位距统计数据查找数据中的异常值
异常值是远离其他数据点的数据点,例如在图像中您会看到异常值. 那么我们如何找到包含异常值的行在这篇文章中,我们在数据的 r_values 列中找到异常值. 因此,要提取异常值,我们需要两个值 第 25 ...
- 如何连接mongodb数据库,并且从中查找数据
最近在需要从mongodb中查找出数据,但是连接mongodb也是刚刚接触到,所有如何连接mongdb然后从中查找出数据 之前从https://www.cnblogs.com/minsons/arti ...
- sql查找数据中某个字段是否有重复的值
表格table_x table_x col1 Column2 二仙桥 谭警官 二仙桥 大爷 瓜摊 华强 瓜摊 瓜 水煮肉片 肉 水煮肉片 水 水煮肉片 豆芽菜 水煮肉片 土豆片 水煮肉片 花椒 水煮肉 ...
- 为什么有时 Oracle 数据库不用索引来查找数据
当你运用 SQL 语言,向数据库发布一条查询语句时, ORACLE 将伴随产生一个"执行计划",也就是该语句将通过何种数据搜索方案执行,是通过全表扫描.还是通过索引搜寻等其它方式. ...
- Linux中的 awk查找日志中的相关记录
假设要在 api.log.201707201830 文件中,(此文件的多个字段数据以不可见字符^A(键盘上按下Ctrl+V+A)分隔),要输出第70个字段: awk -F '^A' '{print $ ...
- python中fetchall_python 操作mysql数据中fetchone()和fetchall()方式
fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None fetchall() 返回多个元组,即返回多个记录(rows),如果没有结果 则返回 () 需要注明:在 ...
- 在R软件中,提取时间数据中的小时数
今天在改案例的过程中,遇到这样一个问题.时间列的数据全是这样的: 目的是为了计算每个小时 样本出现了多少次,比如如图所示,凌晨0点出现了一次,中午12时出现了两次. (方法一) 本来打算使用R软件中的 ...
最新文章
- SDM450+android8.1播放左声道音频文件和右声道音频文件,左右喇叭都有声音问题
- python监听udp端口_python检测远程udp端口是否打开
- 马思伟:视频领域是个海洋,可以游泳、冲浪、潜水和远航
- android.9背景图变形,Android聊天背景图片变形解决方案
- JVM——内存区域:运行时数据区域详解
- android java代码重启,如何在Android中重启服务?
- 基于stm32智能风扇_意法半导体和Fieldscale为基于STM32的智能设备带来简单直观的触控体验...
- vim保存文件”:wq与“:x的区别以及小写:x与大写“:X”的区别
- OneNote打开其他账号的笔记共享
- 四种平均数的数学公式
- Oracle基础梳理之TO_CHAR()-No5
- (数据分析)网课评论分析
- 技术经理成长复盘-聊聊核心骨干
- 十六进制颜色值 (美观必备 - 设置颜色)
- likely和unlikely的区别
- html让内容冻结,html 导航冻结效果
- python完全匹配_python如何精确匹配
- 护卫神apache大师3.0.0 php,护卫神Apache大师(PHP环境套件)V3.2.0 官方免费版
- 基于OPENCV的手势识别技术
- 智能制造时代下,MES管理系统需要解决哪些问题