在MySql中使用空间函数查找两个坐标之间的距离的正确方法

2024-01-10

我正在尝试使用 Mysql 和 PostgresSQL 中的空间函数来计算两个位置之间的距离。我从谷歌获取了纬度和经度。详情如下

位置一 - 纬度:42.260223;经度:-71.800010

位置二 - 纬度:42.245647;经度:-71.802521

使用的 SQL 查询:

选择距离(GEOMFROMTEXT('点(42.260223 -71.800010)'),GEOMFROMTEXT('点(42.245647 -71.802521)'))

两个数据库给出相同的结果 0.014790703059697。但是当我在其他系统中计算距离时,结果是不同的。请参考以下链接

= 1.44 英里

= 1.53 英里

所以我想知道我的计算方法/查询是否正确。如果是错误的,那么查询数据库距离的正确方法是什么。


简单的答案是使用半正矢公式。这假设地球是一个球体,但事实并非如此,但这并不是一个糟糕的近似。本演示文稿中描述了这一点以及许多其他细节:

http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在MySql中使用空间函数查找两个坐标之间的距离的正确方法 的相关文章

  • sqlalchemy 中的随机 ID(pylon)

    我正在使用 pylons 和 sqlalchemy 我想知道如何将一些随机 id 作为primary key 最好的方法是使用随机生成的 UUID import uuid id uuid uuid4 uuid 数据类型在某些数据库中本机可用
  • 如何在SQL中查找单元格中的重复单词

    我有一个名为 situation 和 entityid 的列 Entityid Situation 1234 In the the world of of 3456 Total universe is is a 任何人都可以给我查询以找到这
  • 哈希 MySQL 数据库架构

    我想对 MySQL 数据库模式 没有数据 进行哈希 签名 以便对其进行校验和 以确保它不被其他人修改 我怎样才能实现它 据我了解您的问题 您需要表校验和 checksum table table 所以 我想 只需对空表进行校验和
  • ZeroDateTimeBehavior=convertToNull 在使用 hibernate 的 jdbc url 中不起作用

    通过 extern 属性文件 url 指定如下 jdbc mariadb xxxxx 3306 xxxxx zeroDateTimeBehavior convertToNull 连接工作正常并且能够查询数据库 通过休眠 我创建了一个映射到带
  • 将 Python 列表(JSON 或其他)插入 MySQL 数据库

    所以我在Python中有一堆数组数据 嗯 相反 我有一个清单 我试图将此数组存储到 MySQL 数据库中的单个单元格中 我尝试使用 JSON 来序列化我的数据 但也许我不明白 JSON 是如何工作的 因此 在连接到我的数据库后 我尝试了上游
  • MySQL 查询中的窗口函数

    有没有办法在 SELECT 查询本身中动态地使用 MySQL 查询中的窗口函数 我知道在 PostgreSQL 中这是可能的 例如 下面是 PostgreSQL 中的等效查询 SELECT c server ip c client ip s
  • DBX 错误:驱动程序无法正确初始化

    我在跑步德尔福XE3 终极版 MySQL 数据库 这是我点击时收到的错误Test Connection 作为回应 我在 xampp 目录中找到了 libmysql 库 并将其复制到我的 System32 目录中 但这是行不通的 此消息指的是
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所
  • 通过 PDO 将双精度数插入 MySQL 时精度损失

    我遇到了这种非常烦人的行为 我想知道我是否做错了什么 或者这是否是故意的 如果是的话 为什么 每当我在 php 5 3 中有一个 double 类型的变量 并且想将其插入到数据库 MYSQL 5 0 的 double 类型字段中时 该值总是
  • 无法从 Web 主机本身以外的任何地方连接到任何 Web 主机的 MySQL 数据库

    我有 2 个不同的虚拟主机 pagodabox 000webhost 都是免费的 并且我已经设置了localhost与MySQL 我已经在他们三个上安装了 wordpress 它们在自己的域中工作得很好 即 什么时候localhostwor
  • Python 子进程、mysqldump 和管道

    我在尝试构建简单的备份 升级数据库脚本时遇到问题 错误出现在使用子进程的 mysqldump 调用中 cmdL mysqldump user db user password db pass domaindb gzip gt databas
  • Mysql关于重复键更新+子查询

    使用这个问题的答案 需要 MySQL INSERT SELECT 查询具有数百万条记录的表 https stackoverflow com questions 662877 need mysql insert select query fo
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • Chart.js - 使用 mysql 和 php 从数据库获取数据

    我正在尝试将静态数据转换为使用数据库结果 我将使用MySQL and PHP 示例代码 var randomScalingFactor function return Math round Math random 100 var lineC
  • 如何将变量设置为触发器 MYSQL 内存储过程的结果?

    我这里有一个小问题 我正在为我的数据库工作创建一个触发器 但我不知道如何在触发器内使用存储过程 我想将过程的结果保存在变量中 然后使用稍后在 IF 比较器上变量 这是我的代码 DELIMITER CREATE TRIGGER insert
  • MySQL - 从另一个表插入与常量合并的数据

    我有一个包含一些数据的临时表 products temp 并且我有另一个需要将数据插入其中的表 产品 我需要在新记录上手动设置一些常量 例如vendor id 1等 是否可以在一次请求中插入临时表数据和常量 临时产品 product nam
  • MySQL如何从多个表中获取数据

    我正在寻找 php MySQL jquery 的帮助 我有2张桌子 table1表 1 有 4 列 id 标题 desc thumb img tabel2表 2 有 3 列 id 表 id img 我只想将 2 个表与 get QS 的值进
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF
  • 无法将句子插入数据库

    我有一些句子 我必须选择由 6 个以上单词组成的句子 然后它们将被插入到数据库中
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • Visual Studio 在编辑器中隐藏选项卡(选项卡井)

    我确信这个功能曾经可用 但我似乎找不到了 您过去可以在没有选项卡的编辑器中打开文档 换句话说 您仅依靠键盘在打开的文档之间导航 有人可以帮忙吗 单击选项卡上的齿轮图标 然后单击将选项卡放在顶部
  • 文件/图像上传后 ASP.NET 3.0 mvc 应用程序崩溃

    我正在使用 ASP Net Core 3 0 我想创建一个带有图像的新产品 但在我从文件上传中选择图像并按下 创建 按钮后 我的应用程序崩溃了 我尝试在控制器上进行调试 但应用程序在到达控制器之前崩溃了 其他一切都在致力于创造行动 当我注释
  • 如何从 tds 添加多个字符串?

    我正在尝试添加多个美元金额的字符串 我从我的转换得到 NaNparseFloat 但我删除了美元符号和所有逗号 有什么建议么 我尝试过简单地添加它们而不使用parseFloat 但我只是得到一个连接字符串 function calculat
  • 如何将 YUV420p 转换成 RGB 用于 ffmpeg 编码器?

    我想使用 C 代码从位图图像制作 avi 视频文件 我写了以下代码 Get RGB array data from bmp file uint8 t rgb24Data new uint8 t 3 imgWidth imgHeight hB
  • 反向标签编码给出错误

    我使用标签编码器将分类数据标记为数字数据 data Resi LabelEncoder fit transform data Resi 但是当我尝试找到它们如何在内部映射时 list LabelEncoder inverse transfo
  • 未调用未捕获的异常处理程序

    我正在尝试捕获 Mac 应用程序上的异常 以便可以将它们记录在自定义日志文件中 我正在像这样实现异常处理程序 void uncaughtExceptionHandler NSException exception NSLog It Work
  • 如果 main() 不返回 int 值会发生什么?

    我知道在 C 编译器中main 函数被调用 start 函数的代码如下 exit main return value of main is returned 如何 start 工作时main 不返回int 例如如果它的返回类型是void f
  • 在 gdb 中显示参数包的值[重复]

    这个问题在这里已经有答案了 如何查看 gdb 中可变参数函数中参数包的值 示例代码 VariadicDebug cpp template
  • R 插入符号 createFolds 与 createMultiFolds 差异

    我创建折叠以进行交叉验证caret 我发现 createFolds 和 createMultiFolds 函数之间存在差异 在我看来 createFolds 是没有替换的 根据我的理解 这是正确的版本 createMultiFolds 有两
  • 什么时候使用 libmysql-6.1.dll 和 libmysql.dll?

    我正在使用 HeidiSQL 编辑 MYSQL 数据库 它询问我要使用哪个库进行编辑 libmysql 6 1 dll libmysql dll 我怎么知道该使用哪一个 这些替代品libmysql dll and libmariadb dl
  • 使用 Visual Studio 2010 打开 Visual Studio 2013 项目

    我需要使用 Visual studio 2010 打开 Visual studio 2013 项目 可以吗 谢谢 我尝试过 但它会产生兼容性错误 我的项目是MVC4解决方案 非常感谢你的回答 首先 您必须下载并安装 Visual Studi
  • Python:用于元组的 Pandas DataFrame

    这是为元组创建 DataFrame 的正确方法吗 假设元组是在代码片段内创建的 import pandas as pd import numpy as np import random row a b c col A B C D use n
  • 在 C# 中处理文件时确定缓冲区大小? [复制]

    这个问题在这里已经有答案了 我有一个简单的代码 它将文本文件合并为一个文本文件 void Main const int chunkSize 2 1024 2KB var inputFiles new c 1 txt c 2 txt c 3
  • 从一个组合框中选定的项目如何更改第二个组合框中的特定项目?

    Combobox1 有 3 个项目 西班牙 法国 英国 Combobox2 有 6 个项目 巴塞罗那 马德里 巴黎 马赛 伦敦 布里斯托尔 当从 Combobox1 西班牙 中选择一个项目时 它应该可用于 Combobox2 的特定项目 巴
  • 如何设置 HTTP 标头(用于缓存控制)?

    如何为我的网站启用浏览器缓存 我是否只是将cache control public 像这样放在我的标头中 我正在使用最新版本的 PHP 在最新版本的 XAMPP 上进行开发 要在 HTML 中使用缓存控制 您可以使用meta tag htt
  • 如何使用asp.net从文件夹中删除特定文件

    这是我的交易 我得到了一个名为 gridview1 的 datagridviewer 和一个 fileupload1 当我上传文件时 它会使用文件名和路径更新数据库中的 gridview1 和表 并将所述文件存储在文件夹 Mag 中 但现在
  • Bootstrap-Angular-ui 加载时模态

    我在用Bootstrap Angular UI 模态 http angular ui github io bootstrap modal对于我正在开发的网站 我用来打开模式的代码 modal open templateUrl home te
  • 缺少调试|项目的任何 CPU 构建配置,并在 Windows x64 上默认为调试|x86

    我最近刚刚在我的机器上重新安装了 Windows 7 x64 安装成功 整个操作系统没有出现任何问题 我认为 Windows 或 NET x64 存在配置问题 Symptoms 新项目的默认构建配置是调试 x86 这感觉不对 我正在运行 x
  • 测试 Google 应用内时退款测试购买

    我退款时遇到麻烦 当我登录发布商控制台时 它会显示我的购买和 取消整个订单 按钮 退款 按钮呈灰色 付款是使用测试帐户完成的 该应用程序尚未发布 我如何才能拿回我的钱 即使我通过测试帐户退款 Google 仍会向我收取 30 的费用吗 您必
  • 在MySql中使用空间函数查找两个坐标之间的距离的正确方法

    我正在尝试使用 Mysql 和 PostgresSQL 中的空间函数来计算两个位置之间的距离 我从谷歌获取了纬度和经度 详情如下 位置一 纬度 42 260223 经度 71 800010 位置二 纬度 42 245647 经度 71 80