Материал: Digitals

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ASCII text file

для вставляемых точек и коды параметров для сохранения имени и описания. Коды параметров вводятся через запятую.

Отметим, что возможность сохранения карты в формат DAT не предусмотрена.

ASCII text file

Всвоем простейшем виде данный формат напоминает только что рассмотренный формат DAT и представляет собой список координат точек объекта в виде X Y Z, где координата Z не является обязательной. Программа считывает координаты из такого файла и строит из них полилилию, пока не встретит пустую строку. Встретив пустую строку, программа закончит построение текущего объекта и начнет новый, продолжив чтение координат со следующей непустой строки.

Вусложненном варианте формата ASCII возможно сохранение (и чтение) не только координат, но и информации о слое объекта, содержимом его параметров, а также о подписях, вынесенных на карту. Сохраните любой фрагмент карты в данный формат и откройте получившийся файл в Блокноте, чтобы получить пример для изучения.

Вот небольшой фрагмент с краткими пояснениями (здесь “закодированы” два объекта - отметка высоты и здание):

MET

BEGIN XY

#

//Layer 12000000 Позначки висот //ObjectID 167

//C[-2] X-0.19 Y-2.69 Z-32.57 O3600 L257 20370.13 10741.46 154.16

#

//Layer 44200000 Будівлі //ObjectID 36

//P[100] КЖ

//C[100] X0.71 Y0.49 Z0.00 O3385 L257

20379.36

10709.08

158.39

20373.63

10723.65

157.16

20361.52

10718.72

157.60

20365.71

10708.19

158.48

20373.74

10711.52

158.22

20375.54

10707.35

158.51

20379.36

10709.08

158.39

END

Служебный заголовок. В конце файла ему соответствует END.

Код и название слоя объекта.

Код объекта.

Параметр: код и содержимое.

Подпись: код соответствующего параметра, информация о сдвиге подписи относительно центра объекта, ее развороте и способе выравнивания.

Собственно, список координат объекта.

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

AutoCAD DXF/DWG

Формат AutoCAD DXF/DWG, вероятно, является наиболее популярным в качестве обменного среди геодезистов, архитекторов и проектантов, особенно при крупномасштабном картографировании. Импорту и экспорту в данный формат в Digitals уделено особое внимание.

261

Глава 11. Импорт и экспорт карт

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

будут ли передаваться значки блоками?

как передать типы линий?

происходит ли передача штриховок и заливок?

как передадутся подписи и таблицы?

2D или 3D?

Отметим сразу, что в Digitals имеется целый ряд настроек, отвечающих на эти вопросы. Однако, как показывает практика, когда говорят о передаче карты в формате DXF/DWG, то чаще всего речь идет о некоем аналоге растровой картинки, только выраженной в виде векторных примитивов программы

AutoCAD.

Особенно это касается передачи карт для последующего проектирования - например, в программе ArchiCAD. В этом случае переданный DWG файл будет в лучшем случае подложкой и, если все выгдядит “красиво”, никто в подробности типа “это блок или полилиния?” вникать не будет.

Если ваш случай именно такой, то настройте параметры записи, как показано ниже на рисунке и смело сохраняйте карту.

Рассмотрим настройки подробнее.

Код, Имя

Эти переключатели отвечают за то, как будут передаваться имена слоев - записываться в виде кодов или имен. При этом для кодов можно установить длину в поле ввода рядом с соответствующим переключателем. Если код имеет меньшую длину, он будет дополнен слева нолями.

Если выбрано сохранение имен, то Digitals заменит все “неправильные” с точки зрения AutoCAD символы (например, пробелы) подходящими аналогами.

2D Polylines

Digitals хранит объекты карты в трех координатах. Данная настройка отвечает за передачу объектов в виде 2D или 3D полилиний.

Не создавать DBF

Обычно включена. Управляет созданием сопутствующего DBF файла с атрибутивной информацией. В практике автора такой файл не использовался ни разу.

Запретить Polyface

Запрещает создание примитивов Многогранная сеть при экспорте 3D моделей зданий. Если включена, то сохранение происходит в виде 2D или 3D полилиний (здесь вступает в силу настройка

2D Polylines).

Запрет также помогает при ложных срабатываниях на некоторых объектах с разрывами, не являющихся в действительности 3D моделями.

Конвертировать все условные знаки

Именно включение этой галочки отвечает за создание красивой векторной картинки. Эффект от применения данной настройки примерно такой же, как если бы вы перед экспортом выполнили команду Сервис > Преобразовать > Символ в объект - правда не для всей карты, а только для линейных объектов. То же самое относится и к условному знаку откоса.

Благодаря этой опции все линейные знаки передаются набором отдельных примитивов. Такая карта плохо поддается редактированию в AutoCAD, но зато ее внешний вид очень хорошо соответствует тому, что мы видели в Digitals.

