我對存儲由GPS座標(經度&緯度)和時間戳組成的GPS軌道的最有效(或最智能)方式感興趣。MongoDB:如何存儲包括時間戳在內的GPS軌跡
我在想這兩個思路:
gpsTrack = {
"gps_track" : {
"type": "FeatureCollection",
"features": [
{ "type": "Feature",
"geometry": {"type": "Point", "coordinates": [104.0, 0.3]},
"properties": {
"absolute_timestamp" : "2011-12-31T23:50:59Z"
}
},
{ "type": "Feature",
"geometry": {"type": "Point", "coordinates": [128.0, 0.5]},
"properties": {
"absolute_timestamp" : "2011-12-31T23:59:59Z"
}
}
] }
}
或者使用以GeoJSON點對多點和時間戳作爲數組。
gpsTrack = {
"geometry": {"type": "MultiPoint", "coordinates": [[104.0, 0.3], [128.0, 0.5]]},
"properties": {
"timestamps" : ["2011-12-31T23:50:59Z", "2011-12-31T23:59:59Z"]
}
航點總數假設爲4.000至10.000,但肯定低於100.000。對於第一個想法,恐怕集合會變得很長,因爲每個點和它的時間戳都是分開存儲的。而第二個想法更加緊湊並且使用MultiPoint GeoJSON類型。
感謝您的輸入。
是不是[LineString](https://docs.mongodb.com/manual/reference/geojson/#linestring)更適合跟蹤數據的'MultiPoint'? – barbakini
可能是,但你不能在MongoDB中做任何地理空間查詢。但我更關心如何加入時間戳。 – Matthias
MongoDB地理查詢也支持LineString。在lineString或MultiPoint旁邊,用於時間戳部分;如果你把座標子數組中的時間標記作爲第三個元素呢?我沒有嘗試,但很可能mongodb會忽略它的地理查詢,但你可以使用它,並且將不需要匹配座標數組和時間戳數組 – barbakini