流过滤地理空间数据

问题描述 投票:0回答:1

我正在开发一个客户端应用程序,可以在地图上显示来自各种来源的实时数据。如果同时传输太多资源,我担心性能问题或潜在的崩溃。我正在考虑创建一个中间人服务来根据用户当前在地图上查看的边界框 (BBOX) 过滤流数据。谁能提出一个技术解决方案或分享这个场景的实现方法?

最初的想法是存储实时数据,并创建一个获取边界框的 REST API,并为所有相关资源打开一个流式传输数据的进程。

apache-kafka architecture rabbitmq messaging mq
1个回答
0
投票

减少需要在地图上可视化的点数量的一种方法是使用geohashing,它基本上将附近的点聚集在网格上(不是基于半径!)。

geohashing basics

geohash 根据纬度和经度坐标计算最多 8 位长的 geohash。 如果您删除最后一位数字,那么您将得到的封闭框。

level 1 and 2

level 2 and 3

最精确的哈希有 19 米的误差,最不精确的哈希有 2 500 公里的误差。

我强烈推荐这个网站来熟悉这个概念以及地理哈希的工作原理:http://www.movable-type.co.uk/scripts/geohash.html

geohashing in action

© www.soinside.com 2019 - 2024. All rights reserved.