鍍金池/ 問答/Java  PHP  Python  HTML/ 請(qǐng)教 京東這種訂單軌跡的持久化方案是怎么做的?

請(qǐng)教 京東這種訂單軌跡的持久化方案是怎么做的?

京東包裹跟蹤(GIS)系統(tǒng)上線!所見。這種路線記錄持久化是怎么做的?想請(qǐng)教的問題有這么幾個(gè):

  • 需要保存哪些字段?(訂單號(hào),每隔一段時(shí)間的坐標(biāo))

  • DB的選擇?(MySQL 或者M(jìn)ongoDB,之前聽別人技術(shù)分享似乎用的是Mongo。MySQL如果專門建一個(gè)表用來保存訂單軌跡貌似有點(diǎn)搓)

  • 如今大火的共享單車(如ofo小黃車、摩拜單車)app中的也提供了類似查看自己騎車行程的功能。這與上述的京東訂單軌跡在系統(tǒng)設(shè)計(jì)上會(huì)有著什么相似之處呢?

望各位大神解答,謝過!

回答
編輯回答
舊顏

mysql可以使用 Spatial 空間數(shù)據(jù)類型, 里面有點(diǎn),線,面. 一個(gè)字段就能保存, 不需要建表.

https://dev.mysql.com/doc/ref...

2018年2月3日 20:17
編輯回答
懶豬

做過類似運(yùn)動(dòng)軌跡的應(yīng)用
軌跡其實(shí)就是坐標(biāo)點(diǎn)的數(shù)組
像京東包裹,快遞員的pda,在接受到配送訂單后,會(huì)按時(shí)間間隔上傳坐標(biāo)點(diǎn),用戶上去看的時(shí)候接受到的是全部的坐標(biāo)點(diǎn)的數(shù)組。
像共享單車或者是運(yùn)動(dòng)app這種,是 web 實(shí)時(shí)通過 原生app 獲取當(dāng)前坐標(biāo)點(diǎn),再追加到地圖上??梢悦扛乱欢螘r(shí)間的左邊上傳一次或者結(jié)束后完整上傳坐標(biāo)點(diǎn)數(shù)組。

2017年6月3日 04:08
編輯回答
病癮

路徑是GIS中的常見數(shù)據(jù)結(jié)構(gòu)MultiLine,只是簡(jiǎn)單的坐標(biāo)的數(shù)組,例如:

[[[0,0],[0,1],[1,2],[2,3]],[[3,4],[3,5].[5.6]]

至于位置的記錄頻率可以按照時(shí)間間隔來。
這種數(shù)據(jù)其實(shí)并不大,另外可以進(jìn)行壓縮,壓縮率很高的。

2018年4月16日 14:07