地圖產(chǎn)品:地圖APP是怎么實(shí)現(xiàn)實(shí)時(shí)路況的
編輯導(dǎo)讀:對(duì)于習(xí)慣小轎車出行的人來說,了解路況是出門的第一步。通過地圖產(chǎn)品,可以知道當(dāng)前的交通情況,從而避開擁堵路段。這是如何做到的呢?本文作者通過自身工作經(jīng)驗(yàn),復(fù)盤了所做的路況真?zhèn)闻袛嗖呗?,總結(jié)策略產(chǎn)品工作方法,與你分享。
最近看了某著名科普up主關(guān)于導(dǎo)航軟件規(guī)劃路線的視頻,其中提到了一個(gè)梗,在德國(guó)柏林,一位名叫西蒙·弗雷克特的藝術(shù)家,一個(gè)人推著一輛小推車裝著99臺(tái)安卓手機(jī),在谷歌地圖上“癱瘓”一條街,讓很多司機(jī)繞道而行。
他是怎么做到的呢?從谷歌地圖上看,只要弗雷克特走到哪里,他后面的道路就是一條紅彤彤的擁堵線,這會(huì)讓很多司機(jī)甚至google map誤以為,這條路十分擁堵。
實(shí)際上,無論是國(guó)內(nèi)的百度地圖、高德地圖,還是海外的google map、waze,在點(diǎn)對(duì)點(diǎn)規(guī)劃路線和導(dǎo)航時(shí)一定會(huì)考慮到當(dāng)前和未來一定時(shí)間通過道路的擁堵、交通事件和限行等情況,實(shí)時(shí)道路情況是收集了裝有g(shù)ps的設(shè)備(也就是地圖產(chǎn)品的用戶)上報(bào)的數(shù)據(jù),利用大數(shù)據(jù)根據(jù)道路匹配計(jì)算出來的。
實(shí)時(shí)路況的真實(shí)性直接影響了地圖產(chǎn)品的用戶體驗(yàn)和產(chǎn)品的路徑規(guī)劃及導(dǎo)航能力,那么在以上這種情況,單單只是收集和呈現(xiàn)實(shí)時(shí)道路情況是遠(yuǎn)遠(yuǎn)不夠的,還需要深刻理解行人和車輛,行車和休息狀態(tài)等交通參與者的場(chǎng)景,判斷數(shù)據(jù)真?zhèn)巍?/p>
正好最近在做路況產(chǎn)品,借本文復(fù)盤所做的路況真?zhèn)闻袛嗖呗?,總結(jié)策略產(chǎn)品工作方法,所以本文先介紹常用的交通路況判斷方法以及項(xiàng)目中實(shí)際操作,再總結(jié)策略產(chǎn)品工作方法。
一、道路擁堵情況
各大地圖廠商收集實(shí)時(shí)路況的途徑無外乎以下幾種:
1. 交通傳感器和攝像頭
截止2009年,google通過路上的交通傳感器和攝像頭收集數(shù)據(jù),這些設(shè)備使用激光雷達(dá)或主動(dòng)紅外技術(shù)通過觀察汽車的總體尺寸和速度來檢測(cè)整體交通移動(dòng)的速度,政府交通部門和一些企業(yè)會(huì)在主要道路上安裝這些設(shè)備,然后把數(shù)據(jù)匯總到服務(wù)器上并且定時(shí)更新,google map就從這些來源獲取數(shù)據(jù),但是這種方式的缺點(diǎn)是覆蓋度和更新的及時(shí)性都不夠。
2. Crowdsourcing
2009年開始,google采用眾包數(shù)據(jù)(Crowdsourcing)的技術(shù),這種技術(shù)設(shè)計(jì)非常巧妙,可以更快速獲取實(shí)時(shí)交通數(shù)據(jù),服務(wù)器收集用戶地理位置、行駛速度、方向等數(shù)據(jù),通過大數(shù)據(jù)分析和路網(wǎng)匹配計(jì)算出道路的實(shí)時(shí)路況下發(fā)給客戶端。Crowdsourcing的精髓就在于此,從app的用戶設(shè)備上收集數(shù)據(jù)并實(shí)時(shí)上傳到服務(wù)器,快速分析和驗(yàn)證數(shù)據(jù),然后下發(fā)給用戶的客戶端。
3. TMC(Traffic Message Channel)
據(jù)說TMC公司大多采用浮動(dòng)車輛的形式,比如說跟某個(gè)出租車或者長(zhǎng)途車公司合作,在車上安裝定期實(shí)時(shí)回傳速度的車載設(shè)備,這樣就可以獲得每個(gè)路段的通過邏輯計(jì)算之后的平均車速,據(jù)此判斷路段的擁堵程度。
這里說到的路段其實(shí)不是我們實(shí)際理解的一條完整的路,在地圖上可以看到同一條路經(jīng)常不是完全變成了紅色,而是一段紅色,一段橙色,一段綠色。在渲染地圖和作用于導(dǎo)航時(shí),我們會(huì)把道路切分成更小的分段,每個(gè)分段被稱作一個(gè)link,道路的等級(jí),方向,名稱,坐標(biāo),范圍等信息都會(huì)記錄在對(duì)應(yīng)的link上,理論上link被分得越細(xì),導(dǎo)航的精度和地圖的渲染準(zhǔn)確度就會(huì)更高,所以當(dāng)每個(gè)link都被渲染上了代表不同擁堵程度的不同的顏色時(shí),就呈現(xiàn)出了實(shí)時(shí)路況的效果。
聯(lián)想自動(dòng)駕駛使用的高精地圖,所謂高精就在于1)數(shù)量密度,link劃分得足夠密集,甚至小于厘米級(jí);2)信息密度,除了普通導(dǎo)航地圖包含的靜態(tài)道路數(shù)據(jù)之外還具備秒或毫秒級(jí)更新的動(dòng)態(tài)道路數(shù)據(jù),如:道路擁堵情況、施工情況、是否有交通事故、交通管制情況、天氣情況等動(dòng)態(tài)交通信息。
二、交通事件
iOS 14.5 beta版本中對(duì)apple map提供了一項(xiàng)更新,用戶可以上報(bào)包含accident、hazard和speed check在內(nèi)的交通事件,被指抄襲waze-like features,Waze與google map、apple map等傳統(tǒng)地圖應(yīng)用的不同之處在于它是一個(gè)由社區(qū)驅(qū)動(dòng),收集用戶的地圖數(shù)據(jù)和其他信息,并學(xué)習(xí)用戶的駕駛時(shí)間,提供路線和實(shí)時(shí)路況更新的應(yīng)用程序。用戶可以報(bào)告事故、交通堵塞、速度和警察,并能更新道路、地標(biāo)、門牌號(hào)碼等。Waze還可以根據(jù)用戶的報(bào)告,確定附近最便宜的加油站。
Waze的交通事件主要有兩個(gè)來源:
1. 用戶上報(bào)
無論是否處于導(dǎo)航模式,用戶都可以隨時(shí)點(diǎn)擊按鈕上報(bào)交通事件,通過waze的驗(yàn)證過后向平臺(tái)上的所有用戶展示。
2. 對(duì)接DOT交通部門的監(jiān)控?cái)?shù)據(jù)
美國(guó)各個(gè)州的交通管理部門Department of Transportation提供了詳細(xì)的道路擁堵情況,實(shí)時(shí)交通事件,天氣預(yù)警,主要道路的實(shí)時(shí)監(jiān)控等。
三、交通事件真?zhèn)闻袛?/h2>
涉及到用戶上傳的內(nèi)容就肯定離不開內(nèi)容審核機(jī)制和反作弊機(jī)制,那么如何制定策略確保發(fā)布的交通事件的正確率呢?這里介紹我的思路,交通事件產(chǎn)品上線后,沒有添加任何反作弊和審核策略,空跑一個(gè)月之后,利用人工標(biāo)注10k樣本數(shù)據(jù)后發(fā)現(xiàn)只有43%的準(zhǔn)確率,大量的虛假和錯(cuò)誤的交通事件對(duì)用戶體驗(yàn)造成了影響,需要開發(fā)策略自動(dòng)判斷路況的真實(shí)性,進(jìn)一步的策略是對(duì)于道路不匹配的交通事件匹配到對(duì)應(yīng)的路網(wǎng)上。
1. 路網(wǎng)匹配
交通事件之于路網(wǎng),就是點(diǎn)之于線的關(guān)系,點(diǎn)一定存在于線上,考慮交通事件的地址位置一定要匹配在對(duì)應(yīng)的路網(wǎng)上,想象一下一個(gè)擁堵事件發(fā)生在居民小區(qū)內(nèi)、一個(gè)車禍?zhǔn)录l(fā)生在公園內(nèi)是不是不太符合實(shí)際情況,所以可以直接排除沒有對(duì)應(yīng)路網(wǎng)的事件,于是這里得到:以某個(gè)event的坐標(biāo)為圓心10m為半徑的路況一定要完全匹配在一條路上。
2. 時(shí)間關(guān)系
對(duì)于城市的擁堵和交警測(cè)速的情況,通常來說有嚴(yán)格的時(shí)間段限制,擁堵會(huì)發(fā)生在白天高峰時(shí)期,交警測(cè)速也會(huì)發(fā)生在白天上班時(shí)間,所以可以排除local time凌晨時(shí)段發(fā)生的這兩種事件,于是得到:traffic和speed check的創(chuàng)建時(shí)間在6am-9pm之間。
3. 用戶和事件可信度
用戶信任度可以單獨(dú)拆分出很多細(xì)分策略,簡(jiǎn)單方法是假設(shè)每個(gè)用戶都擁有相同的初始信用分,每提交一次false event信用分降低,隨著用戶信用分降低到不同分段閾值之下時(shí),用戶上報(bào)event的授信程度也隨之降低。當(dāng)信用分降低到某個(gè)閾值以下時(shí),系統(tǒng)不再相信該用戶上報(bào)的所有event。
反之,用戶每提交一次true event則信用分上漲,當(dāng)信用分上浮到不同分段閾值之上時(shí),在漏判的情況下,事件的可信程度增加;另外一個(gè)思路是假設(shè)每個(gè)事件都擁有相同的初始信用分,除以上兩條策略可以直接導(dǎo)致路況變?yōu)椴槐恍湃蔚那闆r之外,其他用戶對(duì)事件的認(rèn)可會(huì)增加事件的持續(xù)時(shí)間(但不超過每類事件的持續(xù)時(shí)間上限),反之其他用戶對(duì)事件的不認(rèn)可會(huì)減少事件的持續(xù)時(shí)間,直到降低到某個(gè)比例之下時(shí),事件被視為不被信任,于是得到跟用戶提交歷史和用戶對(duì)事件的互動(dòng)產(chǎn)生的可信度策略。
4. 多源驗(yàn)證
多源驗(yàn)證可以直接幫助我們更好的去偽存真,那么直接對(duì)接交管部門官方發(fā)布的數(shù)據(jù)則是最簡(jiǎn)單有效的手段。
以上幾條策略上線之后,可以把事件分類成可信和不可信兩類,再繼續(xù)利用同期人工標(biāo)注10k樣本,用分類問題的評(píng)價(jià)指標(biāo)來評(píng)估策略的效果。
由于我定義的理想態(tài)是100%的事件都能且能被正確分類也就是accurancy=100%,目前準(zhǔn)確率不足50%,決定開啟下一輪產(chǎn)品循環(huán),下一步的思路是拆解未達(dá)到理想態(tài)的case,我隨機(jī)抽樣沒有被正確分類的樣本中的10%,并做分類統(tǒng)計(jì),分析斷錯(cuò)誤原因。
通過對(duì)錯(cuò)誤分類原因的綜合影響面,問題嚴(yán)重程度以及問題解決成本三個(gè)因素考慮,決定下一輪產(chǎn)品解決方案中優(yōu)先修復(fù)路網(wǎng)匹配和時(shí)間關(guān)系。
1)匹配到了低級(jí)道路但沒有匹配到高級(jí)道路
上個(gè)版本中我只匹配level1-2等級(jí)的公路,但是實(shí)際上交通事件是可能發(fā)生在level3-5等級(jí)的道路上的,所以要把匹配道路的等級(jí)放寬。
2)gps偏移
國(guó)外的公路基本上都是在山區(qū)沙漠當(dāng)中,gps的準(zhǔn)確度跟網(wǎng)絡(luò)環(huán)境,用戶設(shè)備,應(yīng)用設(shè)置的精準(zhǔn)度等等客觀條件均有影響,那么在公路環(huán)境條件下,gps的準(zhǔn)確度會(huì)大大受到影響,于是在計(jì)算用戶位置是否位于道路內(nèi)部時(shí),對(duì)道路邊界做一定延展以減少gps偏移帶來的誤差。
3)位于休息站附近
用戶提交的交通事件常常位于高速服務(wù)區(qū)附近,于是猜想即使用戶在高速上遇到了堵車車禍等交通事件,也傾向于先進(jìn)入服務(wù)區(qū)再上報(bào),對(duì)于這種case,如果一個(gè)事件位于高速服務(wù)區(qū)內(nèi),則系統(tǒng)把這個(gè)事件的位置改到臨近的高速路上,而不是直接判定為錯(cuò)誤。
4)時(shí)間關(guān)系
由于服務(wù)時(shí)間是UTC時(shí)間,人工標(biāo)注時(shí)認(rèn)為utc時(shí)間就是local time,所以導(dǎo)致了標(biāo)注判斷錯(cuò)誤,這里直接把utc時(shí)間轉(zhuǎn)換成local time重新標(biāo)注即可。
項(xiàng)目上線后繼續(xù)通過指標(biāo)驗(yàn)證策略解決問題的效果,根據(jù)效果覺得是否開啟下一輪產(chǎn)品循環(huán),直至達(dá)到理想態(tài)。
四、總結(jié)-策略產(chǎn)品工作方法
- 定義理想態(tài)
- 拆解未達(dá)理想態(tài)的情況
- 提出解決方案
- 驗(yàn)證是否解決
本文由 @小林 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
作者好~,現(xiàn)在路況都是道路級(jí)別的,請(qǐng)問是否可以做到車道級(jí)路況,是否有必要做到車道級(jí)路況,車道級(jí)路況對(duì)于車道級(jí)導(dǎo)航和自動(dòng)駕駛有什么影響?
寫的也太好了吧
這么low么,以為采用的遙感熱力值呢