У меня есть DATAFRAME:
+----------+----------+
| longitude| latitude|
+----------+----------+
|-7.1732833|32.0414966|
|-7.1732844|32.0414406|
|-7.1732833|32.0414966|
|-7.1732833|32.0414966|
|-7.1732833|32.0414966|
|-7.1732833|32.0414966|
Я хочу вычислить расстояние между точкой и точкой преемника, например:
distance between (-7.1732833,32.0414966) et (-7.1732844,32.0414406)
код, который я сделал:
def haversine_distance(longitude1 : Double,latitude1 : Double,longitude2 : Double,latitude2 : Double) : Double= {
val R = 6372.8;
val dlat = math.toRadians(latitude2 - latitude1);
val dlog = math.toRadians(longitude2 - longitude1);
val a = math.sin(dlat / 2) * math.sin(dlat / 2) + math.cos(math.toRadians(latitude1)) * math.cos(math.toRadians(latitude2)) * math.sin(dlog / 2) * math.sin(dlog / 2)
val c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
val distance = R * c;
return distance
}
Мой вопрос: как просмотреть кадр данных, чтобы я мог вызвать функцию haversine_distance, используя координаты долготы и широты кадра данных. Благодаря.