要了解原理的,看这里:纬度计算距离公式原理.
一、经纬度计算距离公式:
其中:
1、Long1 Lat1表示A点经纬度, Long2 Lat2表示B点经纬度;
2、a=Lat1 – Lat2 为两点纬度之差 b=Long1 -Long2 为两点经度之差;
3、6378.137为地球半径,单位为千米;
4、计算出来的结果单位为千米,若将半径改为米为单位则计算的结果单位为米;
5、计算精度与谷歌地图的距离精度差不多,相差范围在0.2米以下。
二、实战例子
处理前的数据长这样:
接下来就使用pandas包处理,这里要注意:这里数据的纬度、经度使用的是“度分”表示的,也就是说前两位用的是度,后两位用的是分,所以需要变换成”度“,再换算成“弧度”计算才合适。
import pandas as pd
import math
def read_file(filename):
f = pd.read_excel(filename)
print(f.iloc[:, [1, 3, 4]])
station_number = f.iloc[:, [1]