python learning-108-calcula la distancia en función de las coordenadas de latitud y longitud

Prefacio:

   Calcula la distancia entre dos puntos de acuerdo con las coordenadas de latitud y longitud, y no puedes usar directamente la distancia euclidiana, porque la latitud y la longitud están en la superficie curva para calcular la influencia del arco. Por lo tanto, este artículo se implementa de acuerdo con el código de la fórmula de coordenadas de latitud y longitud.

Link de referencia:

https://blog.csdn.net/xiejm2333/article/details/73297004

oficial:

Código:

# -*- coding: utf-8 -*-
from math import sqrt
from math import cos
from math import sin
import math



def rad(d):
    return d * math.pi / 180.0

def getDistance(lat1, lng1, lat2, lng2):
    EARTH_REDIUS = 6378.137
    radLat1 = rad(lat1)
    radLat2 = rad(lat2)
    a = radLat1 - radLat2
    b = rad(lng1) - rad(lng2)
    s = 2 * math.asin(math.sqrt(math.pow(sin(a/2), 2) + cos(radLat1) * cos(radLat2) * math.pow(sin(b/2), 2)))
    s = s * EARTH_REDIUS
    print("distance=",s)
    return s
    
if __name__ == '__main__':
    lat1=40.109081
    lng1=116.61869
    lat2=40.090347
    lng2=116.594238
    getDistance(lat1, lng1, lat2, lng2)


 

Supongo que te gusta

Origin blog.csdn.net/u013521274/article/details/85078894
Recomendado
Clasificación