Определение, где анимировать карту, учитывая список GeoPoints - PullRequest
3 голосов
/ 12 мая 2010

Мое приложение для Android загружает некоторые маркеры наложения в MapView.
Маркеры размещаются на основе динамического списка GeoPoints.
Я хочу переместить центр карты и увеличить область с большинством элементов.
Наивно, я могу вычислить суперпозицию всех точек, но я хотел бы удалить из расчета точки, которые очень далеки от массы точек.
Есть ли известный способ рассчитать это? (например, вероятность, статистика ..?)

1 Ответ

1 голос
/ 28 января 2011

Однажды я решил ту же проблему, которую вы описали для приложения по недвижимости, которое я написал недавно. То, что сработало для меня, было:

  • Рассчитать центральную точку как-то (центроид, средний лат и или что-то в этом роде)
  • Рассчитайте расстояния между этой воображаемой точкой и каждым из ваших реальных пинов
  • Используйте алгоритм стандартного отклонения и удалите любой штифт, расстояние которого имеет StdDev> 2 (или любой другой порог для вас)
  • Повторите шаги 1 - 3 (вы будете использовать новую центральную точку каждый раз ты зациклился) пока больше нет выбросы для удаления на шаге 3

Этот подход отлично подходит для моих нужд. Но я уверен, что есть более интересные способы решить ту же проблему, если вы посмотрите вокруг. Например, я нашел эту интересную статью CompSci ...

http://people.scs.carleton.ca/~michiel/outliers.pdf

Удачи!

...