【Hive】依据GPS坐标计算球面距离

球面毕竟不像平面的笛卡尔坐标系那么方便,直接使用两点的GPS坐标做差再求平方和的方式,是非常不准确的。

假设有两点(lng1, lat1)(lng2, lat2),则二者的球面距离的计算方式在Hive SQL中的计算方式如下:

round(6378.138*2*asin(sqrt(pow(sin((lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin((lng1*pi()/180-lng2*pi()/180)/2),2)))*1000) as eta

参考链接

    原文作者:7ccc099f4608
    原文地址: https://www.jianshu.com/p/c35fc14387f6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