【发布时间】:2019-10-13 22:47:55
【问题描述】:
这不是以下内容的重复: Find distance between two points using latitude and longitude in mysql
我尝试了查询,但它不起作用,我得到空数据集和 0 作为 答案。
查看答案,这就是解决方案,我不知道为什么这个问题被标记为来自 Shadow 的重复
我有一个结构如下的表:
table: distance
id int(10) primary key
lat float,
lon float,
time timestamp
我有一个 android 应用程序,它可以 ping 我的服务器并在每次更改位置时添加一条记录。
例如
id:1, lat:40.753979, lon:-111.881721, time = 1571004620
id:2, lat:40.753979, lon:-111.883721, time = 1571004630
id:3, lat:40.753979, lon:-111.885721, time = 1571004640
如果我走一个方向,我可以计算总距离:
/* in my python script*/
startLat,startLon = select lat,lon from distance where time >= 1571004620 order by time limit 1;
endLat,endLon = select lat,lon from distance where time <= 1571004640 order by time desc limit limit 1;
然后我可以减去两个坐标,最终得到0.004000的经度距离
问题:
如果我添加:
id:4, lat:40.753979, lon:-111.881721, time = 1571004650
那么我应该得到:0.008000
但我得到 0,因为位置 1 与位置 4 相同
【问题讨论】:
-
考虑到您所说的问题的答案不重复确实有效,您确实应该解释您尝试过的内容以及您遇到的错误消息或意外行为。
-
我运行了查询,它没有返回预期的结果,它适用于非返回位置
-
@Shadow 我得到:空集(0.00 秒)第一个答案,我得到 0 第二个答案
-
由于我不知道您正在运行什么查询,因此我无法评论您的尝试出了什么问题。这就是为什么你应该在你的问题中包含这些尝试的确切代码。
标签: python mysql mysql-5.7 mysql-spatial