日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python利用百度地圖獲取兩地距離(附demo)

瀏覽:262日期:2022-06-14 15:26:04
目錄百度地圖開放平臺介紹需要用到的API編寫Python程序1.獲取對應(yīng)地點的經(jīng)緯度2.獲取兩地之間的距離3.合并函數(shù)調(diào)用4.進(jìn)行簡單的功能測試5.對Excel中的批量地點計算距離百度地圖開放平臺

進(jìn)入百度地圖開放平臺后,登陸用戶,點擊上方的控制臺,按照提示進(jìn)行激活后創(chuàng)建服務(wù)端類型的應(yīng)用,應(yīng)用名任意設(shè)置,其中白名單校驗不做任何限制可以填寫0.0.0.0/0。創(chuàng)建成功后畫面應(yīng)如下圖所示,其中訪問應(yīng)用AK)即途中紅色方框圈起來的部分一定要注意不要隨意泄漏,后面需要使用到,這是后面訪問需要用到的一串口令。

Python利用百度地圖獲取兩地距離(附demo)

介紹需要用到的API

本項目中所有使用的API均為Web服務(wù)API,官方開發(fā)文檔。

1.地點檢索服務(wù)

地點檢索服務(wù)(又名Place API)是一類Web API接口服務(wù);服務(wù)提供多種場景的地點(POI)檢索功能,包括城市檢索、圓形區(qū)域檢索、矩形區(qū)域檢索。開發(fā)者可通過接口獲取地點(POI)基礎(chǔ)或詳細(xì)地理信息。

我們利用這個API來獲取指定地點的經(jīng)緯度(lat, lng)兩個參數(shù)。

2.批量算路服務(wù)

批量算路服務(wù)(又名RouteMatrix API)是一套以HTTP/HTTPS形式提供的輕量級批量算路接口,用戶可通過該服務(wù),根據(jù)起點和終點坐標(biāo)計算路線規(guī)劃距離和行駛時間,RouteMatrix API V2.0支持中國大陸地區(qū)。

我們利用這個API來獲取兩個地點(用經(jīng)緯度來給出)之間的路線規(guī)劃距離。

編寫Python程序

0.需要用到的模塊

requests json1.獲取對應(yīng)地點的經(jīng)緯度

將傳入的address通過地點檢索服務(wù)得到其經(jīng)緯度,返回值為經(jīng)緯度對應(yīng)的字符串值,中間以逗號隔開,之后跟一個查詢返回狀態(tài),如果查詢失敗,狀態(tài)值不為0。

注意將代碼中的AK換成一開始截圖中的AK碼。

