Как решить цикличность в сфере? - PullRequest
0 голосов
/ 24 ноября 2011

Я нахожу соседнюю ячейку A (lat1, 0) (in (lat, lon) и lon находится в диапазоне 0-360 градусов), поиск возвращает точку B: (lat2,359).

Я хочу определить, в каком квадранте находится B (используйте A в качестве исходной точки координат)?

В этой задаче у меня есть два вопроса: 1).Я могу использовать перекрестное произведение по 4-координатам, чтобы судить о направлении, но (lat2, 359) находится в правильном направлении согласно системе координат прямоугольной плоскости, и на самом деле я хочу (lat2, -1) вместо (lat2, 359)как бороться с делом?2).В сфере, в пределах какого километра я могу рассматривать расстояние как линию вместо большого круга?

Спасибо!

1 Ответ

0 голосов
/ 24 ноября 2011

Вы можете настроить долготу в диапазоне от -180 до 180. Это можно сделать, отрегулировав значение переменной следующим образом:

if (lon > 180.0) lon -= 360.0;

Или с помощью (lon > 180.0 ? lon - 360.0 : lon) вместо lon, что оставляет исходное значение lon без изменений.

Вероятно, вы должны сделать то же самое для широты.

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