問題:
計算兩個POI(Point of In)之間的距離
思路:
1. 通過地址無法直接計算兩個location之間的距離,需要將地址轉(zhuǎn)化為經(jīng)緯度。
2. 在數(shù)據(jù)量較大的情況下,較好的方式時使用代碼調(diào)用在線地圖的API,批量處理。
輸入:
1.標(biāo)準(zhǔn)格式地址(xx省xx市xxxx)的csv文件?
工具:
1. Jupyter Notebook
2. 高德地圖
輸出:
1. 每個地址對應(yīng)的經(jīng)緯度
具體流程:
1. 注冊為高德開發(fā)者,獲取調(diào)用API的key。
2. 編寫Python代碼,將地址轉(zhuǎn)為經(jīng)緯度。
3. 檢驗生成的坐標(biāo)是否正確。
具體實現(xiàn):
1. 注冊為高德開發(fā)者,獲取調(diào)用API的key。
a.百度高德 - 高德開發(fā)平臺
b 注冊(右上角)- 登陸
c. 進(jìn)入控制臺(右上角)
d. 我的應(yīng)用(左上角) - 創(chuàng)建新應(yīng)用(右上角)
e. 更具實際情況填寫
f. 可使用服務(wù)選擇web服務(wù) - 提交
g.查看key
2. 編寫Python代碼,將地址轉(zhuǎn)為經(jīng)緯度。
Python代碼的主要內(nèi)容其實是對API接口的調(diào)用。查看高德官方的開發(fā)文檔,獲得以下必備的信息:
a.?地理編碼 API 服務(wù)地址
URLhttps://restapi.amap.com/v3/geocode/geo?parameters
請求方式GET
b. 必選參數(shù):
key,address
通過這些信息,我們明確了使用get的方式來調(diào)用api,即需要使用request庫。
3. 檢驗計算出的距離是否正確。
對比代碼得到的坐標(biāo)和高德地圖坐標(biāo)拾取器得出的坐標(biāo),發(fā)現(xiàn)基本上是一致的,有些細(xì)微的偏差,原因不明。