我对您存储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 MultiPoint和时间戳作为数组。
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类型。
感谢您的意见。
答案 0 :(得分:1)
也可以使用坐标数组作为时间戳。很可能mongodb只会对前2个坐标对象感兴趣。您可以将时间戳作为第三个对象。
gpsTrack = {
"geometry": {
"type": "MultiPoint",
"coordinates": [
[104.0, 0.3, "2011-12-31T23:50:59Z"],
[128.0, 0.5, "2011-12-31T23:59:59Z"]]
}
}
像我说的那样,如果这违反了mongodb来对coordinates
进行地理查询,我就不会尝试。