def getPosition(address): url = r'http://api.map.baidu.com/place/v2/search?query={}&region=全國&output=json&ak={}'.format(address,AK # 這里是一開始截圖用紅色圈起來的部分 ) res = requests.get(url) json_data = json.loads(res.text) if json_data[’status’] == 0:lat = json_data['results'][0]['location']['lat'] # 緯度lng = json_data['results'][0]['location']['lng'] # 經(jīng)度 else:print('[ERROR] Can not find {}.'.format(address))return '0,0', json_data['status'] return str(lat) + ',' + str(lng), json_data['status']2.獲取兩地之間的距離

將傳入的兩個地點(以經(jīng)緯度描述)通過批量算路服務(wù)得到之間的路線規(guī)劃距離。本范例是以駕車行駛(對應(yīng)參數(shù)為’driving’)的方式來進(jìn)行計算的。

同樣注意將代碼中的AK換成一開始截圖中的AK碼。

def getDistance(start, end): url = 'http://api.map.baidu.com/routematrix/v2/driving?output=json&origins={}&destinations={}&ak={}'.format(start,end,AK # 這里是一開始截圖用紅色圈起來的部分 ) res = requests.get(url) content = res.content jsonv = json.loads(str(content, 'utf-8')) dist = jsonv['result'][0]['distance']['value'] return dist3.合并函數(shù)調(diào)用

傳入兩個地點名,返回兩地點距離,當(dāng)某個地點查詢不到時,返回結(jié)果設(shè)置為-1。

def calcDistance(startName, endName): start, status1 = getPosition(startName) end, status2 = getPosition(endName) if status1 == 0 and status2 == 0:return getDistance(start, end) else:return -14.進(jìn)行簡單的功能測試

運行代碼輸出北京成都之間的距離,其單位為米。

Python利用百度地圖獲取兩地距離(附demo)

5.對Excel中的批量地點計算距離

將data.xlsx文件中的地點全部讀取并計算出距離,將結(jié)果保存到本地的result.xlsx文件中,其中我們將距離的單位設(shè)置為千米。主模塊代碼如下:

if __name__ == '__main__': data = pd.read_excel('data.xlsx') res = [] for i in range(0, len(data)):startName = data.iloc[i, 0]endName = data.iloc[i, 1]dist = calcDistance(startName, endName)res.append([startName, endName, dist / 1000]) pd.DataFrame(res).to_excel('result.xlsx',header=['起點', '終點', '距離'],index=None,encoding='utf-8' )

其中data.xlsx文件的內(nèi)容為:

Python利用百度地圖獲取兩地距離(附demo)

對應(yīng)的輸出result.xlsx文件內(nèi)容如下:

Python利用百度地圖獲取兩地距離(附demo)

附錄

# 本次整體的源代碼AK = '修改為你自己的AK碼即可使用'import pandas as pdimport requestsimport jsondef getPosition(address): url = r'http://api.map.baidu.com/place/v2/search?query={}&region=全國&output=json&ak={}'.format(address,AK # 這里是一開始截圖用紅色圈起來的部分 ) res = requests.get(url) json_data = json.loads(res.text) if json_data[’status’] == 0:lat = json_data['results'][0]['location']['lat'] # 緯度lng = json_data['results'][0]['location']['lng'] # 經(jīng)度 else:print('[ERROR] Can not find {}.'.format(address))return '0,0', json_data['status'] return str(lat) + ',' + str(lng), json_data['status']def getDistance(start, end): url = 'http://api.map.baidu.com/routematrix/v2/driving?output=json&origins={}&destinations={}&ak={}'.format(start,end,AK # 這里是一開始截圖用紅色圈起來的部分 ) res = requests.get(url) content = res.content jsonv = json.loads(str(content, 'utf-8')) dist = jsonv['result'][0]['distance']['value'] return distdef calcDistance(startName, endName): start, status1 = getPosition(startName) end, status2 = getPosition(endName) if status1 == 0 and status2 == 0:return getDistance(start, end) else:return -1if __name__ == '__main__': data = pd.read_excel('data.xlsx') res = [] for i in range(0, len(data)):startName = data.iloc[i, 0]endName = data.iloc[i, 1]dist = calcDistance(startName, endName)res.append([startName, endName, dist / 1000]) pd.DataFrame(res).to_excel('result.xlsx',header=['起點', '終點', '距離'],index=None,encoding='utf-8' )

到此這篇關(guān)于Python利用百度地圖獲取兩地距離的文章就介紹到這了,更多相關(guān)Python 百度地圖獲取兩地距離 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 百度 地圖 Python 編程語言
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品毛片一区二区在线看| 亚洲精品免费观看| 日韩高清三区| 亚洲一二三区视频| 亚洲精品乱码久久久久久蜜桃麻豆| 六月丁香综合| 日韩国产欧美在线视频| 国产乱码精品一区二区三区四区 | 国产成人精品一区二区免费看京 | 中文字幕免费精品| 亚洲一级大片| 日韩成人午夜精品| 久久av网址| 久久久久免费| 欧美一区二区性| 麻豆亚洲精品| 国产精品夜夜夜| 高清av一区| 亚洲精品小说| 日韩一二三区在线观看| 免费日韩成人| 欧美在线网站| 日韩av网站在线免费观看| 国产精品4hu.www| 婷婷激情一区| 在线观看亚洲精品福利片| 国产精品第一国产精品| 日韩免费小视频| 视频福利一区| 日韩精品一区第一页| 国产欧美视频在线| 97se综合| 最新国产拍偷乱拍精品| 国产欧美日韩一区二区三区四区 | 正在播放日韩精品| 亚洲深夜福利| 久久精品国产亚洲aⅴ| 日韩啪啪电影网| 亚洲精选久久| 欧美亚洲日本精品| 中文字幕中文字幕精品| 97精品97| 日韩激情视频网站| 99热国内精品| 国产精品久久乐| 欧美日韩高清| 久久99蜜桃| 噜噜噜躁狠狠躁狠狠精品视频 | 岛国av在线播放| 蜜臀久久99精品久久久画质超高清| 国产精品啊啊啊| 久久在线电影| 精品亚洲成人| 亚洲精品成人一区| 久久久久久久久久久妇女| 日本亚洲不卡| 91成人精品| 国产理论在线| 国产欧美日韩在线观看视频| 亚洲国产一区二区在线观看| 国产精品视频一区二区三区| 欧美 日韩 国产一区二区在线视频 | 日本久久一区| 中文另类视频| 久久久久久久久成人| 一区二区三区网站| 欧美va天堂在线| 精品美女久久| 日韩激情中文字幕| 亚洲男女自偷自拍| 久久婷婷丁香| 精品国产欧美日韩| 日韩和欧美一区二区| 91精品观看| av资源新版天堂在线| 国产精品亚洲欧美一级在线| 亚洲资源在线| 亚洲免费在线| 欧美日韩四区| 国产综合精品| 91精品国产乱码久久久久久久| 国内不卡的一区二区三区中文字幕 | 国产激情精品一区二区三区| 日韩 欧美一区二区三区| 久久电影一区| 99riav1国产精品视频| 欧洲精品一区二区三区| 久久久久久亚洲精品美女| 青草国产精品| 日本在线不卡视频| 午夜性色一区二区三区免费视频| 国产精品88久久久久久| 久久久精品日韩| 欧美sm一区| 三上悠亚国产精品一区二区三区 | 日韩午夜在线| 亚洲一区免费| 尹人成人综合网| 在线亚洲激情| 91精品91| 国产亚洲精品久久久久婷婷瑜伽| 黄色日韩在线| 亚洲一区二区三区高清不卡| 在线视频日韩| 亚洲精品高潮| 久久精品999| 国产精品22p| 久久影院一区二区三区| 国产自产自拍视频在线观看| 中文字幕在线视频久| zzzwww在线看片免费| 精品捆绑调教一区二区三区 | 国产午夜一区| 麻豆一区二区在线| 成人精品国产亚洲| 久久国产欧美| 午夜欧美视频| 日本一区二区中文字幕| 国产亚洲高清在线观看| 久久久久黄色| 五月激情久久| 国产精品美女久久久浪潮软件| 亚洲一区二区小说| 欧美亚洲tv| 狠狠久久伊人中文字幕| 久久久久99| 亚洲专区在线| 亚洲精品系列| 久久影视三级福利片| 午夜精品成人av| 国产美女精品| 欧美精品三级在线| 福利一区二区三区视频在线观看| 成人看片网站| 国产视频一区在线观看一区免费| 亚洲精品免费观看| 久久中文欧美| av一区二区高清| 国产亚洲观看| 偷拍精品精品一区二区三区| 日韩中文字幕麻豆| 欧美交a欧美精品喷水| 色婷婷综合网| 美女尤物久久精品| 久久爱www成人| 欧美成人日韩| 国产视频一区二| 欧美精品一区二区久久| 欧美日本三区| 久久国产日韩| 91精品美女| 欧美中文字幕一区二区| 青青国产91久久久久久| 91精品一区国产高清在线gif| 午夜性色一区二区三区免费视频| 九九九精品视频| 久久国产66| 国产三级精品三级在线观看国产| 色爱av综合网| 国产精品综合色区在线观看| 欧美va亚洲va日韩∨a综合色| 国产日韩欧美中文在线| 不卡一区综合视频| 国产一区二区三区四区五区| 国产美女一区| 日韩欧美一区二区三区免费看| 亚欧成人精品| 日韩精品影视| 麻豆中文一区二区| 日韩中文字幕一区二区三区| 性感美女一区二区在线观看| 国产精品99久久免费| 蜜桃av一区二区三区电影| 精品国产a一区二区三区v免费| 蜜桃91丨九色丨蝌蚪91桃色| 成人精品亚洲| 久久av导航| 日韩激情精品| 巨乳诱惑日韩免费av| 久久国产影院| 福利视频一区| 国产精品久久久久77777丨 | 五月婷婷亚洲| 日本一二区不卡| 国产日韩一区二区三区在线播放| 亚洲欧洲一区二区天堂久久| 国产精品分类| 日本亚洲最大的色成网站www| 免费观看不卡av| 久久影院午夜精品| 麻豆精品av| 国产欧美二区| 日韩精品视频网| 亚洲精品系列| 蜜臀精品一区二区三区在线观看 | 亚洲2区在线| 一区二区91| 亚洲丝袜美腿一区| 一区二区视频欧美| 久久精品二区三区|