我在猪身上有一个袋子,按键分组,其值为经度和纬度。我想计算每个键的任意两个(经度,长度)对之间的最大距离;如果少于两人随后,输出应为0。PIG:计算纬度和经度对之间的最大距离
例如,如果我的包是
{(1): (1.1, 1.1),
(1): (2.1, 2.1),
(1): (3.1, 3.1),
(2): (1.1, 1.1)
}
我的答案是
{(1): 314 (km)
(2): 0
}
来计算两者之间的距离公式(拉特,长)对是:
(((lat1 - lat2) * pi() * 3959/180)^2 + ((long1 - long2) * 2 * pi() * 3959 * cos(((lat2 + lat1)/2) * .0174533)/360)^2)^(1/2)
是否有一种简单的方法来创建一个python udf来做到这一点?谢谢您的帮助。