api实现鹰眼轨迹 php,技术教程| 百度鹰眼历史轨迹查询:轨迹抽稀功能
本文作者:用****9
本篇教程中,我們將詳細地說明鷹眼歷史軌跡查詢(gettrack接口)中,如何通過vacuate_grade選項對軌跡進行抽稀,以及不同的抽稀力度對軌跡產生的影響。
上一篇教程中,我們介紹了鷹眼歷史軌跡查詢(gettrack接口)中process_option糾偏字段中的need_mapmatch選項開啟之后,通過對軌跡點的綁路,使軌跡更平滑、更準確地還原出車輛真實的行駛路線。同時我們也注意到,綁路會增加很多道路的“形狀點”作為補充。這些補充出來的點在“多多益善”的角度上看,應該是好事,軌跡點越多,對車輛行駛路線的還原越“精細”,對轉彎、掉頭等軌跡細節的刻畫也更“準確”。然而過多的軌跡點,也會帶來負擔:網絡傳輸的帶寬異常珍貴,在某些對于精度要求不高的場合,過多的軌跡點對于稀缺的帶寬資源來說,反而是一種浪費;前端在軌跡的繪制時,點越多繪制的開銷也越大,在某些對繪制性能和出圖速度要求較高的場景下,過多的軌跡點也顯得“過猶不及”。
和糾偏選項類似,抽稀也可以指定不同的級別。抽稀力度由process_option字段中的vacuate_grade選項指定。
vacuate_grade=0時,代表不進行抽稀操作,vacuate_grade的值從1到5,抽稀的力度越來越大。也就是說vacuate_grade=1時,會對軌跡進行抽稀,這種抽稀力度最為保守,只會刪除盡可能少的點;而vacuate_grade=5時,抽稀的力度最為激進,將會刪除盡可能多的點,只保留最少量的軌跡點。
下面我們仍然以前兩節教程中的那條軌跡為例,詳細地演示一下,不同的抽稀力度對該軌跡的效果產生的影響,在此之前,在表1中,列出了各種抽稀力度下,保留的軌跡點個數,意圖先從數字的角度給大家一個整體的印象,之后再分別演示每種抽稀力度的詳細效果。
vacuate_grade=0 不進行抽稀的情況,如圖1所示:
圖1(不經過抽稀的軌跡) 我們看出,在沒有經過抽稀的情況下,該段軌跡共有777個軌跡點。冗余是比較嚴重的。
vacuate_grade=1
圖2中展示了vacuate_grade=1時,對整條軌跡的抽稀效果。軌跡點從777個驟降到36個,且比較好地保留了軌跡的原貌。
圖2(vacuate_grade=1時的軌跡整體圖)
抽稀后的軌跡放大后(圖3),可以看到在轉彎和掉頭等關鍵位置處的軌跡點,也很好地得到了保留,可以準確地還原車輛行駛路線的原貌。
圖3(vacuate_grade=1時的軌跡局部放大圖)
vacuate_grade=2
圖4中展示了vacuate_grade=2時,對整條軌跡的抽稀效果。軌跡點從36個進一步縮減到27個。
圖4(vacuate_grade=2時的軌跡整體圖)
對于力度1和力度2的區別,我們找到整體圖的右下角進行放大,詳細對比:
通過圖5和圖6的對比,我們發現,抽稀力度為2時,相比力度1的抽稀幅度很有限,在盡可能保留軌跡原貌的情況下,竭盡全力做了進一步的精簡。在絕大多數情況下,vacuate_grade=2已經是在不影響軌跡還原效果情況下的最強力度了,下文中我們可以看出,更大的軌跡力度將開始引起軌跡的準確性。所以vacuate_grade=2是鷹眼抽稀的默認力度。
vacuate_grade=3
圖7展示了在vacuate_grade=3的力度下,對軌跡的抽稀效果。軌跡點數由27進一步縮減到了16。
圖7(vacuate_grade=3時的軌跡整體圖)
需要注意的是,雖然從整體圖上看效果尚可,但局部放大后,我們將會發現,vacuate_grade=3的力度下,轉彎和掉頭的細節已經所剩無幾,開始影響對原始軌跡的刻畫了:
圖8(vacuate_grade=3時的軌跡局部放大圖)
vacuate_grade=4
圖9展示了vacuate_grade=4的抽稀力度下的軌跡,細節進一步缺失,因此我們不再展示局部細節圖了。除非該軌跡的目的是為了展示縮略圖,否則不推薦這個抽稀力度。
圖9(vacuate_grade=4時的軌跡整體圖)
vacuate_grade=5
圖10展示了抽稀力度為5的情況下,軌跡的整體圖,可以看出這個力度已經喪心病狂到了連縮略圖的效果都不能滿足的地步。
圖10(vacuate_grade=5時的軌跡整體圖)
總結
通過上文略顯繁瑣的演示,我們對不同抽稀力度下對軌跡的影響有了一個較為全面的了解。最后我們給出一些建議:
絕大多數情況下,使用vacuate_grade=1或2就可以保證很好的效果,如果你希望比較準確地還原車輛行駛的原貌,并在放大后的局部也能保存軌跡中的關鍵細節,那么你應當只在1和2這兩個力度中選擇,由于力度1下已經大幅減少了軌跡點的數量,一般情況下設置vacuate_grade=1即可,如果你要查詢很多量車的歷史軌跡,或者對網絡帶寬的成本非常敏感,那么設置vacuate_grade=2也有不錯的效果,是最高性價比的選擇,因此也作為鷹眼抽稀的默認級別。
如果查詢軌跡是為了繪制縮略圖,那么設置vacuate_grade=3或4是個明智的選擇,一般選擇3就可以。在各種常見的場景下都不推薦vacuate_grade=5這種力度的抽稀。
總結
以上是生活随笔為你收集整理的api实现鹰眼轨迹 php,技术教程| 百度鹰眼历史轨迹查询:轨迹抽稀功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flex布局实现div内容垂直居中
- 下一篇: AIR32F103CBT6还原DAP L