GPS 方案总结

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。GPS 方案总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

GPS 方案

搜集网络上关于GPS的方案。

redis + mysql

redis 用来做设备或用户实时定位的查询。

mysql存储历史轨迹。存储时分两部分,一张表做实时查询用。一张表做备份用。如果需求为最多查询一个月的历史轨迹,那么实时查询表就只存储一个近一个月的轨迹数据。剩下的数据存到另一张表做备份。当然备份的方式有很多,你可以新建一张表存,或者csv存,或者存到其他数据库。

对于只查询历史轨迹的需求,那么在mysql中将经纬度存储成 decimal 类型即可。查询时根据时间戳进行查询(对时间戳建立索引,提高查询效率,当进行备份后,要重新构建索引)。

如果有类似查询两个点之间距离,当前点的方圆3公里内有哪些其他点位,查询球形曲面两点之间距离,存储一条路线,存一个区域,计算两个路线的交点等等几何上的计算。mysql支持的函数是相对较多的。

关于Geo数据类型mysql spatial-types,各种数据库(mongodb,ES)支持的类型都一模一样,都是point,linestring,polygon,multi······。

mysql对于Geo优化:建立索引SPATIAL INDEX

关于Geo的相关的函数:spatial-function

插入一个point记录:INSERT into geo_test(position) VALUES(ST_GeomFromText('POINT(39.984702 116.318417)'));

时序数据库

关于时序数据库存储GPS轨迹数据,各种好处:

知乎帖子

mongodb

也支持Geo,数据类型与mysql一模一样,支持的函数相对于mysql较少

ES

数据类型支持ES Geo

数据分析Geospatial analysis

可视化,Kibana的支持,这是使用ES的一个亮点,如果想快速集成GPS信息的监控,可以选择ES。

下面是官方的可视化效果图:

GPS 方案总结

ES的函数查询ES Geo query

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/195898.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!