Данная заметка написана в соавторстве с моим коллегой Денисом Савицким в ходе работы над одним из пилотных проектов. Заметка предназначена для пользователей, которые только начинают работать с форматом DWG в ArcGIS.

Визуализация
Начнём с того, что файлы формата DWG и DXF открываются в любом ArcGIS Desktop, при этом на экране вы увидите не только сам вектор, но и его оригинальное оформление: цвета и стили линий, толщину и др.

 

В файле формата DWG графических примитивов может быть довольно много. Все они будут логически собраны в привычные вам пять класcов: точки, линии, полигоны, мультипатч и отдельно подписи в виде аннотаций. Вот как это выглядит в ArcGIS Desktop:

При этом бывает и так, что все необходимое может храниться, к примеру, только в классе Polyline. В моем случае все площадные и линейные объекты были доступны из Polyline, а подписи из Annotation.

Пространственная привязка
Классический файл dwg (созданный без специализированных надстроек) не несет в себе сведения о пространственной привязке. Если для опытного пользователя это не является проблемой, то новичок часто не знает как заставить этот файл отображаться корректно относительно других географических данных. Как всегда, есть несколько способов исправить положение и в каждом случае выбираем самый удобный. Самый простой вариант – это использование так называемого World-файла. Если вам повезло, то его передадут вместе с DWG-файлами. Если же нет, то сделать его совсем не трудно.
Главное – не забыть разрешить его использование в ArcGIS. Для этого в свойствах добавленного слоя из исходного dwg посмотрите на вкладку Transformations.

Если файла нет и сделать его возможности тоже нет, но вам известны координаты точек в системе координат, использованной в DWG-файле и в вашей СК, то их можно задать в ручную. Также есть опция для вода параметров аффинного преобразования через указания углов поворота, масштабного коэффициента и вектора параллельного переноса.

Если параметры привязки известны, то можно задать их с помощью инструмента define projection, но перед этим dwg надо конвертировать в классы пространственных объектов базы геоданных ArcGIS. И здесь начинается самая интересная часть истории…

Конвертация DWG в классы пространственных объектов ArcGIS
Моей задачей была публикация проектных данных из dwg на ArcGIS Server. Хотя в ArcMap мы можем сразу открыть dwg и увидеть его на карте – нельзя опубликовать такой проект на ArcGIS Server, т.к. пока что эти данные не находятся в нашей базе геоданных, а значит недоступны для манипуляции. Выход в конвертировании dwg в формат ArcGIS (базу геоданных).

Проблем с конвертацией не будет, но было бы неплохо повторить исходное оформление и это задачка для рассмотрения чуть ниже. Также необычным является способ конвертации подписей, которые должны быть преобразованы в Аннотации c помощью отдельного инструмента Import CAD Annotation.

 

Для конвертации векторных данных можем использовать по вкусу любой из следующих способов:

  • Инструмент Copy Features
  • Инструмент CAD To Geodatabase
  • Модуль ArcGIS Data Interoperability
  • Просто щелкнуть правой кнопкой на соответствующем слое и выбрать Data –> Export

В итоге из исходного DWG мне понадобилось сконвертировать подписи – Аннотации и Polyline, т.к. все объекты на чертеже были отрисованы в AutoCAD линиями. Теперь чертеж AutoCAD в БГД, вспоминаем про пространственную привязку, если она неопределенна, пользуемся инструментом define projection или иными методами. Переходим к настройкам оформления.

Оформление сконвертированного чертежа из DWG
Напомню, что в базе геоданных мы имеем сами данные, в моем случае линии, и сейчас мы хотим повторить оригинальное оформление. Мой случай оказался простым, в чертеже линии отличались только цветом, тип и толщина были идентичными, как в настройках AutoCAD по умолчанию. Так в моем случае выглядело оформление dwg при добавлении его в проект ArcMap до конвертации (см. скриншот ниже). Хотя система автоматически применила оформление по трём атрибутивным полям: Linetype (Continous), Color (150,141 и т.д.), LineWt (25) – изменяются только значения поля Color.
 

Можно задать аналогичные цвета на новой карте в ручную. Но мы для возможности повторного использования своих трудов сделали отдельный файл стилей ArcGIS (*.style), созданным под стандартную, а значит наbболее часто применяемую цветовую таблицу AutoCAD (получить его можно, обратившись в Esri CIS). Выбираем вариант оформления Match to symbols in a style. Важное уточнение: при конвертации поле Color принимает тип Short Integer, чтоб точно соответствовать типу данных в DWG, но нам для применения оформления необходимо текстовое поле, т.е. заранее создаем новое поле Color c типом string и калькулятором поля копируем значения из исходного поля Color.

На этом моя задача была решена:
1. DWG сконвертирован в базу геоданных для публикации данных на ArcGIS Server (только для отображения с привязкой к другим данным, без применения инструментов анализа)
2. Определена пространственная привязка чертежа
3. Сконвертированы подписи чертежа
4. Выполнена автоматическая настройка оформления как в исходном DWG

Следующим этапом решения задачи может быть преобразования всех объектов в корректные классы пространственных объектов ArcGIS. Сейчас у меня даже площадные объекты нарисованы линиями, как это было выполнено в AutoCAD, что может затруднить применение пространственного анализа инструментами ГИС. Для решения такой задачи нам уже потребуется более продвинутая функциональность модуля ArcGIS Data Interoperability, но это уже тема для отдельной большой заметки.