Есть БД со списком GPS-координат движения объекта. В Яндекс.Карты API строить кривую по координатам можно на основе не более 100 точек. Чтоб хоть немного обойти ограничение - хочу исключить точки, находящиеся на одной прямой. Собственно вопрос как вычислить, что между точками А и В, Б-точка также на прямой, либо нет? Я вижу решение в:
 - рассчитать расстояния между А и Б, и между Б и В;
 - рассчитать расстояние между А и В;
 - если АБ + БВ = АВ (+/- погрешность), то это прямая, и точку Б можно исключить из кривой.
Как рассчитать расстояние между двух точек по GPS-координатам (например: А = 40.023568,53.782569; Б = 40.023789,53782956)? Координаты взяты для примера.
Или каким еще способом (с объяснением способа расчета) определить принадлежность трех точек - одной прямой, с некоторой погрешностью?
Спасибо!
Добавлено спустя 1 минуту 28 секунд:
Чуть не забыл. Высоту точки над уровнем моря можно игнорировать, т.к. расстояния между точек очень малы.
			
		




 Если все точки лежат на одной прямой, то нет возможности узнать крайнюю при начале движения в обратную сторону без дополнительных проверок. Все же с расчетом расстояний получается точнее.
 Если все точки лежат на одной прямой, то нет возможности узнать крайнюю при начале движения в обратную сторону без дополнительных проверок. Все же с расчетом расстояний получается точнее.