262

И все-таки, DXF или DWG?

И все-таки, DXF или DWG?

DXF это открытый формат, описание которого найти совсем несложно (например, в справочной системе AutoCAD или на сайте компании Autodesk). Он представляет собой текстовый файл, в котором каждый элемент чертежа описывается специальными тегами и соответствующими им значениями. В силу того, что формат текстовый, сохраняемый файл может иметь существенный размер.

Формат DWG, напротив, является закрытым. Поэтому реализовать чтение и запись в файлы данного формата несколько сложнее. В Digitals для этого используется оригинальный прием. Программа неявно запускает AutoCAD и передает в него данные в виде команд для рисования чертежа.

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

Сохранение карт как в DWG, так и в DXF дает примерно одинаковый результат. Тем не менее, можно отметить, что сохранение в DWG реализовано более полноценно, а “картинка” на выходе по субъективному ощущению получается несколько приятнее.

Ниже в Табл.11.1 дана сводка о том, как преобразуются некоторые типы объектов при экспорте. Конкретный тип примитива будет выбран с учетом описанных выше настроек.

Таблица 11.1. Соответствие типов слоев Digitals и примитивов AutoCAD при экспорте карты

Digitals

 

DXF

 

 

DWG

 

 

 

 

 

Пикет

 

Точка с высотой или на высоте ноль.1

 

Точка с высотой.

Одиночный символ

Вхождение

блока

с высотой или

на

Вхождение блока с высотой.

 

 

высоте ноль.

 

 

 

 

 

 

 

 

 

 

Подпись

 

Текст с высотой или на высоте ноль.

 

Текст с высотой.

 

 

 

 

 

HTML-подпись

Не экспортируется.

 

 

Не экспортируется.

 

 

 

 

Полигон/

 

ЗD полилиния (толщина теряется) или

ЗD полилиния с толщиной или Полилиния

Полилиния2

Полилиния без толщины на высоте ноль.

с толщиной на средней высоте объекта.

Полигон/Полилиния

ЗD полилиния (без сглаживания) или

ЗD полилиния с признаком кубического

(гладкая)2

Полилиния на высоте ноль (гладкость

сглаживания или Полилиния на средней

 

 

теряется).

 

 

 

высоте (гладкость теряется).

 

 

 

 

 

 

Таблица

 

Не передается.

 

 

Набор отдельных Текстовых элементов.

 

 

 

 

 

 

Заливка

сплошным

Не передается.

 

 

Штриховка сплошная.

цветом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заливка

 

Площадной

знак

преобразуется

в

Площадной

знак преобразуется в

площадным знаком3

отдельные отрезки и другие элементы.

 

отдельные отрезки и другие элементы.

Заливка

знаком

Штриховка

передается отдельными

Штриховка

передается отдельными

штриховки3

Отрезками.

 

 

 

Отрезками.

 

3D Модель4

В виде Многогранной сети (набора 3D

В виде треугольников из 3D полилиний

 

 

граней) или треугольников из 3D (2D)

или полилиний (на высоте крыши).

 

 

полилиний.

 

 

 

 

 

 

 

 

 

Триангуляционная

Передается в виде 3D граней.

 

Передается в виде 3D граней.

сеть (TIN)

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечания к таблице:

 

 

 

 

 

1.Зависит от состояния настройки 2D Polylines. Та же настройка влияет и в других подобных вариантных случаях (смотрите типы Подпись, Полилиния, Полигон).

2.При включении полной конвертации может преобразовываться в набор отдельных отрезков (преобразование символа в объект).

263

Глава 11. Импорт и экспорт карт

3.Передается при условии включения настройки полной конвертации условных знаков.

4.Влияют настройки Запретить Polyface и 2D Polylines.

Альтернативные подходы к сохранению карты в DXF/DWG

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

Выходом в последнем случае может быть назначение средствами AutoCAD типов линий каждому слою, переданному из Digitals. Если экспортируется карта на базе одного и того же шаблона Digitals, то процесс можно попытаться немного автоматизировать:

1.Сохраните одну из карт в формат DXF/DWG.

2.В среде AutoCAD назначьте подходящие типы и цвета линий соответствующим слоям.

3.При необходимости, можно произвести редактирование Блоков, которые соответствуют Одиночным символам Digitals. Имена блоков включают в себя код слоя, поэтому идентифицируются однозначно.

4.Удалите все объекты в отредактированном файле DWG и сохраните его (можно даже в виде DWT шаблона).

5.Теперь сохраняйте ваши карты DMF в DXF/DWG и, уже в среде AutoCAD, копируйте полученные объекты в созданный на предыдущем этапе шаблон. Совпадающие слои и блоки приобретут вид, предусмотренный шаблоном.

Разумеется, что при таком подходе, все объекты, для которых невозможно подобрать подходящего типа линии в AutoCAD, придется преобразовать перед сохранением вручную, обратившись к команде Символ в объект. Это прежде всего касается таких объектов, как откосы (линейно-масштабируемый тип знака) и линии электропередач (линейно-

ориентируемый).

В некоторых случаях требования к карте в формате DWG могут быть еще более сложными. Например, в практике автора был случай, когда выдвигалось требование передачи рельефной части карты примитивами 3D Полилиния, при том, что остальная часть карты должна была оставаться “плоской”.

Разумеется, выход из этой ситуации был найден и заключался в следующем:

1.Карта разделяется на части. Если карт много, то можно создать несколько шаблонов карты Digitals с требуемыми вариантами наборов слоев и отфильтровывать лишние слои с помощью команды

Вставка > Карта в шаблон….

2.Каждая часть сохраняется отдельно, с предварительной установкой необходимых настроек записи.

3.Сборка конечной карты осуществляется уже в среде AutoCAD из всех сохраненных на предыдущем этапе частей.

Псевдонимы имен слоев и блоков

В режиме сохранения имен слоев можно применять псевдонимы для имен слоев и записываемых Блоков. Псевдонимы определяют имена, которые будут записаны в файл DXF/DWG вместо имен, применяемых в

Digitals.

Отметим, что вместо псевдонимов можно пользоваться специальными версиями шаблонов карт, в которых слои заранее переименованы требуемым образом. Перед сохранением карту просто можно вставить в соответствующий шаблон. Впрочем, если требуется задать имена для сохраняемых символов (блоков), то альтернативы псевдонимам нет.

Псевдоним указывается в Менеджере слоев. Для этого после имени слоя добавляется символ @ (собачка) и указывается ИмяСохраняемогоСлоя. При необходимости после псевдонима слоя можно указать псевдоним соответствующего слою символа, который в AutoCAD станет Блоком. Для этого наберите символ : (двоеточие) и укажите ИмяСохраняемогоСимвола.

264

Особенности чтения файлов DXF/DWG

Например, имя слоя может иметь следующий вид (разумеется, без кавычек): “Деревья отдельно стоящие@TREES:SYM_TREE”.

Особенности чтения файлов DXF/DWG

Как и в случае записи, при чтении файлов формата DWG Digitals также использует неявный запуск установленного в системе AutoCAD. Для DXF такой нужды нет - этот формат читается непосредственно.

Кратко рассмотрим, как Digitals преобразует примитивы AutoCAD при чтении.

Точки преобразуются в Пикеты или Одиночные символы.

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

2D и 3D полилинии распознаются со своими высотами. При этом импорт из DWG реализован несколько качественнее: поддерживаются сглаженные полилинии и распознаются толщины. Линейный знак, присвоенный в AutoCAD, не передается. Тем не менее, как и в случае с блоками, вы можете назначить слою подходящий знак после импорта.

Тексты преобразуются в точечные объекты с соответствующей вынесенной подписью. В Digitals нет отдельного текстового объекта, поэтому реализован такой вот компромиссный вариант.

При чтении из DWG программа также пытается преобразовывать Штриховки. Соответствующим слоям назначаются атрибуты заливки.

Некоторые объекты (например, Сплайны) программа читать не умеет. К нечитаемым объектам можно попробовать заранее применить команду Расчленить (Explode) среды AutoCAD, чтобы преобразовать их в более простые типы примитивов. При желании, подобным образом можно передавать и Вхождения блоков.

Залог успешного импорта - это грамотное распределение объектов по слоям и относительная простота примитивов, находящихся в файле DXF/DWG. В этом случае довольно просто облагородить внешний вид импортированной карты, присвоив слоям условные знаки. Если список слоев повторяется от файла к файлу, то можно даже создать шаблон карты с назначенными знаками и копировать в него карту после импорта.

Если в чертеже AutoCAD примитивы используются бессистемно, то можно посоветовать “расчленить” все что возможно. В этом случае удастся получить хотя бы некое подобие читаемой подложки.

ArcGIS SHP

Формат ArcGIS SHP (файлы данного формата часто называют шейпами) имеет открытую спецификацию и долгую историю. Организация файлов строгая и одновременно простая. В каждом конкретном файле могут храниться геометрические фигуры одного типа (точки, полилинии, полигоны и так далее), а каждому объекту в этом файле соответствует запись в файле базы данных формата DBF, который вмещает в себя все характеристики объектов.

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

Из этого правила есть два дополняющих друг друга исключения:

механизм, предусматривающий сохранение нескольких слоев в один файл (посредством организации

групп слоев);

механизм автоматического разделения файла SHP на несколько слоев при открытии (константа

ShapeLayerField).

Но, обо всем по порядку.

Чтение

Прочитать шейп очень просто:

265

Источник: https://studfile.net/preview/16666704/