Как агрегировать геолокацию пользователя в реальном времени с помощью S2 Geometry Library при разных уровнях масштабирования? - PullRequest
0 голосов
/ 19 марта 2020

Я работаю над идеей, согласно которой каждый пользователь (~ 10 000 одновременных пользователей) передает свое географическое местоположение. Я хочу агрегировать пользователей и отображать на карте с одним указателем на разных уровнях масштабирования после этого. Если пользователь увеличивает или уменьшает масштаб, то этот указатель также распределяет и агрегирует пользователей в соответствии с этим конкретным уровнем масштабирования карта с использованием S2 Cells .

В начале любой пользователь увидит глобус точно так же, как Google Earth после этого. Если пользователь увеличивает или уменьшает масштаб в определенной позиции, то нам нужно агрегировать пользователей в соответствии с этим уровнем масштабирования пользователя (текущего).

Вначале я планировал использовать какой-нибудь потоковый инструмент, например Kafka и для потоковой передачи. инструменты обработки, такие как flink , и из внешнего интерфейса я буду передавать пользовательские данные, например, широта, долгота и границы долготы и широты от текущего уровня масштабирования , а во внутреннем интерфейсе я просто проверяю данные потока Если пользователи lat, long попадают в border lat, long , тогда просто верните этому пользователю его lat, long и просто p точка на карте, но это не то, что я хочу сделать, Я хочу объединить всех пользователей в определенном регионе и отобразить только один указатель после этого Если я увеличу масштаб изображения внутри этого указателя Затем он распространит указатель и покажет некоторые другие указатели. Если я просто увеличу максимальный уровень карты, то пользователи покажут отдельные.

Я хочу работать с <30 секундами </strong> агрегированием старых данных.

На внешнем интерфейсе я использую Mapbox, чтобы показывать пользователей на карте. Я хочу знать, как я могу использовать ячейки библиотеки S2 для агрегирования данных, а также я ищу, как сделать баланс уровней масштабирования Mapbox и уровней масштабирования S2.

enter image description here

На выходе что-то подобное указывает

1 Ответ

0 голосов
/ 21 марта 2020

Это не имеет ничего общего с Kafka или Streaming, кроме приема внутрь. Различные фреймворки Javascript (начиная с D3) уже предоставляют такую ​​возможность, и вы будете запрашивать данные из базы данных / API с помощью фильтров запросов вокруг поля координат отображения, а не непосредственно из потока

...