Проекции скоростей в системах координат
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Проекции скоростей в системах координат
Добрый день!
Возникла необходимость перевода проекций скорости в проекции Гаусса-Крюгера в геоцентрическую систему координат. Т.е. по сути нужна матрица поворота для перехода от одной системы координат в другую.
В ГОСТе Р 51794-2008 отлично описаны преобразования пространственных координат из одной системы в другую. Как мне видится, имея вектор скорости в локальной проекции Гаусса-Крюгера, но с добавлением оси Z, с помощью матрицы поворота относительно известной заданной точки можно получить вектор скорости, так же разложенный по осям, уже в геоцентрической системе координат.
Удалось найти информацию, что матрица поворота будет такой:
-sinL -sinB*cosL cosL*cosB
cosL -sinB*sinL sinL*cosB
0 cosB sinB
Но L и B - это же долгота и широта в геодезической системе координат, получается какое-то скидывание всего в общую кучу... При моделировании, конечно же, результаты получается далекими от ожидаемых.
Так же не удалось найти никаких выводов, почему матрица поворота именно такая.
Просьба посоветовать, что еще можно прочитать на данную тему (грамотный запрос к гуглу уже не знаю, как сделать, чтобы найти не кучу бреда и по сто раз переписанных формул без обоснований), или какие подсказки, если кто-то сталкивался с похожей задачей
Возникла необходимость перевода проекций скорости в проекции Гаусса-Крюгера в геоцентрическую систему координат. Т.е. по сути нужна матрица поворота для перехода от одной системы координат в другую.
В ГОСТе Р 51794-2008 отлично описаны преобразования пространственных координат из одной системы в другую. Как мне видится, имея вектор скорости в локальной проекции Гаусса-Крюгера, но с добавлением оси Z, с помощью матрицы поворота относительно известной заданной точки можно получить вектор скорости, так же разложенный по осям, уже в геоцентрической системе координат.
Удалось найти информацию, что матрица поворота будет такой:
-sinL -sinB*cosL cosL*cosB
cosL -sinB*sinL sinL*cosB
0 cosB sinB
Но L и B - это же долгота и широта в геодезической системе координат, получается какое-то скидывание всего в общую кучу... При моделировании, конечно же, результаты получается далекими от ожидаемых.
Так же не удалось найти никаких выводов, почему матрица поворота именно такая.
Просьба посоветовать, что еще можно прочитать на данную тему (грамотный запрос к гуглу уже не знаю, как сделать, чтобы найти не кучу бреда и по сто раз переписанных формул без обоснований), или какие подсказки, если кто-то сталкивался с похожей задачей
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Проекции скоростей в системах координат
Вектор скорости редуцирован на плоскость в проекции и нужна геодезическая точность? Мне видится такой двухступенчатый алгоритм:
Также с помощью масштаба отображения m и сближения меридианов γ из скорости в проекции v и дирекционного угла α получаем скорость V и азимут A:
V = v / m
A = α + γ
m ≈ 1 + y² / 2 R² + y⁴ / 24 R⁴
tg γ ≈ tg (L − L₀) sin B
Здесь y = Y − Y₀ — разность восточной координаты и её значения на осевом меридиане (внимание, тут геодезический Y; в геодезии X направлен на север, Y на восток); L − L₀ — разность геодезической долготы и долготы осевого меридиана. R — средний радиус кривизны эллипсоида в точке
R = c / (1 + e′² cos² B)
Не знаю точностных требований в Вашей задаче. Возможно, достаточно принять R ≈ 6371000 м.
Всё необходимое для второго этапа есть в статье Геодезические системы пространственных координат
P. S. Если вектор скорости действительно был редуцирован на плоскость в проекции (в чём лично я сомневаюсь), придётся отслоить его от эллипсоида и перенести обратно на высоту точки H:
v = v_редуц (R + H) / R
P. P. S. Если скорость измерена на наклонной поверхности, нужно это учесть. Компоненты скорости в топоцентрической системе координат:
Vx = V cos η cos A
Vy = V cos η sin A
Vz = V sin η
Здесь η — угол возвышения траектории (уклона дороги?).
- переход из проекции в топоцентрическую СК;
- из топоцентрической в геоцентрическую.
Также с помощью масштаба отображения m и сближения меридианов γ из скорости в проекции v и дирекционного угла α получаем скорость V и азимут A:
V = v / m
A = α + γ
m ≈ 1 + y² / 2 R² + y⁴ / 24 R⁴
tg γ ≈ tg (L − L₀) sin B
Здесь y = Y − Y₀ — разность восточной координаты и её значения на осевом меридиане (внимание, тут геодезический Y; в геодезии X направлен на север, Y на восток); L − L₀ — разность геодезической долготы и долготы осевого меридиана. R — средний радиус кривизны эллипсоида в точке
R = c / (1 + e′² cos² B)
Не знаю точностных требований в Вашей задаче. Возможно, достаточно принять R ≈ 6371000 м.
Всё необходимое для второго этапа есть в статье Геодезические системы пространственных координат
P. S. Если вектор скорости действительно был редуцирован на плоскость в проекции (в чём лично я сомневаюсь), придётся отслоить его от эллипсоида и перенести обратно на высоту точки H:
v = v_редуц (R + H) / R
P. P. S. Если скорость измерена на наклонной поверхности, нужно это учесть. Компоненты скорости в топоцентрической системе координат:
Vx = V cos η cos A
Vy = V cos η sin A
Vz = V sin η
Здесь η — угол возвышения траектории (уклона дороги?).
The purpose of computing is insight, not numbers
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Re: Проекции скоростей в системах координат
Игорь Белов писал(а): ↑19 окт 2018, 14:27Вектор скорости редуцирован на плоскость в проекции и нужна геодезическая точность?
Все верно, вектор не был редуцирован на плоскость и рассчитан исключительно как проекция на оси. Предполагается, что он и находится на некоторой высоте. Т.е. точность не требует рассмотрения конкретных эллипсоидов, как я понимаю, в терминологии это равнозначно квазигеоиду, Поправьте, если ошибаюсь.Игорь Белов писал(а): ↑19 окт 2018, 14:27Если вектор скорости действительно был редуцирован на плоскость в проекции (в чём лично я сомневаюсь), придётся отслоить его от эллипсоида и перенести обратно на высоту точки H
Координаты перемещающейся точки известны в геоцентрической и геодезической системах, а также в Г-К.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Проекции скоростей в системах координат
Не знаю порядка координат, предположу направление осей X на восток, Y на север, как в САПР/ГИС. Дополним вектор скорости v третьей компонентой vz = 0.
Если скорости измеряются с точностью не выше 1/1000, а положения не выходят за пределы шестиградусной зоны, можно принять масштаб отображения m равным единице. Но от сближения меридианов избавиться не удастся, поэтому первое элементарное вращение должно быть связано с ним. Соответствующая матрица вращения вокруг оси Z на угол γ − 90° Rz(γ − 90°). Теперь вектор скорости определён в топоцентрической системе координат, где оси X, Y, Z направлены соответственно на юг, на восток, вверх.
Далее, как предлагается в статье, последовательно вращаем вокруг оси Y на угол B − 90° и вогруг оси Z на угол −L.
где v — исходный вектор скорости, дополненный нулевой вертикальной компонентой, V — вектор скорости в геоцентрической системе координат, m — масштаб отображения в проекции, γ — сближение меридианов, B — широта, L — долгота.
Не вижу большого смысла в явном вычислении общей матрицы вращения, — она выгодна, когда положение неизменно. Но если нужна, получим её, последовательно перемножив матрицы элементарных вращений:
Если же порядок координат как у геодезистов, X на север, Y на восток, нужно преобразовать левую координатную систему в правую. Предлагаю изменять знак первой компоненты vx на обратный:
vx′ = −vx
vy′ = vy
vz′ = 0
Первое вращение будет вокруг оси Z на угол γ. В приведённых матрицах вращения достаточно сделать замены
cos γ ⇒ sin γ
sin γ ⇒ −cos γ
Если скорости измеряются с точностью не выше 1/1000, а положения не выходят за пределы шестиградусной зоны, можно принять масштаб отображения m равным единице. Но от сближения меридианов избавиться не удастся, поэтому первое элементарное вращение должно быть связано с ним. Соответствующая матрица вращения вокруг оси Z на угол γ − 90° Rz(γ − 90°). Теперь вектор скорости определён в топоцентрической системе координат, где оси X, Y, Z направлены соответственно на юг, на восток, вверх.
Далее, как предлагается в статье, последовательно вращаем вокруг оси Y на угол B − 90° и вогруг оси Z на угол −L.
где v — исходный вектор скорости, дополненный нулевой вертикальной компонентой, V — вектор скорости в геоцентрической системе координат, m — масштаб отображения в проекции, γ — сближение меридианов, B — широта, L — долгота.
Не вижу большого смысла в явном вычислении общей матрицы вращения, — она выгодна, когда положение неизменно. Но если нужна, получим её, последовательно перемножив матрицы элементарных вращений:
Если же порядок координат как у геодезистов, X на север, Y на восток, нужно преобразовать левую координатную систему в правую. Предлагаю изменять знак первой компоненты vx на обратный:
vx′ = −vx
vy′ = vy
vz′ = 0
Первое вращение будет вокруг оси Z на угол γ. В приведённых матрицах вращения достаточно сделать замены
cos γ ⇒ sin γ
sin γ ⇒ −cos γ
The purpose of computing is insight, not numbers
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Re: Проекции скоростей в системах координат
Хотелось бы прояснить момент с направлением координатных осей. Проекция Гаусса-Крюгера представляет собой лепесток, из стандарта ось Х направлена на север, ось Y на восток. Это не априори? Т.е. в САПР/ГИС идёт разворот осей?
Геоцентрическая система координат представляет собой декартову систему координат.
Соответственно, я понимаю, что от угла сближения меридианов избавиться не получится, но остаётся вращение вокруг оси Х, Не понимаю, почему вокруг оси Z есть второй вращение на угол -L.
Извиняюсь за вопросы, занимаюсь другой сферой, но возникла необходимость получить знания в геодезии.
Геоцентрическая система координат представляет собой декартову систему координат.
Соответственно, я понимаю, что от угла сближения меридианов избавиться не получится, но остаётся вращение вокруг оси Х, Не понимаю, почему вокруг оси Z есть второй вращение на угол -L.
Извиняюсь за вопросы, занимаюсь другой сферой, но возникла необходимость получить знания в геодезии.
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Проекции скоростей в системах координат
считаем, что X это Y, а Y это Xиз стандарта ось Х направлена на север, ось Y на восток. Это не априори? Т.е. в САПР/ГИС идёт разворот осей?

