2009-02-24 9 views
4

Скажите, что у вас есть n GPS-координаты, как вы могли бы определить центральную точку GPS между ними?Координаты триангуляции GPS

+0

Defined "центральная точка"? Вам нужна какая-либо точка внутри выпуклого корпуса вокруг точек, геометрический центр или что? –

+0

Я просто пытаюсь оценить свою позицию на основе известных gps-координат точек доступа Wi-Fi и сигналов, которые я могу получить от них. – Malachi

+0

В этом случае вы, вероятно, захотите выполнить привязку наименьших квадратов, точно так же, как GPS делает сам. Но это сложно. –

ответ

9

В случае это помогает кому сейчас или в будущем, вот алгоритм, это справедливо и для точек вблизи полюсов (если она действует на всех, то есть, если я не сделал глупую математику ошибки ;-):

  1. Преобразование координат широты/долготы к 3D декартовы координаты:

    x = cos(lat) * cos(lon) 
    y = cos(lat) * sin(lon) 
    z = sin(lat) 
    
  2. вычислить среднее значение х, среднее значение у, а-е е среднее г:

    x_avg = sum(x)/count(x) 
    y_avg = sum(y)/count(y) 
    z_avg = sum(z)/count(z) 
    
  3. Преобразование это направление обратно широты и долготы:

    lat_avg = arctan(z_avg/sqrt(x_avg ** 2 + y_avg ** 2)) 
    lon_avg = arctan(y_avg/x_avg) 
    
+0

Отдел на ноль! –

+0

arctan (x/0) = pi/2 * sign (x) –

+0

Но я думаю, вы действительно поднимаете точку, фактическая реализация, вероятно, будет использовать функцию arctan2 (num, denom). –

4

Зависит от того, что вы подразумеваете под центральной точкой GPS. Вы могли бы просто взять среднее значение всех очков, как было предложено Стивеном, - но имейте в виду, что координаты GPS не являются непрерывными - это неэффективно скажется на таких разрывах, как полюса.

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

Вы также можете посмотреть все ограниченные им точки, рассчитать все расстояния до каждой точки GPS и свести к минимуму сумму расстояний до всех точек GPS. Для этого вам понадобятся подробные вычисления.

Кроме того, каждый GPS может иметь более высокую или меньшую степень неопределенности, вы должны учитывать это и соответственно взвешивать их.

Что именно вы пытаетесь выяснить?

-Adam