Как использовать линейную интерполяцию для оценки текущей позиции между двумя географическими координатами?
У меня есть следующие доступные:
последний сообщенный лат, долг с отметкой временицель лат, долграсчетное время до целизаголовокКак я могу интерполировать предполагаемую позицию по времени?
Я знаю, что этого достаточно, чтобы рассчитать требуемую среднюю скорость на оставшуюся часть поездки. Учитывая прямолинейное расстояние, это довольно тривиально. Я знаю, что это связано с векторами, но я немного заржавел и подумал, что лучше проконсультироваться с некоторыми экспертами.
Причина, по которой мне нужна эта частота обновления, ограничена, поэтому, чтобы показать плавную анимацию, мне нужно угадать текущую позицию между обновлениями.
Целевой платформой является приложение Google Maps, поэтому у меня есть некоторые базовые функции, такие как гео-корректная функция для расстояния между двумя координатами. Язык не важен, так как я знаю много и могу портировать или адаптировать любые примеры, если это необходимо. Однако общие решения были бы предпочтительнее.
Это просто два независимых векторных вычисления?
latestimate = latstart + (Δlat * P) lonestimate = lonstart + (Δlon * P) Where: testimated = the reported estimated time to target telapsed = time since last time estimate P = telapsed / testimated Δlat = latreported - lattarget Δlon = lonreported - lontarget