ось Z направленна на северНе понимаю, почему вокруг оси Z есть второй вращение на угол -L.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Re: Проекции скоростей в системах координат
Так написать - самое простое

Не могу сформулировать адекватно, что смущает

Осей три, а поворот происходит только относительно Y и Z. Почему?
Далее в матлабе был написан простенький скрипт, в котором используется матрицы поворота R из коммента Игоря Белова. Сравниваю скорости, полученные расчётом и данные с GPS приёмника. Знаки проекции скорости совпадают, уже хорошо. Но убежали модули значений для y и z оставляющих вектора скорости
Как мне видится, ось Z поворачивается на угол 90-B, ось X - на 180-L. Далее ось Y сама встаёт на нужное место. Но в данном случае не учитывается сближение меридианов, а чем ближе к полюсам, тем сильнее их влияние
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Проекции скоростей в системах координат
потому, что Easing, Northing Гаусса-Крюгера не имеют отношения к геоцентрической системе координат (и имеющимся там XYZ). У вас цилиндр (который в поперечном Меркаторе), и ось которого дает Easing, повернут вокруг оси Z геоцентрической системы на долготу. Нужно вернуть назад. Аналогично с Northing, там компенсируем кривизну цилиндра.chiroptera писал(а): ↑20 ноя 2018, 12:15Есть какое-то обоснование, почему вдруг произошёл такой разворот?
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Проекции скоростей в системах координат
Во всём этом потоке сознания не хватает необходимого — постановки задачи. Что именно измеряется? Как измеряется? Каковы предполагаемые инструменты вычислений? Как результаты сравниваются с данными ГНСС-измерений и с какими именно данными?
Обидно терять время на задачу, вводные данные которой состоят из домыслов.
Обидно терять время на задачу, вводные данные которой состоят из домыслов.
The purpose of computing is insight, not numbers
-
- Завсегдатай
- Сообщения: 265
- Зарегистрирован: 22 окт 2012, 08:35
- Репутация: 50
- Откуда: Нижний Новгород
Re: Проекции скоростей в системах координат
С чего Вы взяли, что для перехода достаточно поворота? Что то Вы перемудрили.chiroptera писал(а): ↑19 окт 2018, 12:42Т.е. по сути нужна матрица поворота для перехода от одной системы координат в другую.
Ну так и переводите плоские -> геодезические -> пространственные.chiroptera писал(а): ↑19 окт 2018, 12:42Возникла необходимость перевода проекций скорости в проекции Гаусса-Крюгера в геоцентрическую систему координат.
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Re: Проекции скоростей в системах координат
Есть вектор скорости в проекции Гаусса-Крюгера. Есть точка начала вектора. Нужно перевести вектор в геоцентрическую систему координат, не используя метод переноса по двум точкам.
Из ГОСТа легко строится цепочка Гаусса-Крюгера -> геодезическая система координат - > геоцентрическая система координат для конкретной точки. Собственно, написана рабочая модель, полученные значения во всех трех системах координат проверены по GPS данным.
Задача: перенести вектор из проекции Гаусса-Крюгера (вектор дополнен вертикальной составляющей) в геоцентрическую систему координат.
-
- Новоприбывший
- Сообщения: 11
- Зарегистрирован: 19 окт 2018, 11:46
- Репутация: 0
- Откуда: Москва
Re: Проекции скоростей в системах координат
В матлабе есть функция enu2geodetic. В данном случае ENU и есть моя система Гаусса-Крюгера, которая была дополнена вертикальной составляющей.
Синтаксис:
xEast - координата Х в проекции Гаусса-Крюгера, число слева обязательно дополнено номером зоны (на лепестке X на север, Y на восток)
yNorth - координата Y в проекции Гаусса-Крюгера, число слева обязательно дополнено номером зоны
zUp - высота, на которой находится объект
spheroid - указываю WGS84
lat0, lon0 - широта и долгота какой точки?
Мне представляется, что начало вектора можно совместить с началом координат локальной системы. Тогда B, L соответствуют координатам начала вектора в геодезической системе координат. Но на выходе имею ерунду
Т.е. резюмируя, я могу перевести по формулам из ГОСТа точку из Гаусса-Крюгера в геодезическую систему. Не могу этого сделать через функцию в матлабе.
Очень хочется верить, что как только получится понять, где ошибка в этом месте, получится перевести и вектор по абсолютным значениям проекций на координатные оси
При этом успешно перевожу из геодезической в локальную (абстрактную) систему координат и далее в геоцентрическую. И обратно.
Синтаксис:
Код: Выделить всё
[lat,lon,h] = enu2geodetic(xEast,yNorth,zUp,lat0,lon0,h0,spheroid)
yNorth - координата Y в проекции Гаусса-Крюгера, число слева обязательно дополнено номером зоны
zUp - высота, на которой находится объект
spheroid - указываю WGS84
lat0, lon0 - широта и долгота какой точки?
Мне представляется, что начало вектора можно совместить с началом координат локальной системы. Тогда B, L соответствуют координатам начала вектора в геодезической системе координат. Но на выходе имею ерунду
Т.е. резюмируя, я могу перевести по формулам из ГОСТа точку из Гаусса-Крюгера в геодезическую систему. Не могу этого сделать через функцию в матлабе.
Очень хочется верить, что как только получится понять, где ошибка в этом месте, получится перевести и вектор по абсолютным значениям проекций на координатные оси
При этом успешно перевожу из геодезической в локальную (абстрактную) систему координат и далее в геоцентрическую. И обратно.
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Проекции скоростей в системах координат
Гаусс-Крюгер там не причёмВ матлабе есть функция enu2geodetic. В данном случае ENU и есть моя система Гаусса-Крюгера, которая была дополнена вертикальной составляющей.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей