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

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

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

  • 需要保存哪些字段?(訂單號,每隔一段時間的坐標)

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

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

望各位大神解答,謝過!

回答
編輯回答
舊顏

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

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

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

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

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

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

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

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

2018年4月16日 14:07