当前位置: 首页 > article >正文

MySQL按照经纬度排序 查询出商家信息

首先自己写公式算法,这个我们 就不写了,pass~

ST_Distance_Sphere用法和示例:

      • 我们懒人使用MySQL自带的函数
      • 先看查询出的结果示例:
      • 示例代码(看代码直接跳这):
        • 注意事项

我们懒人使用MySQL自带的函数

ST_Distance_Sphere 是 MySQL
数据库中用于计算两个地理点之间球面距离的地理空间函数。这个函数返回两个点之间的距离,单位是米。它特别适用于计算地球上两点之间的近似距离,例如,可以用来计算两个地理位置(如两个商家的位置)之间的距离。
如果你的MySQL版本支持地理空间索引(5.7及以上),你可以使用ST_Distance函数来更高效地进行查询:

先看查询出的结果示例:

在这里插入图片描述
使用语法:ST_Distance_Sphere(point1, point2)

ST_Distance_Sphere的第一个参数是你要查询的点(商家的位置),第二个参数是参考点(你的查询点)。
point1: 第一个点,使用 POINT 构造函数定义,包含经度和纬度。
point2: 第二个点,同样使用 POINT 构造函数定义。
返回两个点之间的距离,单位是米。

示例代码(看代码直接跳这):

SELECT
    s.id AS storeId,
    s.`name` AS storeName,
    s.longitude AS longitude,
    s.latitude AS latitude,
    ST_Distance_Sphere(
        POINT(s.longitude, s.latitude), 
        POINT(108.43, 22.81)
    ) AS distance
FROM
    t_merchants s 
WHERE
    1=1 #等等条件...
ORDER BY
    distance ASC
注意事项
  • 精度:ST_Distance_Sphere 提供的是近似值,对于精确的测量,可能需要更复杂的地理空间分析工具。
  • 性能: 对于大量数据的查询,使用地理空间函数可能会影响性能。在这种情况下,考虑使用索引或其他优化技术。
  • 球面计算:这个函数假设地球是一个完美的球体,实际上地球是一个扁球体,因此对于非常精确的测量,这种近似可能会引入误差。
  • 适用场景
    • 地理位置服务:用于计算用户与特定地点之间的距离。
    • 物流和配送:确定最近的配送点或仓库。
    • 旅游和导航:计算旅行路线的距离。

ST_Distance_Sphere 是处理地理空间数据时非常有用的工具,尤其是在需要快速计算距离的场景中。


http://www.kler.cn/news/323218.html

相关文章:

  • Cisco ASA 9.22.1 发布下载,新增功能概览
  • Mysql—主从复制的slave添加及延迟回放
  • 2024年7月大众点评乌鲁木齐美食店铺基础信息
  • 物理学基础精解【26】
  • .NET MAUI(.NET Multi-platform App UI)上下文菜单
  • 【Redis入门到精通六】在Spring Boot中集成Redis(含配置和操作演示)
  • 机器学习查漏补缺(5)
  • 【刷题5】在排序数组中查找元素的第一个和最后一个位置
  • Android CCodec Codec2 (十五)C2DmaBufAllocator
  • 自动化办公-python中的open()函数
  • 深入理解 Nuxt.js 中的 app:error:cleared 钩子
  • 【hot100-java】【划分字母区间】
  • 消息中间件 Kafka 快速入门与实战
  • 让具身智能更快更强!华东师大上大提出TinyVLA:高效视觉-语言-动作模型,遥遥领先
  • mysql复合查询 -- 合并查询(union,union all)
  • 指令个人记录
  • Lab1:虚拟机kolla安装部署openstack,并创建实例
  • [大语言模型-论文精读] MoRAG - 基于多部分融合的检索增强型人体动作生成
  • 海尔嵌入式硬件校招面试题及参考答案
  • Python in Excel作图分析实战!
  • 关于Obj文件格式介绍与Unity加载Obj文件代码参考
  • 阿里云k8s发布vue项目
  • 防砸安全鞋这样挑,舒适又安心!
  • 用矩阵和统计报告估计polynomial线性回归的系数python
  • 直线模组降噪攻略
  • 【开源免费】基于SpringBoot+Vue.JS技术交流分享平台(JAVA毕业设计)
  • 16 Midjourney从零到商用·实战篇:产品工业设计
  • 2024AI做PPT软件如何重塑演示文稿的创作
  • C语言VS实用调试技巧
  • 华为LTC流程架构分享