apache-kafka - 如何在不同缩放级别使用 S2 几何库聚合用户的实时地理位置?
问题描述
我正在研究每个用户(约 10,000 个并发用户)都在流式传输他们的地理位置的想法。我想聚合用户并在地图上使用一个指针以不同的缩放级别显示,如果用户放大或缩小,那么该指针也会使用S2 Cells根据地图的特定缩放级别分布和聚合用户。
一开始任何用户都会像谷歌地球一样看到地球,如果用户在某个位置放大或缩小,那么我们需要根据用户的缩放级别(当前)聚合用户。
一开始,我计划使用像Kafka这样的流式处理工具和像flink这样的流式处理工具,我将从前端流式传输用户数据,例如纬度、经度和边界经度和纬度,从当前缩放级别和在后端,我只需检查流数据如果用户lat,long落在边界 lat,long则只需返回该用户及其 lat,long 并在地图上精确定位,但这不是我想做的,我想聚合所有用户在特定区域并仅显示一个指针之后,如果我放大该指针内部,它将分发指针并显示其他一些指针。如果我只是放大地图的最大级别,那么用户会显示个人。
我想处理< 30 秒的旧数据聚合。
在前端,我使用 Mapbox 在地图上显示用户。我想知道,如何使用 S2 Library Cells 来聚合数据,我也在寻找如何平衡 Mapbox Zoom Levels 和 S2 Zoom Levels。
类似的输出点
解决方案
除了摄取之外,这与 Kafka 或 Streaming 无关。各种 Javascript 框架(从 D3 开始)已经提供了这样的功能,您可以使用显示坐标框周围的查询过滤器从数据库/API 中查询数据,而不是直接从流中查询
推荐阅读
- java - 如何将大量文件从 S3 文件夹复制到另一个文件夹
- r - 基于任意多列中的字符串匹配在一列中创建一个值
- c - 阴影声明不会产生任何警告
- database - 将数据插入 Android SQLite 数据库时出现空指针异常
- android - 在用户同意的情况下将推荐人意图传递给第三方指标库
- java - NoSuchFieldError:id_tc26_signwithdigest_gost_3410_12_256
- .htaccess - 如何将文件夹中的文件子集重定向到不同的文件夹?
- go - 如何使用 go 导入器
- mongodb - 查询 mongodb 数组中的嵌套文档
- excel - VBA 字典