Всем привет! Сразу предупрежу - я прекрасно понимаю про точность и бессмысленность всего нижепредставленного) Дано: 7 пар координат характерных точек в радиусе 300-500 метров практически по периметру. Координаты в местной системе получены с плана города 1:500. Координаты в глобальной - обычным бытовым GPS приемником в коммуникаторе. Нужно получить: параметры перехода их глобальной в местную СК и по этим параметрам перевести координаты других точек в местную систему города. В результате расчетов даже исходные координаты точек не вяжутся с посчитанными (до 300 метров). Взял другую тестовую точку вне района калибровки метров на 500 - она не садится на план 1660 м по X и -780 м по Y.))) В SPSO (Spectra Precision Survey Office) делаю эту калибровку результаты не превышают 18 метров в пространстве. Считали по этой формуле R = DR + (1+m)W.r, Помогите разобраться что я не учел в расчетах. Приложил файл экселя с расчетами.
Для начала, эту тему можно перенести в "Юмор" Теперь по существу. А какую точность вы хотели получить???
Ну.. я же сразу предупредил) мне не нужна точность, моему руководителю видимо нужно разобраться как это работает и считается ПО ведь считает точнее. Нужно хотя бы приблизится к результатам ПО.
есть приемники. могу сделать точную калибровку на пунктах... НО надо так как указано выше.. прихоть руководителя(
Ну во-первых, заглянул я в ваш экселевский файл и заметил, что похоже вы пытаетесь выполнить нелепое преобразование геоцентрических прямоугольных координат в плоские координаты условной системы, в которой 3-я координата является высотой. Эта третья координата не ортогональна к плоскости, содержащей оси "х" и "у". Ни фига у вас не получится из этого роя...Кончайте абаракадабрирование, углубитесь в суть вопроса и смысл преобразуемых систем координат. Во-вторых, сильно подозреваю, что используемая вами модель преобразования не соответствует модели внутри пакета SPSO. Наиболее вероятно, что там используется следующая зависимость Rn=Rc0+DR+(1+dm)*R*(Rc-Rc0). Rn -вектор пространственных координат в новой СК; Rc0-вектор координат центроида(средних координат) в старой СК; DR-вектор параметров переноса центроида старой СК в центроид новой СК; dm-приращение линейного масштаба при переходе от старой СК к новой; Rc-вектор преобразуемых координат в старой СК; R-3*3 матрица вращения на малые углы относительного разворота осей старой и новой СК. Заметьте малых углов. В вашем-то случае углы ва-а-аще чумовые и для них матрица Rдолжна быть произведением трех матриц частных поворотов на эти углы. Так что, начудили вы в своем примере....Ну точно на анекдот!
Уже разобрался что перепутаны x и y глобальной системы Во вторых сделал перевод глобальных в проекцию Гаусса - Крюгера Теперь сходится лучше.. не превышает 80 метров)) Спасибо проверим) Математику считал не я и что там посчитано понять не представляется возможным
Посмотрел еще раз. Есть у вас ошибки в переходе к координатам в проекции Г-К. Похоже используете не верные геометрические параметры РЭ Красовского. Впрочем, разбирайтесь сами. Я задачу решил в пять шагов с помощью Кредо Транскор. Точность определения параметров преобразования характеризуется ошибкой единицы веса 15м. Калибровку по высоте не делал.
А можно поподробнее.. что именно неверно? Пользовался ГОСТ Р 51794-2001.Я и обратился к общественности чтобы разобраться в вопросе.
В 70-80 годах прошлого века по Москве гуляла пара страничек светокопии диссертации одного биолога о голубых китах. За дословность уже не ручаюсь, но смысл сводился к следующему: Объём голубого кита можно посчитать по формуле V = Pi*D^2/4*L, где L - длина кита, D - его диаметр, а Pi для голубых китов равно 3,14. Поэтому вопрос. Почему в вычислениях участвует "пи" для голубых китов (а не для геодезистов )? Для решения вашей задачи совсем не обязательно использовать координаты в проекции Гаусса-Крюгера, более того - это даже вредно. 1. Переведите геоцентрические координаты в топоцентрические. За координаты топоцентра примите: Bo = (Bmax+Bmin)/2; Lo = (Lmax+Lmin)/2; Ro = Mean(R1,R2,…Rk) Код: x := M[1][1] * (Xp - Xo) + M[1][2] * (Yp - Yo) + M[1][3] * (Zp - Zo); y := M[2][1] * (Xp - Xo) + M[2][2] * (Yp - Yo) + M[2][3] * (Zp - Zo); z := M[3][1] * (Xp - Xo) + M[3][2] * (Yp - Yo) + M[3][3] * (Zp - Zo); где M[1][1] := -Sin(Lo); M[1][2] := Cos(Lo); M[1][3] := 0; M[2][1] := -Sin(Bo) * Cos(Lo); M[2][2] := -Sin(Bo) * Sin(Lo); M[2][3] := Cos(Bo);[/COLOR] M[3][1] := Cos(Bo) * Cos(Lo); M[3][2] := Cos(Bo) * Sin(Lo); M[3][3] := Sin(Bo); 2. Между прямоугольными плоскими топоцентрическими координатами (х,у) и местными найдите параметры ортогонального преобразования - угол разворота и масштаб. 3. В качестве модели высот можно принять H=Ho+Hx*x+Hy*y+Hxy*x*y Ho, Hx, Hy, Hxy - коэффициенты, параметры модели.
Это я к тому спросил, что для проверки подобия расчётов, лучше получить правильный результат по приёмникам и ПО, а потом с ними сравнивать свои расчёты. Откуда эти формулы в Excelевском файле?
Сударь, похоже, вы не только в рукопашную, но и вслепую разбираетесь с вопросом. Боюсь, вам не поможет ни мой лобовой подход, ни изящное решение Stuot'a. Эта клиника лечится самообразованием и временем. Дерзайте...
Ну при данном способе получения координат - плюс минус 3 голубых кита)) и коэффициент для китов применил) Исправил, спасибо. Начальнику нужно так и никак иначе Формулы, как уже упоминалось выше, гoст Р 51794-2008 Собственно этим и занимаюсь
Где-то здесь на форуме я считал расхождение топоцентрических координат и координат в проекции Гаусса-Крюгера, при условии, что топоцентр принадлежит плоскости, в которой лежит осевой меридиан зоны. 1 мм на краю квадрата 8х8 км для средних широт и высоты 0. При высоте 200 м -расхождение плановых координат уже ~0.125 м Передайте "начальнику": искать 3D параметры (именно как параметры, а не просто согласующие коэффициенты модели), что в классической форме Гельмерта, что в форме преобразований Молоденского-Бадеказа (как у вас) на пяточке размером со свиное рыло - пустая трата времени. Хотя преобразования М-Б в данной ситуации однозначно лучше.