用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

今天我們用python來獲取道路數據,并根據數據進行簡化和可視化分析

當今社會每個人都離不開導航

除了開車用導航外,其實走路、騎車、公交都可以導航

選址和找餐廳、酒店也需要

如果一個城市能夠標注所以公交廁所也是很有必要的。

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

當然,實現(xiàn)這一切都需要我們擁有道路數據,標示道路交叉路口、死胡同、紅路燈燈,并能夠計算道路長度,最短路徑和規(guī)劃線路。

今天實現(xiàn)這一切都依賴地圖公司的API接口和SDK,導航APP應用,利用這一切并不新鮮很是方便。比如如果你開發(fā)的APP需要具備這些功能可以直接利用百度LBS的API接口即可實現(xiàn)。

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

但如果我們需要進行分析型的道路分析和城市規(guī)劃應用,就需要有更好的辦法獲取道路數據,并能夠進行計算和建模,特別是網絡分析的建模和度量指標,在結合區(qū)塊區(qū)域Ploygon,興趣點POI等進行匹配分析,從而實現(xiàn)選址、整體布局、設施評價等帶來大數據分析的建模思想。

恰好前段時間看到一篇Geoff Boeing的博客提供了OSMnx的Python包,OSM是Open Street Map開源地圖數據庫,可以部分解決這個想法,非常棒,我們一起來玩玩!

我的環(huán)境是Mac系統(tǒng)安裝了Anaconda的Python環(huán)境,用Conda Install OSMnx包(說明:windows操作系統(tǒng)下安裝比較麻煩)

首先我們加載osmnx包

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

假如我們希望得到北京市朝陽區(qū)的交通道路數據,我們先熟悉一下朝陽區(qū)的區(qū)塊Polygon

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

選擇朝陽區(qū)后,可以得到朝陽的行政區(qū)塊數據

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

我們在看看能否得到更細致的區(qū)塊數據:北京大學校園占地區(qū)域

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

北京大學未名湖的Polygon數據

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析
用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

這樣我們大概可以了解,理論上我們可以得到OSM地圖上,全球范圍內的所有國家、地區(qū)、城市、區(qū)縣、小區(qū)、單位、建筑等,甚至是每一棟樓的區(qū)塊數據。當然前提是OSM地圖有這個Place標記。

下面我們看看如何獲得道路數據:

我們先以北京市的道路數據看看(數據量比較大,需要一定的等待時間)

北京市行政區(qū)域道路數據:

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

根據道路的距離可視化:距離越長顯示紅色,越短顯示黃色

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

根據道路的單行線標示顏色,紅色是oneway道路

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

我們也可以同樣得到朝陽區(qū)的道路數據,這里需要注意我們可以指定得到道路數據的類型:drive=駕駛,walk=步行,bike=自行車,包括指定公共道路和私家道路。

朝陽區(qū)內道路:walk類型

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

接下來,我們可以任意給定一個坐標點(經緯度坐標,lan-long),設定距離distance多遠,獲取坐標點距離多少的道路數據。

我以中國傳媒大學的俺家為中心點,距離2000米范圍,得到道路數據:

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

從圖中我們可以看到這些道路的打點數據,某些點數據有標示:交叉路口、紅路燈位置、死胡同等標示。

我們可以把獲得的道路數據保存下來,存儲成為:Shapefiles、GarphML和SVG格式文件。

這樣可以將存儲的node點數據和edge邊數據用Tableau或Alteryx,或者Folium進行可視化。

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

我們也可以根據數據類型對道路數據進行簡化,比如去掉一些點僅保留交叉路口點(有嚴格和非嚴格方式);

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

上面的紅色點將可以被簡化掉。

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

也可以顯示不同線路長度的可視化

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

我們獲得傳媒大學隔壁的二外道路數據:bike類型

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

然后我們統(tǒng)計這部分道路的統(tǒng)計量

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

看看betweenness-centrality的點在哪里?

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

這個紅點應該是二外的中介最高的交叉點。

有些同學可能不知道我們想分析或計算的坐標點,其實有很多種方法獲取特定位置的經緯度坐標,比如:你可以導入Folium可視化地圖包,點擊地圖就可以彈出經緯度坐標數據:

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

下面我們看看天安門,我選國旗位置點1500米范圍的道路數據:walk類型

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

獲得兩個點的最短路徑線路數據

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

也可以指定_起點:Origin_Point,終點:Destination_Point計算兩點的路徑和規(guī)劃線路節(jié)點

用python依賴地圖公司的API接口和SDK實現(xiàn)道路數據可視化分析

從這些功能和計算上我們可以看到:導航是如何實現(xiàn)的,當然我這里就是玩玩,并沒用具體的意義,至少同學們學習后可以知道基于地圖數據的線路規(guī)劃是啥意思,一般的原理!

其實這些算法的前景還是很廣泛的,可能能夠評測一家餐廳的道路方便性是重要的指標,選址和城市規(guī)劃也是。

最近好像共享自行車比較火,如果能夠獲得人們的騎行線路,分析的思路應該有幫助!

當然,最終的地理空間數據是大數據的重要組成部分,如果根據多邊形Ploygon和POI興趣點進行數據匹配和測算,從分析型挖掘的角度應用前景廣泛。后面我將繼續(xù)介紹些應用算法。

推廣思路上,我們可以想象地鐵線路、公交線路等等道理相似。未來的車聯(lián)網、道路傳感器都需要這些數據的支持!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 專業(yè)考題類型管理運行工作負責人一般作業(yè)考題內容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,648評論 0 13
  • 溫馨小貼士 本文慎入!泣血長文(花了鄙人近一周時間進行構思和寫作)!?。〕酝负臅r大概15分鐘,需流量1MB,但讀后...
    運營喵怎樣煉成閱讀 2,870評論 8 54
  • 摘要:從雙11出發(fā),DataV經歷過開源、產品化、打包解決方案、再到平臺化,數據大屏應用場景也從雙 11 電商作戰(zhàn)...
    暖夏未眠丶閱讀 2,408評論 0 6
  • 今天4月9號。其實原本應該31號寫總結的但總是由于各種各樣的事情延遲。 3月份做了什么呢? 準備4級考試,要背單詞...
    流水記憶閱讀 105評論 0 0
  • 本文主要收集整理了臺達常規(guī)用到的軟件,以方便使用臺達的客戶使用。 軟件均來自官網,軟件本人都安裝過在Windows...
    TomatoTor閱讀 3,562評論 0 1

友情鏈接更多精彩內容