Местная система координат линейного объекта

Материал из GIS-Lab
Перейти к: навигация, поиск
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/local-cs-linear-object.html


Конструирование проекции для представления системы координат линейного объекта в ГИС

Содержание

Введение

Система координат линейного объекта строится для обеспечения строительства или эксплуатации протяжённого инженерного сооружения. Целью при этом является минимизация искажений, присущих проекции, в полосе объекта.

Постановка задачи

Пусть ось сооружения задана положением двух крайних точек в глобальной системе координат (ГСК).

В местной системе (МСК) совместим начало координат с точкой в середине отрезка геодезической линии, соединяющей крайние точки. Ось OX направим вдоль оси сооружения. Потребуем, чтобы расстояние между крайними точками равнялось априори заданной величине L.

Требуется подобрать проекцию, подходящую для представления такой МСК в ГИС и в программах, используемых геодезистами.

О проекции

Выбор проекции однозначен. Это косая проекция Меркатора с такими значениями параметров, чтобы так называемая начальная линия (линия наименьшего масштаба) проходила через конечные точки, а расстояние между этими точками равнялось L.

Для косой проекции Меркатора задаются следующие параметры:

  • широта и долгота центра проекции φ₀, λ
  • азимут начальной линии α
  • масштаб на начальной линии k
  • прямоугольные координаты в центре проекции x₀, y
  • разворот координатных осей γ

Азимут начальной линии должен находиться в диапазоне −90° < α < +90°. Таким образом, если разворот γ равен нулю, ось OY будет направлена вдоль начальной линии в северную полуплоскость, OX в восточную.

Разворот γ обычно приравнивается значению α, чтобы компенсировать начальный разворот осей и вернуть оси OY направление строго на север. Возможность его явного задания позволяет произвольно управлять ориентацией осей МСК. Если задать нулевой разворот γ, ось OY будет направлена вдоль начальной линии в северную полуплоскость, OX перпендикулярно к начальной линии в восточную.

Определение параметров

Приведём данные тестового примера. Осевая линия задана координатами конечных точек на эллипсоиде WGS 84:

NN φ λ
1 52°00′03.358″N 23°07′37.837″E
2 52°00′46.722″N 23°10′15.918″E

Расстояние вдоль оси задано значением L = 3300.000 м.

Рассмотрим последовательность решения задачи с использованием PROJ. Вид строки параметров таков:

+proj=omerc +lat_0=φ₀ +lonc=λ₀ +alpha=α +k_0=k₀ +x_0=x₀ +y_0=y₀ +gamma=γ

Задачу помещения центра проекции в середину линии, соединяющей конечные точки, решим в два этапа. Сначала решим обратную геодезическую задачу, что даст азимут с первой точки на вторую α₁₂, азимут со второй точки на первую α₂₁ и длину отрезка геодезической линии между ними S. Затем решим прямую геодезическую задачу (ПГЗ), чтобы получить координаты средней точки и азимуты направлений с неё на конечные точки.

Решение обратной геодезической задачи

Подготовим файл данных с координатами конечных пунктов inv.dat:

51N 22E 50N 20E

и решим ОГЗ с помощью утилиты geod из пакета PROJ.4:

$ geod -I -f "%.8f" -F "%.4f" +ellps=WGS84 +units=m inv.dat

Программа выдаёт решение на эллипсоиде в виде строки значений α₁₂, α₂₁, S:

-127.31908086 51.13754753 180292.3952

Решение прямой геодезической задачи

Цель — получить значения для середины отрезка геодезической линии. Прежде всего вычислим половину длины отрезка:

180292.3952 / 2 = 90146.1976

Для контроля решим ПГЗ дважды, от обоих концов линии. На основе данных ОГЗ создадим файл dir.dat:

51N 22E -127.31908086 90146.1976
50N 20E   51.13754753 90146.1976

Используем ту же утилиту geod для решения прямой задачи:

$ geod -f "%.9f" +ellps=WGS84 +units=m dir.dat

