Имею задачу вычислять азимут в градусах и расстояние в метрах между двумя точками. Точки рядом (несколько километров). Координаты ЖПС-чип выдает в виде градусов с десятичной точкой. Вычисляться будет в мелкоконтроллере, но ребята сказали найти формулу в человекопонятном виде.
Нашел формулы с синусами\косинусами, вогнал в ексель, считаю расстояние между точкой и самой собой - а оно ненулевое. Оппа. Оказывается, жуткая стереометрия дает чуточка ошибку в малозначащих знаках. Которые на местности могут вылиться в десятки метров. Не хотелось бы (для пешего то режима).
Что делать? Может как-то в тригонометрическую задачу можно преобразовать?
<noindex></noindex>
Для рассчета азимута и рсстояний для близких точек?
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
|
||
Re: Для рассчета азимута и рсстояний для близких точек?
Спасибо. Видел.
В принципе приемлемо. Теперь возник второй вопрос - как часто опрашивать приемник и проводить вычисления.
Для вычисления азимута, мне подумалось - можно разбить плоскость на расходящиеся сектора. Так сказать сектора равного азимута. Шириной например 15градусов. И изменять значение целевого азимута при пересечении границы этих секторов. В каждом конкретном случае кратчайшее расстояние до границы - вполне себе решаемая геометрическая задача. Зная расстояние до границы и максимальную скорость (пешехода, обычно) - можно знать время через которое надо в следующий раз опросить приемник.
Ибо не хочется тратить батарейки на опрос ЖПС и вычисление азимута, если от точки находишься далеко - и до заметного изменения азимута надо несколько часов идти.
<noindex></noindex>
В принципе приемлемо. Теперь возник второй вопрос - как часто опрашивать приемник и проводить вычисления.
Для вычисления азимута, мне подумалось - можно разбить плоскость на расходящиеся сектора. Так сказать сектора равного азимута. Шириной например 15градусов. И изменять значение целевого азимута при пересечении границы этих секторов. В каждом конкретном случае кратчайшее расстояние до границы - вполне себе решаемая геометрическая задача. Зная расстояние до границы и максимальную скорость (пешехода, обычно) - можно знать время через которое надо в следующий раз опросить приемник.
Ибо не хочется тратить батарейки на опрос ЖПС и вычисление азимута, если от точки находишься далеко - и до заметного изменения азимута надо несколько часов идти.
<noindex></noindex>
Re: Для рассчета азимута и рсстояний для близких точек?
Нет. Что-то слишком сложно.
Наверное надо просто знать максимальную скорость. Вычислить эту скорость просто фиксируя скорость по мере измерения.
Расстояние в метрах которое надо пройти для существенного (например 18град) изменения азимута дист =2*пи*R*(18/360). Время на прохождение = дист/скор.макс
---------
Единственно что смущает - предполагаемая гигантская ошибка вычисления скорости от ЖПС координат за короткие промежутки времени.
<noindex></noindex>
Наверное надо просто знать максимальную скорость. Вычислить эту скорость просто фиксируя скорость по мере измерения.
Расстояние в метрах которое надо пройти для существенного (например 18град) изменения азимута дист =2*пи*R*(18/360). Время на прохождение = дист/скор.макс
---------
Единственно что смущает - предполагаемая гигантская ошибка вычисления скорости от ЖПС координат за короткие промежутки времени.
<noindex></noindex>
Re: Для рассчета азимута и рсстояний для близких точек?
Здравствуйте! Простите, я не очень понял. Вам нужно на местности по прибору в движении все это определять, или написать некий скрипт для некоей проги?
<noindex></noindex>
<noindex></noindex>
|
||
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 277 гостей