Однажды я решил ту же проблему, которую вы описали для приложения по недвижимости, которое я написал недавно. То, что сработало для меня, было:
- Рассчитать центральную точку как-то
(центроид, средний лат и
или что-то в этом роде)
- Рассчитайте расстояния между этой воображаемой точкой и каждым из ваших реальных пинов
- Используйте алгоритм стандартного отклонения и удалите любой штифт, расстояние которого имеет StdDev>
2 (или любой другой порог для вас)
- Повторите шаги 1 - 3 (вы будете использовать новую центральную точку каждый раз
ты зациклился) пока больше нет
выбросы для удаления на шаге 3
Этот подход отлично подходит для моих нужд. Но я уверен, что есть более интересные способы решить ту же проблему, если вы посмотрите вокруг. Например, я нашел эту интересную статью CompSci ...
http://people.scs.carleton.ca/~michiel/outliers.pdf
Удачи!