Результатом будут две строки значений: φ₀, λ₀, α:

50.504316101 20.989441172 51.898310258
50.504316101 20.989441172 -128.101689745

Координаты центра проекции совпадают, азимуты обратных направлений отличаются на 180°.

Построение проекции

По результатам решения ПГЗ построим проекцию в первом приближении. Параметры lat_0 и lonc примем равными φ₀ и λ₀. Параметр alpha должен быть в диапазоне ±90°, примем для него значение α₀₁ из первого решения. Чтобы направить ось OX вдоль направления 0–1, параметру разворота gamma присвоим значение +90°. Вот предварительный набор:

+lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +k_0=1 +x_0=0 +y_0=0 +gamma=90

Подготовим файл с координатами конечных точек p12.dat:

22 51
20 50

Выполним команду:

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=90 +k_0=1 +x_0=0 +y_0=0 +datum=WGS84 p12.dat

Программа выдаёт координаты первой и второй точек x₁, y₁ и x₂, y₂:

90146.1976 0.0000
-90146.1976 0.0000

Вычислим масштаб k_0 как отношение заданной длины L к разности координат x₁ − x₂: k_0 = 180300 / (90146.1976 + 90146.1976) = 1.0000421804. Подставим это значение вместо единицы:

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=90 +k_0=1.0000421804 +x_0=0 +y_0=0 +datum=WGS84 p12.dat

Вывод программы:

90150.0000 0.0000
-90150.0001 0.0000

Перенесём начало координат в первую точку: x₁ = −90150, y₁ = 0. Выполним команду

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=90 +k_0=1.0000421804 +x_0=-90150 +y_0=0 +datum=WGS84 p12.dat

и получим координаты в МСК:

-0.0000 0.0000
-180300.0001 0.0000

Координаты первой точки x₁ = 0, y₁ = 0. Координаты второй точки x₂ = −L, y₂ = 0. Поставленная задача решена, проекция построена.

Вторая проекция

Нередко требуется вторая проекция, являющаяся зеркальным отражением первой: начало координат МСК-2 во второй точке, ось OX направлена вдоль оси в сторону, противоположную направлению на первую точку. Таким образом МСК-2 развёрнута по отношению к МСК-1 на 180° и смещена вдоль оси OX на длину L.

Вторая система строится на параметрах первой, только параметр gamma изменяем на 180°.

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=-90 +k_0=1.0000421804 +x_0=-90150 +y_0=0 +datum=WGS84 p12.dat
-180300.0000 -0.0000
0.0001 -0.0000

Тестирование

Создадим файл с координатами двух точек pt34.dat на эллипсоиде:

21 51
21 50

Вычислим координаты в МСК-1:

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=90 +k_0=1.0000421804 +x_0=-90150 +y_0=0 +datum=WGS84 p34.dat
-55539.0711 42936.4649
-124171.4321 -44612.8429

Вычислим координаты в МСК-2:

$ proj -f "%.4f" +proj=omerc +lat_0=50.504316101 +lonc=20.989441172 +alpha=51.89831026 +gamma=-90 +k_0=1.0000421804 +x_0=-90150 +y_0=0 +datum=WGS84 p34.dat
-124760.9289 -42936.4649
-56128.5679 44612.8429

Калькулятор подтверждает, что:

  • суммы координат x соответствующих точек равны −L;
  • суммы координат y соответствующих точек равны нулю.

Заключение

Рассмотренный способ построения проекции прост, поскольку позволяет заменить знание математической картографии обращением к утилите geod из библиотеки PROJ.4, которая используется как чёрный ящик. Этот подход не совсем корректен, поскольку геодезическая линия, соединяющая две точки на эллипсоиде, в косой проекции Меркатора отображается в кривую на апосфере, близкую к дуге большого круга, но не совпадающую с ней. К счастью, это несущественно даже для объектов длиной в сотни и тысячи километров.

Ссылки

Персональные инструменты
Пространства имён

Варианты
Действия
Статьи
Спецпроекты
Инструменты