У меня есть функция R, которую я не могу полностью понять, и я также хотел бы знать, что будет ее точным эквивалентом в Python. Это код:
distGeo(as.matrix(all_df[,c('longitude','latitude')]), c(0,0))
Я знаю, что здесь используется библиотека geosphere
, и я также знаю, что этот код используется для получения геодезического расстояния между 2 точками. Но я не могу понять, как это работает здесь. в документации geosphere
для этой функции distGeo
говорится, что p1
может быть вектором координат широты или матрицей из 2 столбцов.
Я вижу, что широту здесь принимают за матрицу с этими 2 столбцами с широтой и долготой, но позже у нас есть часть p2
, они говорят, что это должна быть вторая контрольная точка для расчета геодезического расстояния от. А если отсутствует p2
, то расстояние вычисляется между точками, указанными в p1
.
Теперь вопрос: каково будет значение p2
в этом случае? Это вектор c(0,0)
? или вычисляется расстояние между широтой и долготой, переданное в p1
? если да, то как это вообще возможно, поскольку расстояние будет рассчитываться между одним вектором координат широты и одним вектором координат долготы? чтобы получить что-то осмысленное, нужно рассчитать расстояния между 2 парами полных координатных векторов, верно?
И самое главное, какова роль вектора c(0,0)
здесь? и что будет точным эквивалентом этой строки кода в Python 3?
Я видел 2 пакета, которые могут справиться с этим, один пакет Geopy
, а второй пакет pyproj
. Но здесь мы должны указать тип эллипсоида, который мы используем для проецирования наших координат, и в фрагменте кода R не указан тип эллипсоида, кажется, что это не обязательный аргумент для передачи в функцию distGeo
для вычисления расстояния.
Любая помощь с этим будет высоко ценится. Заранее большое спасибо