Я пытаюсь найти координаты моей точки внимания (точка X, отмечена синим цветом). Я использовал устройство GPS своего автомобиля, чтобы собирать координаты в зависимости от того, где я припарковал свой автомобиль каждый раз, когда посещал точку x. Так что после выполнения этого упражнения в течение 16 дней мне удалось получить 16 наборов координат, распределенных вокруг моей точки внимания.
После нанесения этих координат на карту я заметил следующее: дважды или трижды из десяти мое устройство GPS выдавало неправильный набор координат, который оказался тихим вдали от точки X. Также из-за пробок иногда не в состоянии припарковаться близко к точке x и, следовательно, и в этом случае полученные координаты находятся далеко от точки X.
Проблема: из 16 полученных наборов координат, какой процесс я использую, чтобы сузить до одного набора координат, который находится в непосредственной близости от моей точки внимания (точка X)?
источник
Ответы:
Один из способов решения этой интересной проблемы состоит в том, чтобы рассматривать ее как надежную оценку центра двумерного распределения точек. (Хорошо известное) решение состоит в том, чтобы очистить выпуклые корпуса, пока ничего не останется . Центроид последнего непустого корпуса находит центр.
(Это относится к багплоту . Для получения дополнительной информации, поиск в Интернете «выпуклый пилинг корпуса многофакторный.»)
Результат для 16 иллюстрированных точек показан как центральный треугольник на этой карте. Три окружающих многоугольника показывают последовательные выпуклые корпуса. Пять отдаленных точек (30% от общего количества!) Были удалены в первые два шага.
Пример был вычислен в
R
. Сам алгоритм реализован в среднем блоке «выпуклый пилинг». Он использует встроеннуюchull
подпрограмму, которая возвращает индексы точек на корпусе. Эти точки удаляются с помощью отрицательного индексационного выраженияxy[-hull, ]
. Это повторяется до тех пор, пока последние точки не будут удалены. На последнем шаге центроид вычисляется путем усреднения координат.Обратите внимание, что во многих случаях проецирование данных даже не требуется: выпуклые корпуса не изменятся, если исходные элементы не будут охватывать антимеридиан (+/- 180 градусов по долготе), либо полюс, либо настолько обширными, что кривизна сегментов между ними будет Сделать разницу. (Даже тогда искривление не будет иметь большого значения, потому что шелушение все равно будет сходиться к центральной точке.)
источник