Главная / Блог / Подключение российских систем координат в Civil 3D

Подключение российских систем координат в Civil 3D

В коробочном Civil 3D российских местных систем координат нет. Есть UTM, есть Pulkovo 1942/1995, есть мировой набор — а МСК-66 зоны 1, в которой лежит съёмка, нет. Пока СК чертежу не назначена, не работает ничего геопривязанного: подложка не встаёт на место, рельеф не откуда пересчитывать, обмен с ГИС и с изыскателями идёт через ручной сдвиг координат.

Решается это пользовательской библиотекой систем координат — механизмом самого Autodesk, общим для Civil 3D, Map 3D, Revit, InfraWorks и ReCap. Готовый русский набор лежит в открытом репозитории, ставится копированием пяти файлов и живёт дальше сам по себе.

Как устроена пользовательская библиотека

Продукты Autodesk читают определения систем координат из двух мест: собственной библиотеки продукта и пользовательской папки. Вторая при установке пустая, и путь к ней один на все продукты:

%LOCALAPPDATA%\Autodesk\User Geospatial Coordinate Systems

Развёрнутый вид — C:\Users\ИмяПользователя\AppData\Local\Autodesk\User Geospatial Coordinate Systems.

Несколько учётных записей на ПК

%LOCALAPPDATA% у каждого пользователя Windows свой. Библиотека, положенная под одной учёткой, для второй не существует — под ней придётся повторить копирование. Если машина общая (сменные рабочие места, тонкий клиент), это лучше учесть сразу.

Что внутри готового набора

Набор собран и поддерживается в открытом репозитории GeorgGrebenyuk/MSK_for-Autodesk-Civil-3D, справка по нему — отдельным пособием. В корне архива пять файлов CSD, и каждый отвечает за свой слой определения:

ФайлЧто описывает
Coordsys.CSDсами системы координат (проекции, зоны, ложные смещения)
Category.CSDкатегорию Russia Coordinate Systems, по которой набор фильтруется в диалогах
Datums.CSDдатумы, в том числе RUSSIA-GSK-2011 и московский MGGT
Elipsoid.CSDэллипсоиды: Красовского для СК-42/95 и ПЗ-90 по ГОСТ 32453-2017
GeodeticTransform.CSDпреобразования между датумами, например GSK-2011_to_WGS-84

В категории Russia Coordinate Systems лежит порядка 540 определений. Крупными кусками это:

  • 261 определение МСК для 78 регионов, зонами: Russia-MSK66-Zona1, Russia-MSK50-Zona2 и так далее;
  • 142 зоны ГСК-2011 с шагом 3 градуса, от Rus-GSK-2011_3d-CM102E и дальше по осевым меридианам;
  • больше сотни зон СК-42 и СК-95, плюс их географические варианты Russia_SK-42.LL и Russia_SK-95.LL;
  • отдельные городские системы — московская МГГТ на эллипсоиде Бесселя, Томск, Екатеринбург, Пермь.

Рядом, в папке OtherData, лежит то же самое в других представлениях: выгрузка библиотеки в XML, дамп русских МСК в WKT (пригодится для QGIS и NanoCAD), набор городских СК для MapInfo и текстовый список уточнённых МСК отдельных городов.

Установка

  1. Закройте Civil 3D. Библиотека читается при старте продукта, на лету подхватить новые файлы он не умеет.
  2. Скачайте архив с набором и распакуйте его.
  3. Скопируйте файлы *.csd из корня архива в %LOCALAPPDATA%\Autodesk\User Geospatial Coordinate Systems. Папки Docs, Dynamo scripts и OtherData копировать не нужно — они справочные.
  4. Запустите Civil 3D.

Путь можно вставить прямо в адресную строку проводника вместе с процентами — Windows развернёт переменную сам.

Если библиотека уже не пустая

Простое копирование поверх заменит файлы целиком, вместе с чужими определениями, если их туда кто-то добавлял. Для объединения двух наборов правильный путь — экспорт своей библиотеки в XML командой MAPCSLIBRARYEXPORT и импорт MAPCSLIBRARYIMPORT в ту, к которой присоединяетесь. В репозитории набора этот сценарий описан отдельно, там же лежит скрипт Dynamo, который собирает LSP-файл для пакетного экспорта.

