Введение: данная статья будет посвящена вопросам пересчета координат из одной системы в другую стандартными средствами Map 3D (Civil 3D), а затем, в следующей части №6 - автоматизированно при помощи функционала пакета Dynamo.MapConnection, который мы начали освещать в предыдущей версии статьи. Ниже ссылки на предыдущие части:
- Погружаемся в системы координат. Часть 1 - как всё начиналось
- Погружаемся в системы координат. Часть 2 - ручное внесение в библиотеку информации о СК
- Погружаемся в системы координат. Часть 3 - нестандартные виды определений СК
- Погружаемся в системы координат. Часть 4 - автоматизация формирования библиотеки СК
Инструмент отслеживания координат MAPTRACKCS
Активируем команду "MAPTRACKCS"
В данном окне можно настраивать неограниченно много различных СК, и значения будут меняться при перемещении курсора по экрану.
Инструменты вкладки "Геопозиционирование"
При условии назначенной чертежу системы координат, на активной вкладке "Геопозиционирование" у нас есть ряд опций, среди которых следующие:
Простановка меток координат
Активируем окно MAPTRACKCS и сравним его вычисляемые координаты и координаты маркера геоположения:
Одинаковость вывода данных связано с тем, что оба инструмента черпают данные из определения системы координат.
Простановка точек с известными географическими координатами
У опции выше есть обратная опция, по известным значениям широты/долготы в системе координат LL84 (EPSG:4326) получить точку в системе координат чертежа.
Возьмём к примеру позицию ниже с координатами (56.334213, 43.972990):
Всё хорошо, но это точечные объекты.
Выражения для COGO-точек
Переходим к следующему интересному функционалу, а именно свойствам COGO точек. При назначении чертежу системы координат, у них активируется пара свойств - "Широта" и "Долгота". Вынесем эти свойства в метку и для проверки активируем инструмент отслеживания координат MAPTRACKSCS:
Не вникая в тонкости, COGO точки у нас отображают координаты на эллипсоиде WGS-84 если бы эллипсоид данной системы координат был бы WGS-84. То есть в этой цепочке преобразований у нас не учитывается датум (или учитывается, но с "нулевыми" параметрами трансформации").
Для того, чтобы это обойти - можно воспользоваться методикой ручного пересчета геодезических координат, изложенной в ГОСТ 32453-2017. Межгосударственный стандарт. Глобальная навигационная спутниковая система. Системы координат. Методы преобразований координат определяемых точек".
А именно, пункт 5.3
После внесения в выражения будет выглядеть примерно так:
(Скачать файл можно отсюда).
На основе COGO точек можно формировать таблицы, у них есть настраиваемые метки, то есть так стандартными средствами можно оформлять чертёж проставляя метки в иной СК.
Примечание: преобразования между прямоугольными СК инструментами выражений я не настраивал, правда - но это будет раза в 3 более трудоёмко.
Инструмент запросов Map 3D на пересчет координат (_ADEQUERY)
Переййдем теперь к самой интересной базовой функции, за что любят Map 3D (Civil 3D) - это инструмент преобразования чертежей с примитивами AutoCAD (блоки, полилинии, 3D-грани, штриховки, точки) из одной системы координат в другую. В целом, эти же операции могут осуществляться и через ГИС-программы типа QGIS, но как там будет сохранена топология объетов - это под вопросом. Здесь же функционал доступен "из коробки".
Итак, перейдем к демонстрации этого функционала. В качестве рабочей задачи рассмотрим процесс пересчета нескольких чертежей из региональной МСК-52 Зоны 2 в городскую СК г. Нижний Новгород. (Дополнительно мы также базово рассмотрим транзакции для нескольких чертежей).
Стадия подготовки исходных файлов
Для начала, необходимо, чтобы всем файлам, данные из которых мы хотим получить, была назначена их система координат. На этом собственно и всё. Ну и конечно, чтобы они были в метрической системе.
Стадия подготовки целевого чертежа
Здесь также всё просто. Создаем новый пустой чертёж в метрическим шаблоне (иначе перевод будет некорректным). И назначаем ему систему координат, в которой мы хотим получить извлеченные данные.
Далее вводим в командной строке MAPWSPACE и нажимаем "Вкл":
Сперва необходимо подключить чертежи (файлы), с которыми мы будем работать.
И попадаем в 2000 год.
Примечание: фильтры мне настроить не получилось - чертежи видны отфильтрованные, но при применении запроса почему-то участвуют все данные
Так как это временные файлы (удалятся после закрытия чертежа даже с сохранением), то сохраним их с копированием в пересчитанных координатах в новый чертеж, либо сразу пустим в дело - здесь у нас 3D-грани, следовательно построим на их основе поверхность, добавив их как Объекты чертежа -- 3D-грани обязательно с сохранением конфигурации исходных рёбер.
Обратим внимание, что для подключенных чертежей рядом будут находиться файлы *.DWK:
При их наличии файл нельзя будет изменить. Надо либо файлы удалить, либо удалитьс сам запрос
Выводы:
В данной статье мы рассотрели стандартные возможности Civil 3D (Map 3D) по преобразованию координат. Это были инструменты вкладки "Геопозиционирование" - единичные маркеры координат, инструмент отслеживания координат MAPTRACKCS, Выражения для COGO точек и функционал запросов _ADEQUERY Map 3D.
Это были стандартные инструменты Civil 3D, даны чтобы почувствовать "боль" и их ограниченность без автоматизации. А вот тему альтернативных действий мы осветим в следующей Части №6 с использованием пакета Dynamo.MapConnection.