数据库sql--关于计算方圆5公里点位编写
当我们计算两个地球上任意两点之间的距离时,可以使用Haversine公式。
下面是每个函数和数值的详细解释:
- RADIANS(target_latitude):将目标纬度值转换为弧度制。这是因为Haversine公式以弧度为单位计算角度。
- RADIANS(latitude):将数据表中的纬度值转换为弧度制。
- RADIANS(target_longitude):将目标经度值转换为弧度制。
- RADIANS(longitude):将数据表中的经度值转换为弧度制。
- SIN((RADIANS(target_latitude) - RADIANS(latitude)) / 2):计算目标纬度与数据表中纬度之间的差值的一半的正弦值。
- SIN((RADIANS(target_longitude) - RADIANS(longitude)) / 2):计算目标经度与数据表中经度之间的差值的一半的正弦值。
- COS(RADIANS(target_latitude)):计算目标纬度的余弦值。
- POWER(SIN((RADIANS(target_latitude) - RADIANS(latitude)) / 2), 2) + COS(RADIANS(target_latitude)) * COS(RADIANS(latitude)) * POWER(SIN((RADIANS(target_longitude) - RADIANS(longitude)) / 2), 2):计算Haversine公式中的公式部分,表示两点之间的角距离。
- ASIN(SQRT(…)):计算上述公式部分的平方根的反正弦值,得到弧度距离。
- 6371 * 2 * ASIN(…):将弧度距离乘以地球的平均半径(6371公里),得到实际的地表距离。
- <= 5:使用此条件筛选出距离小于或等于5公里的数据。
下面是示例
假设你的数据表名为locations,经度字段名为longitude,纬度字段名为latitude,要计算的经纬度点为(target_longitude, target_latitude),可以使用以下SQL查询
SELECT *
FROM locations
WHERE (6371 * 2 * ASIN(SQRT(POWER(SIN((RADIANS(target_latitude) - RADIANS(latitude)) / 2), 2) +COS(RADIANS(target_latitude)) * COS(RADIANS(latitude)) *POWER(SIN((RADIANS(target_longitude) - RADIANS(longitude)) / 2), 2)))
) <= 5;
相关文章:
数据库sql--关于计算方圆5公里点位编写
当我们计算两个地球上任意两点之间的距离时,可以使用Haversine公式。 下面是每个函数和数值的详细解释: RADIANS(target_latitude):将目标纬度值转换为弧度制。这是因为Haversine公式以弧度为单位计算角度。RADIANS(latitude):将…...
嵌入式基础知识-DMA
本篇来介绍DMA的一些基础知识。 1 DMA简介 DMA(Direct Memory Access),中文名为直接内存访问,它是一些计算机总线架构提供的功能,能使数据从附加设备(如磁盘驱动器)直接发送到计算机主板的内存上。对应嵌…...
STM32 软件IIC 控制OLED 显示屏
1. 硬件IIC 实在是太难用了,各种卡死,各种发不出来数据,没那么多时间折腾了,还是用软件IIC 先吧,初始化 void OLED_Software_IIC_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;RCC_AHBPeriphClockCmd(OLED_SOFTWARE…...
【系统设计系列】 DNS和CDN
系统设计系列初衷 System Design Primer: 英文文档 GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. 中文版: https://github.com/donnemarti…...
thinkphp中使用Elasticsearch 7.0进行多表的搜索
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、thinkphp中使用Elasticsearch 7.0进行多表的搜索二、使用步骤1.引入库2.读入数据 总结 前言 提示:thinkphp中使用Elasticsearch 7.0进行多表的…...
说说 TCP的粘包、拆包
分析&回答 拆包和粘包是在socket编程中经常出现的情况, 在socket通讯过程中,如果通讯的一端一次性连续发送多条数据包,tcp协议会将多个数据包打包成一个tcp报文发送出去,这就是所谓的粘包。如果通讯的一端发送的数据包超过一…...
PowerToys安装
PowerToys 是微软开发者开发的免费实用工具集,可以用于高级用户调整和简化 Windows 操作,以提高效率。 官网安装方法: https://learn.microsoft.com/zh-cn/windows/powertoys/install 目前安装文件路径: https://github.com/m…...
Unity——LitJSON的安装
一、LitJSON介绍 特点 LitJSON是一个轻量级的C# JSON库,用于在Unity游戏开发中进行JSON数据的序列化和反序列化操作。它提供了简单而高效的接口,帮助开发者处理JSON数据。 以下是LitJSON库的一些主要特点和功能: 1. 高性能:Lit…...
YOLOv5:对yolov5n模型进一步剪枝压缩
YOLOv5:对yolov5n模型进一步剪枝压缩 前言前提条件相关介绍具体步骤修改yolov5n.yaml配置文件单通道数据(黑白图片)修改models/yolo.py文件修改train.py文件 剪枝后模型大小 参考 前言 由于本人水平有限,难免出现错漏,…...
大数据(八):Pandas的基础应用详解(五)
专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 再推荐一下最近热更的:《大厂测试高频面试题详解》 该专栏对…...
【算法】归并排序 详解
归并排序 详解 归并排序代码实现1. 递归版本2. 非递归版本 排序: 排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性: 假定在待排序的记录序列中,存在多个具有相…...
linux 进程隔离Namespace 学习
一、linux namespace 介绍 1.1、概念 Linux Namespace是Linux内核提供的一种机制,它用于隔离不同进程的资源视图,使得每个进程都拥有独立的资源空间,从而实现进程之间的隔离和资源管理。 Linux Namespace的设计目标是为了解决多个进程之间…...
【MySQL】事务 详解
事务 详解 一. 为什么使用事务二. 事务的概念三. 使用四. 事务的特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability) 五. 事务并发所带来的问题脏读问题…...
爬虫到底难在哪里?
目录 爬虫到底难在哪里 怎么学习爬虫 注意事项 爬虫工具 总结 学习Python爬虫的难易程度因人而异,对于具备编程基础的人来说,学习Python爬虫并不困难。Python语言本身比较简单易学,适合初学者使用。 爬虫到底难在哪里 爬虫的难点主要包…...
linux常用命令行整理
1、linux的以及目录 bin 二进制可执行文件sbin 二进制可执行文件(root用户权限)etc 系统管理和配置文件,例如常见host文件home 用户文件的根目录usr 用户存放系统应用程序(共享系统资源)opt 可选的应用程序proc 虚拟文件系统root 超级用户dev 存放设备文件mnt 系统管理员安装临…...
python字符串相关
python字符串相关 一、reverse() 函数 只能反转 列表二、reversed() 反转元组字符串等等 返回迭代器三、join和reversed反转字符串四、join串联字符串(join连接对象仅限字符串、储存字符串的元组、列表、字典)数字对象可通过str()转化为字符串⭐对象为字…...
JavaScript学习笔记01
JavaScript笔记01 什么是 JavaScript JavaScript 是一门世界上最流行的脚本语言,它是一种弱类型的脚本语言,其代码不需要经过编译,而是由浏览器解释运行,用于控制网页的行为。 发展历史 参考:JavaScript的起源故事…...
golang 通用的 grpc http 基础开发框架
go-moda golang 通用的 grpc http 基础开发框架仓库地址: https://github.com/webws/go-moda仓库一直在更新,欢迎大家吐槽和指点 特性 transport: 集成 http(echo、gin)和 grpc。tracing: openTelemetry 实现微务链路追踪pprof: 分析性能config: 通用…...
FSK解调技术的FPGA实现
本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 一、FSK信号的解调原理 FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由…...
Matlab图像处理-高斯低通滤波器
高通滤波 图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。高通滤波就是为了高消除模糊,突出边缘。因此采用高通滤波器让高频成分通过,消除低频噪声成分削弱,再经傅里叶逆变换得到边缘锐化的图像。 …...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
