地图上的路线轨迹在数据库中是怎上存储的

2019-06-17 13:47:47 +08:00
 sazima

比如某某打车的线路图, 是怎么标记的历史线路的呢?

3099 次点击
所在节点    问与答
11 条回复
opengps
2019-06-17 13:50:37 +08:00
一组坐标信息而已:客户端 id,经度,纬度,速度,角度,时间
opengps
2019-06-17 13:58:51 +08:00
如果是关系型数据存储,分享下我之前用过的 https://www.opengps.cn/Blog/View.aspx?id=284
kzfile
2019-06-17 14:03:11 +08:00
我们存就是存到专门的地理类型字段.
当然,存之前,还是需要处理一下,去除多余点
sujin190
2019-06-17 14:11:15 +08:00
这不就是和录音差不多原理么,按固定时间采样,比如 1 秒采样当前经纬度、速度和时间,然后压缩就可以了啊,压缩也就是去除相同方向速度的不同时间重复数据就可以了,最后数组保存就是了
sujin190
2019-06-17 14:12:15 +08:00
而且压缩之后只需保存经纬度和时间就可以了,并不复杂吧
sazima
2019-06-17 15:11:24 +08:00
@sujin190 @opengps @kzfile 也就是存一串, 前端根据坐标画出来路线是吗?
sazima
2019-06-17 15:11:56 +08:00
@sujin190 @opengps @kzfile 也就是存一串连续的坐标, 前端根据坐标画出来路线是吗?
sujin190
2019-06-17 15:20:08 +08:00
@sazima #7 对啊,再说地图本来也支持一堆坐标点绘路线图吧,不需要索引的话确实这样就可以了
xiang578
2019-06-17 15:23:13 +08:00
从地图数据商那里买过来的数据会将现实中道路转换成 link,link 会有起点和终点的 geo 坐标,数据库中会保存路线的 link 序列,前端展示时根据 link,去查 link 转 geo 表来画图。
xiang578
2019-06-17 15:24:45 +08:00
@xiang578 #9 补充一下 link 相当于图论中的边
opengps
2019-06-17 16:49:03 +08:00
@sazima 点的按顺序连线,就是线,参考百度地图的折线覆盖物 http://lbsyun.baidu.com/jsdemo.htm#c1_1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/574710

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX