MySQL如何计算同一张表中同一用户相邻两行之间的地理距离,已知经纬度……数据格式如下,要求出同一个用户的记录中相邻两行的地理距离,注意是计算同一个用户的相邻两行涉及到的距离,感
来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 14:51:20
MySQL如何计算同一张表中同一用户相邻两行之间的地理距离,已知经纬度……数据格式如下,要求出同一个用户的记录中相邻两行的地理距离,注意是计算同一个用户的相邻两行涉及到的距离,感
MySQL如何计算同一张表中同一用户相邻两行之间的地理距离,已知经纬度……
数据格式如下,要求出同一个用户的记录中相邻两行的地理距离,注意是计算同一个用户的相邻两行涉及到的距离,感激不尽!
user_id latitude(纬度) longitude(经度)
0 23.5423646546 -114.5423646546
0 24.4654562364 -114.0975782943
0 23.2364465456 -113.2364652943
1 34.4792402476 -118.4578236465
1 34.8798675432 -117.2364678438
最好在MysQL中实现,如果效率太低的话,在Matlab实现亦可,
MySQL如何计算同一张表中同一用户相邻两行之间的地理距离,已知经纬度……数据格式如下,要求出同一个用户的记录中相邻两行的地理距离,注意是计算同一个用户的相邻两行涉及到的距离,感
实现的话,貌似主要是两个环节
1 先得到用户的两个相邻点的经纬度.
先把表处理成带唯一标识字段的(uid),便于下一步取出经纬度.表T(uid,user_id,latitude,longitude)
生成一个视图,取得两个相邻点经纬度.
create view vt as
select A.user_id,A.latitude latitudeA,A.longitude longitudeA
,B.latitude latitudeB,B.longitude longitudeB
from T A inner join T B
ON A.user_id=B.user_id AND A.uid