Поиск географически расположенных районов “Горячих точек”?
-
06-07-2019 - |
Вопрос
Добрый день,
В настоящее время я планирую проект веб-приложения / сервиса с пользовательской моделью с поддержкой геолокации (широта / спг и т.д.), И мне было интересно, каков был бы наилучший подход для определения n крупнейших "горячих точек", напримергеолокации с заданным радиусом (например,10 миль) где находится больше всего пользователей?
Кто-нибудь знает хороший, практичный алгоритм кластеризации или другое (существующее) решение (ы)?Я знаю, это довольно простой вопрос с высоты птичьего полета...но с точки зрения серверной технологии я по-прежнему открыт для всего, поскольку эта конкретная функция, очевидно, является лишь одной из всего набора функций, но может помочь принять решение в отношении определенного набора инструментов / языков / сред.
Приветствия и спасибо,
-Джей
Решение
Стоит обратить внимание на пространственные типы данных SQL Server.Это позволяет вам индексировать столбец география и выполнять запросы для определения расстояния.Не уверен, насколько легко было бы сгруппировать по радиусу, но, по крайней мере, наличие типа данных geography и построение индексов по нему должно сильно помочь в решении проблем такого типа.
Географические методы, поддерживаемые пространственными индексами