2017-05-03 120 views

回答

0

您可以使用下面的方法計算兩個位置之間的距離。

from math import sin, cos, sqrt, atan2, radians 

def distance_between_zipcodes(lat1, lat2, lng1, lng2): 
    R = 6373.0 

    lat1 = radians(lat1) 
    lon1 = radians(lng1) 
    lat2 = radians(lat2) 
    lon2 = radians(lng2) 

    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = (sin(dlat/2))**2 + cos(lat1) * cos(lat2) * (sin(dlon/2))**2 
    c = 2 * atan2(sqrt(a), sqrt(1-a)) 
    distance = R * c 

    # km to miles 
    distance /= 1.609344 

    return distance 

LAT1當前位置的 =緯度

lon1 =當前位置的經度

LAT2的目的地位置

lon3 =目的地的經度 =緯度位置

[R地球

的=半徑

安裝geopy:

pip install geopy 

要計算緯度和經度:

from geopy.geocoders import GoogleV3 

def get_lat_lng(zip_code): 
    geocoder = GoogleV3() 
    location = geocoder.geocode(query=str(zip_code)) 

    if location: 
     address, lat, lng = location.address, location.latitude, location.longitude 

    return address, lat, lng 
+0

我建議找了GeoDjango內置 – e4c5