04/01/2023

Генерация пользовательской СК QGIS

В рамках семинара для коллег по основам работы в QGIS «родилась» вот такая утилитка для генерации пользовательской СК в формате строки "proj.4" на основе уже существующей СК и высчитанных сдвижек по осям X и Y.
Задача традиционная: нам прислали какой-то там DXF в «левых» метровых координатах (далее пусть будет СК-X) с нулём координат у местной водокачки и надо худо-бедно положить его на спутниковую  (или любую другую в общеупотребимой СК) подложку в QGIS. Сразу хочу предупредить, что если вы не можете похвастаться отменным везением, то результат будет именно что «худо и бедно», но хоть как-то.
Простейший вариант решения проблемы: сместить карту прямо в автокаде так, что б общие точки на на карте и подложке более или менее совпадали. Вариант хороший и рабочий, но если вам начнут присылать другие данные в этой «левой» СК-X, то придется и их смещать вручную.
Я предлагаю подойти к решению этой проблемы с другого бока: взять одну из общеупотребимых  спроецированных метровых СК (далее СК-А) и на её основе сгенерировать новую пользовательскую СК (СК-Б - иными словами, это та же СК-X, но с известными параметрами), подобрав для неё смещения по X и Y так, чтоб DXF с присвоенной СК-Б совмещался с подложкой. Тут самое сложное: найти такую СК-А, чтоб угол совпадал с СК-X. По опыту, в 90% случаев подходит либо одна из 3-градусных зон Pulkovo 42, либо соответствующая региональная МСК (частенько эта таинственная СК-X и вовсе является какой-нибудь «МСК-59 зона 2»). Ну а дальше всё просто: «скалываем» координаты общей точки в СК-X (в автокаде, к примеру) и в СК-А (для этого можно использовать один из множества плагинов в QGIS, не забыв сделать СК-А системой координат проекта), копируем их в соответствующие ячейки моей таблицы, потом вставляем строку proj.4 от СК-А и строкой ниже получаем новую строку proj.4 уже для нашей новой кастомной СК-Б. Теперь эту строку можно добавить в качестве пользовательской проекции к QGIS и открывать в ней наш DXF, каталоги скважин и прочие данные.
Отлично понимаю, что с точки зрения тру топографов, географов и картографов все эти ужимки - жуткая ересь, прошу отнестись снисходительно.
P.S.: Добавил усреднение по нескольким общим точкам с проверкой на несовпадение угла поворота.

2 comments

  1. Посмотрите модуль Geoscience в QGIS. Там можно генерировать пользовательскую СК по известным координатам нескольких точек.

    ReplyDelete
    Replies
    1. Вот так всегда - корячишься, а оказывается кто-то это уже сделал. Спасибо, посмотрю. Вообще странно, что такой интересный плагин прошёл мимо моего внимания.

      Delete