首页 新闻 赞助 找找看

mysql中如何将地理坐标拆成经度和纬度两份?

0
悬赏园豆:5 [已解决问题] 解决于 2019-10-09 14:27

mysql中如何将地理坐标拆成经度和纬度两份?
如下图所示,start_loc和end_loc是起止坐标,我的目的是求两坐标的距离。

cruelty_angel的主页 cruelty_angel | 初学一级 | 园豆:198
提问于:2019-08-25 23:59
< >
分享
最佳答案
0

已解决
分割经纬度:
SELECT f1, start_loc, end_loc,
SUBSTR(start_loc, 2, 17) AS 'start_weidu',
SUBSTR(start_loc, -19, 18) AS 'start_jingdu',
SUBSTR(end_loc, 2, 17) AS 'end_weidu',
SUBSTRING(end_loc, -19, 18) AS 'end_jingdu'
FROM processed_data;
距离计算
SELECT
start_jingdu, start_weidu, end_jingdu, end_weidu, ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
start_weidu * PI() / 180 - end_weidu * PI() / 180
) / 2
),
2
) + COS(start_weidu * PI() / 180) * COS(end_weidu * PI() / 180) * POW(
SIN(
(
start_jingdu * PI() / 180 - end_jingdu * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM jingweidu

cruelty_angel | 初学一级 |园豆:198 | 2019-08-26 02:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册