<p>python根据地址获取经纬度并计算两个经纬度间距离。代码如下:</p><p><strong>python根据地址获取经纬度方法一:</strong></p><pre class="brush:python;toolbar:false">from geopy.geocoders import Nominatim #使用geopy查询 def geocodeN(address): gps=Nominatim() location=gps.geocode(address) return location.longitude,location.latitude</pre><p><span style="color: rgb(255, 0, 0);">使用Geopy包 : https://github.com/geopy/geopy (仅能精确到城镇,具体街道无结果返回)</span></p><p><strong>python根据地址获取经纬度方法二:</strong></p><pre class="brush:python;toolbar:false">import requests #使用高德API def geocodeG(address): par = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'} base = 'http://restapi.amap.com/v3/geocode/geo' response = requests.get(base, par) answer = response.json() GPS=answer['geocodes'][0]['location'].split(",") return GPS[0],GPS[1] #使用百度API def geocodeB(address): base = url = "http://api.map.baidu.com/geocoder?address=" + address + "&output=json&key=f247cdb592eb43ebac6ccd27f796e2d2" response = requests.get(base) answer = response.json() return answer['result']['location']['lng'],answer['result']['location']['lat']</pre><p><span style="color: rgb(255, 0, 0);">提示:使用高德地图或百度地图API,key可去官网申请替换</span></p><p><strong>计算两个经纬度间距离:</strong><br/></p><pre class="brush:python;toolbar:false">from math import radians, cos, sin, asin, sqrt #计算两点间距离-m def geodistance(lng1,lat1,lng2,lat2): lng1, lat1, lng2, lat2 = map(radians, [lng1, lat1, lng2, lat2]) dlon=lng2-lng1 dlat=lat2-lat1 a=sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 dis=2*asin(sqrt(a))*6371*1000 return dis</pre><p>以上就是“python根据地址获取经纬度并计算两个经纬度间距离”的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流。</p>