您的位置:首页 > 数据库 > Oracle

Oracle根据两点经纬度计算两点距离

2017-12-27 19:19 3927 查看
Oracle数据库根据两点经纬度计算两点的距离

abs(6371.004 * acos(sin(纬度1) *sin(纬度2) * cos(经度1 - 经度2) +cos(纬度1) * cos(纬度2)) * acos(-1) / 180)
举例:现有两个坐标点A(经度1,纬度1),B(经度2,纬度2),现计算两点之间的直线举例:

abs(6371.004 * acos(sin(纬度1) *sin(纬度2) * cos(经度1 - 经度2) +cos(纬度1) * cos(纬度2)) * acos(-1) / 180)
在数据库中查询语句为:

SELECT abs(6371.004 * acos(sin(纬度1) *sin(纬度2) * cos(经度1 - 经度2) +cos(纬度1) * cos(纬度2)) * acos(-1) / 180) FROM dual
查询结果为公里为单位的距离
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: