SQL фильтр геолокационного шума - PullRequest
0 голосов
/ 19 февраля 2020

для приложения, с которым я работаю, я сохраняю позицию (широту и долготу), используемую пользователем для своих поисков. Позже я хочу использовать эти данные в другом запросе, чтобы найти зону (среднее число точек), в которой пользователь выполняет большинство своих запросов. Проблема в том, что у меня может быть некоторый шум в данных из-за того, что пользователь выполняет некоторые спорадиальные c поиски. Я хотел бы отфильтровать этот шум. Вот наглядный пример:

+ +                                                     + + +
 ++                               +                       + + 
    ++

На приведенной выше сетке каждый + является зарегистрированным местоположением. В середине есть спорадиальный c поиск между двумя зонами, которые я хочу захватить (не важно, какая из них мне нужна, просто одна).

Я думал об использовании медианы, но в этом конкретном случае c вполне вероятно, что это вернет шум вместо одной из зон поиска.

Я думаю, что для этой задачи Я мог бы как-то использовать выражение group by вместе с where, но я не уверен как. Вот что у меня есть SQL:

SELECT p.lat, p.long FROM profilation p 
WHERE p.userId = ? AND -- what to put here?
GROUP BY -- what to put here? 

Я использую MySQL 5.

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...