Страницы

Поиск по вопросам

суббота, 13 июля 2019 г.

Расчет координат точки пересечения нескольких окружностей

В общем условие такое: выполняю парсинг одного сайта с трёх геопозиций (с известными местоположением), в ответ json мне присылает с каждой такой геопозиции расстояние до объекта в километрах/метрах.
Собственно задачка: Необходимо вычислить географические координаты искоvого объекта, пусть и с небольшими погрешностями (для последующего отображения на карте).
Короче имеется точка (X;Y) и радиус. Например: Замер от 1ой позиции(x1,y1) до объекта: 1,2 км Замер от 2ой позиции(x2,y2) до объекта: 3 км Замер от 3ой позиции(x3,y4) до объекта: 100 м Объект один и тот же, соответственно пересечению быть! (хотя и с погрешностями)
Помогите сформулировать математическую функцию (включая расчет погрешности) или же сразу алгоритм на C# :)


Ответ

Ваша задача эквивалента тому, что решает GPS (ГЛОНАС) приемник при спутниковой навигации.
Дано неизвестная координата объекта (в Вашем плоском случае x и y) и расстояния Ri до объектов (спутников) с известными координатами (xi,yi) (все с погрешностями). Решается задача путем минимизации критерия суммарной квадратичной ошибки Min{ Sum[(Xi-X)^2+(Yi-Y)^2-Ri^2]^2 }. Для получения уравнений нужно взять от этого критерия частные производные по x и у и приравнять их нулю.
В результате Вы получите систему из двух кубических уравнений относительной двух неизвестных x и y.
Как решать такую систему - это уже следующий вопрос :)

Комментариев нет:

Отправить комментарий