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