Мне нужно вычислить координаты точки, которая расширяет существующую линию на определенное количество километров.
Данные ввода:
(1) начальная и конечная координаты существующей линии (в градусах).
(2) длина (км) того, как далеко новая линия должна простираться после указанной выше «конечной» координаты.
Выход:
Широта и долгота (в градусах) точки, которая расширяет линию
В настоящее время у меня есть метод, который вычисляет направление между двумя наборами координат, если это помогает. У меня также есть метод, который находит точку на линии, но это точка между двумя наборами заданных координат, не расширяющая существующую линию. Кажется, я не могу понять, как изменить это для своих нужд.
Кроме того, я использую WGS-84, поэтому (насколько я понимаю) искривление земли не нужно принимать во внимание.
Буду признателен за любую помощь, спасибо!
Редактировать:
Ну, проблема, которую я видел, заключалась в том, что расстояние было в километрах, а координаты были градусами GPS. Но я только что использовал векторы, чтобы решить эту проблему:
C = B - k ( A - B ), где k = доля расстояния до места C
Примечание: в моем случае k = 1,5, потому что я хотел, чтобы новая точка была на половине расстояния вне исходной линии. Я думаю, что 0 будет в точке A, а 1 - в точке B.
Я подготовил его в Google Планета Земля, и, похоже, он работает.