Как узнать направление движения, используя только GPS? - PullRequest
0 голосов
/ 27 декабря 2010

Как узнать направление движения (N, NE, E, SE, S, SW, W, NW) на iPhone, используя только информацию от GPS (долгота и широта)?

Iне хочу использовать компас, потому что он не всегда точен.

1 Ответ

2 голосов
/ 27 декабря 2010

Просто возьмите текущие координаты в два отдельных момента и вычтите их.Вот некоторый псевдокод (извините, я не говорю на Objective-C):

start <- get current position
wait some time
end <- get current position
direction = end - start

Это даст вам вектор, который указывает в текущем направлении.Чтобы получить его в качестве угла, вы можете использовать векторное произведение .

product <- start.lat * end.lat + start.lng * end.lng
start_length <- sqrt(start.lat^2 + start.lng^2)
end_length <- sqrt(end.lat^2 + end.lng^2)
angle <- arccos(product/(start_length * end_length))

. Учитывая угол, вы можете легко получить основное направление.Просто посмотрите, какой из них ближайший.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...