Python|高德交通態勢介面爬取
一、 交通態勢爬取
1. 交通態勢介面
1)定義
交通態勢是高德地圖提供的HTTP介面,可以反饋一定區域道路的速度、擁堵狀況等屬性,具體參見http://lbs.amap.com/api/webservice/guide/api/trafficstatus#rectangle
2)爬取鏈接
http://restapi.amap.com/v3/traffic/status/rectangle?rectangle=116.351147,39.966309;116.357134,39.968727&key=<用戶的key>&extensions=all
採用矩形區域交通態勢查詢服務地址,同時因為需要獲得traffcinfo屬性下road列表中的所有信息,所以extensions設置為all
另外高德坐標獲取http://lbs.amap.com/console/show/picker
2. Python
1)基本思路
由於矩形有大小限制:10公里左右,因此首先需要將區域進行切分。然後,查詢切分後小方格中的交通態勢信息。
這裡運行過程中出現了一些問題,有些小方格的road中speed屬性無法正常導出,可能是因為speed值缺失,其他屬性都可以正常獲取。所以,在最終的代碼中將road屬性整體獲取。
2)核心代碼
區域切分的代碼網上都有,這裡放下後面查詢的代碼
二、 Excel數據處理
利用分列等excel基本操作,得到下面兩個表格。一個XY…是道路坐標集,後面會利用道路坐標集重新生成道路,另一個Stastus就是交通態勢了。這裡經緯度坐標需要利用工具從火星坐標轉換成地球坐標
三、 Arcgis可視化
1. XY點導入
利用Arcgis中Add XY data 導入XY…excel文件,形成道路點坐標
2. 生成道路線文件
利用Data Management Tools-Features-Points to Line就可以生成道路線文件
3. 關聯交通態勢,出圖
關聯交通態勢表,即status那張表,便可以將速度、擁堵程度可視化了。這裡爬取的是20:32分的數據,道路狀態基本暢通,平均速度30km/h以上。
推薦閱讀:
※王婕:開車買把香菜?停車只需2塊錢?我想我們對於停車問題的認知有點不同
※路上又添新車道!亂走罰款200元扣6分,車主注意
※道路窄、車輛多,東京竟然不堵車!簡直沒天理…
※這5種駕駛行為,高速上直接扣12分!