本文将介绍如何使用 Python 代码计算两个经纬度坐标点之间的距离,无需依赖 Geodesic 库。

import math

def calculate_distance(lat1, lng1, lat2, lng2):
    # 将经纬度转换为弧度
    rad_lat1 = math.radians(lat1)
    rad_lng1 = math.radians(lng1)
    rad_lat2 = math.radians(lat2)
    rad_lng2 = math.radians(lng2)

    # 计算经纬度的差值
    diff_rad_lng = rad_lng2 - rad_lng1
    diff_rad_lat = rad_lat2 - rad_lat1

    # 使用 Haversine 公式计算球面距离
    a = math.sin(diff_rad_lat/2)**2 + math.cos(rad_lat1)*math.cos(rad_lat2)*math.sin(diff_rad_lng/2)**2
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
    r = 6371  # 地球半径,单位为km
    distance = r * c

    return distance

其中,'lat1' 和 'lng1' 表示第一个点的纬度和经度,'lat2' 和 'lng2' 表示第二个点的纬度和经度,'distance' 表示两点之间的距离(单位为 km)。

该代码使用 Haversine 公式计算地球表面两点之间的距离,公式考虑了地球的球面形状。该方法简单易懂,在许多地理位置相关的应用中都能发挥作用。

Python 代码实现两点间距离计算(无需 Geodesic 库)

原文地址: https://www.cveoy.top/t/topic/nQ4y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录