这不是重复的: 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 相同