要计算两组经纬度坐标之间的距离,我们可以使用大地测量学中的公式,例如Haversine公式或者更精确的Vincenty公式。这里我将使用Haversine公式,因为它适用于小范围内的距离计算,且计算相对简单。
Haversine公式的基本形式如下:
d = 2 * R * arcsin(sqrt(haversin(Δlat) + cos(lat1) * cos(lat2) * haversin(Δlon)))
其中,d是两点之间的距离,R是地球的半径(约6371千米或6371000米),Δlat和Δlon分别是纬度和经度的差值,lat1和lat2是两点的纬度。
首先,我们需要将经纬度转换为弧度单位:
lat1_rad = lat1 * π / 180
lon1_rad = lon1 * π / 180
lat2_rad = lat2 * π / 180
lon2_rad = lon2 * π / 180
然后,我们计算纬度和经度的差值:
Δlat_rad = lat2_rad - lat1_rad
Δlon_rad = lon2_rad - lon1_rad
接着,我们计算Haversine公式中的各项:
haversin_Δlat = sin(Δlat_rad / 2)^2
haversin_Δlon = sin(Δlon_rad / 2)^2
然后代入公式计算距离:
d = 2 * R * arcsin(sqrt(haversin_Δlat + cos(lat1_rad) * cos(lat2_rad) * haversin_Δlon))
最后,我们将距