Я не могу использовать результат scipy
pdist
. Меня интересует реальное географическое расстояние (предпочтительная единица: км). Возьмите следующие координаты:Измерение географического расстояния с помощью scipy
from scipy.spatial.distance import pdist
coordinates = [ (42.057, -71.08), (39.132, -84.5155) ]
distance = pdist(coordinates)
print distance
# [ 13.75021037]
Но что это за единица? Google говорит, что расстояние между этими двумя точками составляет 1179 км. Как мне добраться от 13.75021037?
'pdist', AFAICT, не имеет возможности читать координаты, как широта длиной. Он принимает их как векторы в (AFAICT) R^n. Я считаю, что вы хотите искать [сферическое расстояние] (http://www.johndcook.com/blog/Fpython_longitude_latitude) или [большое расстояние круга] (http://stackoverflow.com/questions/22562739/how-to-compare -Великолепная-круг-расстояние-с-евклидова расстояния-в-двумерной сфере точки? RQ = 1). – cphlewis
Лучшим инструментом для вас является география. См. Https://pypi.python.org/pypi/geopy на примере его использования для расчета геодезического расстояния между двумя точками, указанными с lat и long. –
@cphlewis: Спасибо за предложение. Одно замечание: Ваша первая ссылка, похоже, сломана. – MERose