Проецирование точки на путь

Предположим, у меня есть упорядоченный массив, содержащий точки(lat, lon) описывая путь, и у меня тоже есть точка(lat, lon) описывая мое текущее местоположение.

Как я могу спроецировать точку на путь (и поместить точку в соответствующее место в массиве)?

Я попробовал просто найти ближайшие две точки и предположить, что они находятся посередине. Это хорошее предположение, но иногда не удается.

Что было бы хорошим способом сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос