python計(jì)算兩個(gè)地址之間的距離方法
我們調(diào)用高德地圖的API來計(jì)算經(jīng)緯度
#計(jì)算地址經(jīng)緯度
import requests
def geocode(address):
parameters = {'address': address, 'key': 'cb649a25c1f81c1451adbeca73623251'}
base = 'http://restapi.amap.com/v3/geocode/geo'
response = requests.get(base, parameters)
answer = response.json()
print(address + "的經(jīng)緯度:", answer['geocodes'][0]['location'])
lon = float(answer['geocodes'][0]['location'].split(',')[0])
lat = float(answer['geocodes'][0]['location'].split(',')[1])
geocode(address)
我們輸入下面兩個(gè)地址,得到相應(yīng)的經(jīng)緯度。
address1 ='上海市徐匯區(qū)桂箐路靠近華鑫天地'
address2 ='上海市徐匯區(qū)田林路200號(hào)華鑫天地C座3樓'
上海市徐匯區(qū)桂箐路靠近華鑫天地的經(jīng)緯度: 121.407124,31.169677 上海市浦東新區(qū)張江高科技園的經(jīng)緯度: 121.593357,31.214343 lon1 = 121.407124 lat1 = 31.169677 lon2 = 121.593357 lat2 =31.214343
#計(jì)算距離 from math import radians, cos, sin, asin, sqrt # 將十進(jìn)制度數(shù)轉(zhuǎn)化為弧度 lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # haversine公式 dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) r = 6371 # 地球平均半徑,單位為公里 return c * r * 1000
最終結(jié)果如下,兩個(gè)地方之間的距離約18公里
c * r * 1000 Out[58]: 18397.59615786144
以上這篇python計(jì)算兩個(gè)地址之間的距離方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用django-allauth實(shí)現(xiàn)第三方登錄的示例代碼
這篇文章主要介紹了用django-allauth實(shí)現(xiàn)第三方登錄的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
Python文件操作,open讀寫文件,追加文本內(nèi)容實(shí)例
本篇文章主要介紹了Python文件操作,open讀寫文件,追加文本內(nèi)容,具有一定的參考價(jià)值,有需要的可以了解一下。2016-12-12
pandas中DataFrame排序及分組排序的實(shí)現(xiàn)示例
本文主要介紹了pandas中DataFrame排序及分組排序,pandas中的sort_values()函數(shù)原理類似于SQL中的order by,可以將數(shù)據(jù)集依照某個(gè)字段中的數(shù)據(jù)進(jìn)行排序,下面就來具體介紹一下,感興趣的可以了解一下2024-04-04
Python中實(shí)現(xiàn)輸入一個(gè)整數(shù)的案例
這篇文章主要介紹了Python中實(shí)現(xiàn)輸入一個(gè)整數(shù)的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python實(shí)現(xiàn)簡單圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
pycharm調(diào)試功能如何實(shí)現(xiàn)跳到循環(huán)的某一步
這篇文章主要介紹了pycharm調(diào)試功能如何實(shí)現(xiàn)跳到循環(huán)的某一步問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
寫一個(gè)Python腳本自動(dòng)爬取Bilibili小視頻
這篇文章主要介紹了寫一個(gè) Python 腳本自動(dòng)爬取 Bilibili 小視頻的示例代碼,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
python nohup 實(shí)現(xiàn)遠(yuǎn)程運(yùn)行不宕機(jī)操作
這篇文章主要介紹了python nohup 實(shí)現(xiàn)遠(yuǎn)程運(yùn)行不宕機(jī)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04

