Apache kafka 如何使用S2几何体库在不同的缩放级别聚合用户的实时地理位置?

Apache kafka 如何使用S2几何体库在不同的缩放级别聚合用户的实时地理位置?,apache-kafka,apache-flink,geospatial,aggregation,s2,Apache Kafka,Apache Flink,Geospatial,Aggregation,S2,我正在研究一个想法,让每个用户(约10000个并发用户)都能通过流媒体传输他们的地理位置。我想聚集用户并在地图上以不同的缩放级别显示,如果用户放大或缩小,则该指针也会根据地图的特定缩放级别使用S2单元格分布和聚集用户 开始时,任何用户都会看到globe,就像google earth一样,如果用户在某个位置放大或缩小,那么我们需要根据用户的缩放级别来聚合用户(当前) 开始时,我计划使用一些流媒体工具,如Kafka,对于流媒体处理工具,如flink,我将从前端流媒体用户数据,如纬度、经度和边界经度和

我正在研究一个想法,让每个用户(约10000个并发用户)都能通过流媒体传输他们的地理位置。我想聚集用户并在地图上以不同的缩放级别显示,如果用户放大或缩小,则该指针也会根据地图的特定缩放级别使用S2单元格分布和聚集用户

开始时,任何用户都会看到globe,就像google earth一样,如果用户在某个位置放大或缩小,那么我们需要根据用户的缩放级别来聚合用户(当前)

开始时,我计划使用一些流媒体工具,如Kafka,对于流媒体处理工具,如flink,我将从前端流媒体用户数据,如纬度、经度和边界经度和纬度,从当前缩放级别开始,在后端,如果用户lat,long落入边界lat,long中,我只需检查流数据,然后返回该用户的lat,long,并在地图上精确定位,但这不是我想要做的,我想聚集特定区域的所有用户,然后只显示一个指针,如果我在该指针内缩放,它将分发指针并显示其他一些指针。如果我只是在地图的最大级别放大,那么用户会显示个人

我想处理<30秒旧数据聚合

在前端,我使用Mapbox在地图上显示用户。 我想知道,如何使用S2库单元格来聚合数据,我还想知道如何平衡Mapbox缩放级别和S2缩放级别


类似这样的输出指向

这与卡夫卡或流媒体无关,而与摄入无关。各种Javascript框架(从D3开始)已经提供了这样的功能,您可以使用显示坐标框周围的查询过滤器从数据库/API中查询数据,而不是直接从流中查询数据

实际上我正在创建一个移动应用程序,而不是web应用程序。你能解释一下我可以用哪个实时数据库进行查询吗?所以你知道,PWA既是一个移动应用程序,也是一个网络应用程序。Javascript可以加载到webview中。您可以用Flutter或React-Native编写代码。。。尽管如此,Javascript与视觉效果的结合远远超过我所知道的任何移动sdk。。。而且您不会直接从移动设备查询数据库,通常会先构建一个web API。数据库在这里不是很重要(忘记实时要求),只要它能做地理查询。。。这里流行的选择可能是Mongo或Postgres