Проверка: координаты появились

Проверяется одной командой — MAPCSASSIGN. Она же и назначает СК чертежу.

Командная строка AutoCAD с автодополнением: MAPCSASSIGN, MAPCSASSIGNNONE, MAPCSCREATE, MAPCSLIBRARY и другие команды семейства
Всё семейство команд начинается с MAPCS, автодополнение подскажет остальное

В открывшемся окне «Система координат – Назначение» поставьте в поле Категория значение Russia Coordinate Systems — список сократится до русского набора. Если категории в выпадающем списке нет вовсе, файлы легли не туда или Civil 3D не перезапускали.

Окно Система координат – Назначение: фильтр Категория Russia Coordinate Systems, список кодов Russia-MSK01…, вверху текущее назначение Russia-MSK66-Zona1
Вверху окна — текущее назначение чертежа: код и описание

Верхний блок «Текущее назначение» показывает, что уже назначено этому чертежу: код вида Russia-MSK66-Zona1 и описание Sverdlovsk region MSK-66 Zona 1. Это же место — самый быстрый способ проверить чужой чертёж перед началом работы с ним.

Возможно, всё уже стоит

Если на машине разворачивали пакет адаптации от поставщика (корпоративная сборка Civil 3D, шаблоны организации), русские СК могут быть подключены заранее. Сначала проверьте MAPCSASSIGN, потом ставьте.

Как выбрать свою зону

Ошибиться здесь легко: коды соседних строк отличаются одной цифрой, а результат ошибки — сдвиг чертежа на сотни километров, который сам по себе никак не проявляется, пока не потребуется совместить данные.

  • Номер МСК — это регион, обычно совпадающий с кодом субъекта: МСК-66 — Свердловская область, МСК-50 — Московская.
  • Зона внутри МСК определяется долготой: у каждой свой осевой меридиан. Взяли соседнюю — получили стабильный сдвиг по X.
  • Источник истины — каталог координат пунктов ГГС, выписка ЕГРН или задание на проектирование, а не догадка по названию области.
  • Быстрая проверка: назначьте СК и включите любую геопривязанную подложку. Снимок лёг на ваш объект — зона верная; уехал в соседний район — нет.

Грабли

  • Пустое поле кода = удалить систему координат. В MAPCSASSIGN прямо написано: «Для удаления оставьте поле пустым». Промахнулись мимо строки, нажали «Назначить» с пустым полем — привязка чертежа молча снята. Ту же роль играет отдельная команда MAPCSASSIGNNONE.
  • Назначение хранится в чертеже в двух местах сразу. Легаси-механизм Map хранит короткий код, штатный AcDbGeoData — целиком XML-определение системы плюс опорные точки, сближение меридианов и сетку соответствия. Наполняет оба одна и та же родная команда, поэтому назначать СК нужно только ею. Правка геолокации руками или сторонним скриптом даёт внешне рабочую, но тихо неверную привязку.
  • Библиотека читается при старте. Копирование файлов в открытый Civil 3D ничего не изменит до перезапуска.
  • Шаблон экономит время. Если организация постоянно работает в одной-двух зонах, назначьте СК в .dwt — новые чертежи будут приходить уже привязанными, и человеческий фактор из процесса уйдёт.
  • Библиотека общая для продуктов Autodesk. Один раз положили — видят и Civil 3D, и Map 3D, и InfraWorks. Отдельно для каждого копировать не нужно, а вот для каждой учётной записи Windows — нужно.

Зачем это дальше

Назначенная СК — это не галочка ради галочки, а условие работы всего геопривязанного инструментария. Из ближайшего: Диспетчер карт пересчитывает тайлы подложки из проекции источника в СК чертежа и без неё просто не знает, куда класть картинку; Загрузка рельефа по той же причине требует СК до команды DEMLOAD. Дальше по списку — экспорт в ГИС, приём чужой съёмки, совмещение с кадастровыми данными: везде первый вопрос один и тот же.

Итог

Пять файлов, одна папка, один перезапуск — и в Civil 3D появляется полтысячи русских определений СК, от МСК регионов до зон ГСК-2011. Времени это займёт меньше, чем один ручной пересчёт координат, а сэкономит его на каждом чертеже, который придёт со стороны.

← Все статьи