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