Глава 6. Классификатор
Or Одиночный
Простейший тип, предназначеный для отрисовки внемасштабных знаков, например, колодцев, деревьев, столбов. Точка привязки такого знака может находиться в центре (как например в случае столба), в основании (памятники, одиночные деревья) либо в другом месте, предусмотренном графическим решением знака.
Знак этого типа можно назначить не только слоям типа Пикет или Одиночный символ, но и типа Полигон/Полилиния. В последнем случае, знак будет рисоваться в каждом узле контура. Этот прием, в комбинации со стилем линии, заданным в атрибутах слоя, используется в шаблоне Normal.dmf для отображения слоя “IN4_Ділянка”.
Отрисовку на первой и/или последней точке линейного объекта можно запретить, убрав галочки
Первый и/или Последний в группе Размер.
Ln Линейный
Предназначен для отображения линейных контуров. Примерами могут быть знаки оград, контуров растительности и тому подобные. Точка привязки линейного знака обычно расположена слева, а длина знака определяет шаг, с которым он повторяется вдоль контура.
Для знаков этого типа можно применить галочку Эластик в группе Размер. Опция растягивает элементы знака на всю длину объекта, вместо того, чтобы тиражировать их. Позволяет создавать на базе линии из двух точек знаки мостов, указательных стрелок и тому подобное.
Ar Площадной
Площадной знак предназначен для заполнения контуров повторяющимися элементами. Примеры: газон, луг, сад и тому подобное.
При создании знаков этого типа можно предусмотреть группировку элементов, которая позволяет получить более качественное заполнение. Об этом ниже в разделе «Группировка элементов».
OL Линейно-ориентированный
Типичным примером применения данного типа знака является отображение линий электропередач. В отличии от линейного знака, линейно-ориентированный не тиражируется с постоянным шагом, а рисуется только на узлах объекта в направлении предыдущей и следующей точки объекта.
Отрисовку на первой и/или последней точке объекта можно запретить, убрав соответствующие галочки в группе Размер.
SL Линейно-масштабируемый
Данный тип применяется для отрисовки объектов, ограниченных верхней и нижней кромкой, например, откосов и обрывов. Чтобы знак правильно отрисовывался, объект, которому назначен данный тип знака, должен собираться в виде полилинии с разрывом (смотрите раздел «Особенности сбора объектов с разрывом» в Гл.5, «Сбор и правка объектов»).
Для того, чтобы знак масштабировался (растягивался) от кромки к кромке, при его создании первой должна быть нарисована служебная линия, которая будет определять высоту знака (то есть предел масштабирования).
Как это можно видеть на примере знака откосов и насыпей, по умолчанию штрихи знака отрисовываются перпендикурярно к верхней кромке объекта. Если включить галочку Эластик в группе Размер, то программа будет пытаться отрисовывать штрихи, учитывая реальную конфигурацию верхней и нижней кромок, что может дать более качественный результат. Эта настройка влияет на все объекты карты, изображенные данным условным знаком.
OrC Одиночно-угловой
Напоминает линейно-ориентированный знак. Отрисовывается в узле объекта по направлению биссектрисы угла, составленного предыдущей, текущей и следующей точкой. Используется, например, для изображения знаков мостов, беседок, навесов и тому подобных.
Можно использовать в сочетании с линейно-угловым знаком, объединяя их в цепочку. О цепочках ниже в разделе «Цепочки знаков».
CL Линейно-угловой
Этот тип совмещает в себе преимущества линейного и линейно-ориентированного знаков. Знак тиражируется вдоль контура и, дополнительно, отрисовывается на узлах. Позволяет
156
Создание и редактирование знака
получать гарантированно отрисованные углы при применении штриховых линий, например, при отображении знака проектируемых кварталов.
DL Двулинейный
Позволяет совмещать два линейных знака в одном. Элементы знака объединяются в две группы, а сам объект собирается в виде полилинии с разрывом, состоящей из двух фрагментов, которые, как правило, идут параллельно друг другу. Одна из групп применяется в качестве линейного знака к первому фрагменту, вторая группа, соответственно, ко второму. Как именно выполняется группировка элементов рассказывается немного ниже.
Такой знак может пригодиться, когда есть необходимость использовать в одном объекте два вида линейных знаков для разных сторон объекта. Например, для отрисовки границ, шоссе, каналов и в тому подобных случаях. Пример знака можно увидеть в файле Полоса.dmf в папке Maps \Samples.
ShA Штриховка абсолютная
Используется для создания штриховки, заполняющей контур объекта. При этом штрихи сохраняют постоянное ориентирование в карте (относительно направления на север).
ShR Штриховка относительная
То же, что и штриховка абсолютная, но ориентирование (наклон) штриховки привязывается к самому объекту.
Как видите, возможности создания знаков довольно обширны. Лучший способ понять, как строить свои знаки, это довериться эксперименту, используя в качестве отправной точки знаки доступные в шаблонах карт, поставляемых вместе с программой. Также обратите внимание на примеры знаков, которые можно найти в папке Maps\Samples программной папки и в
Галерее полезных примеров на форуме2.
Знак состоит из элементов, то есть простых геометрических фигур. Нарисовать требуемые элементы можно, включив один из режимов рисования на панели инструментов окна.
•Режим рисования фигуры действует пока не выключен явно или не выбран другой режим.
•Для облегчения процесса рисования можно включить “сетку”. Для этого, укажите шаг сетки в поле Размер (мм) и включите галочки Показывать сетку, Привязка к сетке в
группе Сетка на панели Правка. Размер обычно выбирается равным 0.1 мм.
•Курсор в режимах рисования приобретает форму
перекрестия.
На панели доступны следующие инструменты:
Рисовать линию
Для рисования полилинии, последовательно укажите точки щелчком левой кнопки мыши. Когда все точки будут указаны, щелкните правой кнопкой мыши для окончания построения.
Рисовать прямоугольник
Укажите первую точку диагонали прямоугольника. “Растяните” прямоугольник до нужного размера и зафиксируйте его, указав вторую точку.
Рисовать окружность
Укажите центр окружности. “Растяните” окружность и зафиксируйте ее указанием второй точки.
Рисовать полукруг
Для рисования полукруга, сначала укажите центр его диаметра, затем растяните его до требуемого размера, одновременно повернув в нужную позицию. Зафиксируйте указанием второй точки.
2 http://geosystema.net/forum/viewtopic.php?p=128#128
157
Глава 6. Классификатор
Вставить текст
Позволяет использовать в условном знаке значение параметра объекта. Чтобы создать элемент:
1.Выберите инструмент Вставить текст и проведите базовую линию, относительно которой будет ориентирована надпись.
После указания второй точки линии появится диалоговое окно с запросом номера параметра.
2.Введите номер параметра. При этом возможны следующие варианты:
•Ввести код параметра, заданный в Менеджере параметров.
•Ввести порядковый номер параметра, как мы его видим в списке на панели Инфо. В этом случае, перед номером поставьте знак # (решетка).
•Ввести относительный номер среди заполненных параметров объекта в панели Инфо. Перед номером в этом случае поставьте знак * (звездочка).
Текстовому элементу можно установить атрибуты вертикального и горизонтального центрирования относительно базовой линии. Атрибуты появляются в группе Атрибуты линии при пометке текстового элемента, как показано на Рис.6.13.
Дополнительно, можно использовать специальный атрибут |
Уплотняемый. Текст с таким |
атрибутом будет автоматически занимать место предыдущей подписи, если ее значение пустое. С этой опцией подписи всегда будут смотреться без пробелов, даже если отдельные параметры не заполнены.
Рисунок 6.13. Атрибуты текстового элемента условного знака
Текстовый элемент позволяет создавать комплексные знаки, например, колодцы подземных коммуникаций с автоматическими подписями отметок. Может использоваться для организации выносок (этот интересный вариант использования был предложен одним из участников на форуме3). Смотрите пример Maps\Samples\Vinoski.dmf в программной папке.
В качестве альтернативы условным знакам с текстовыми элементами можно предложить HTML подписи, о которых мы говорили в соответствующем разделе Гл.5, «Сбор и правка объектов».
Прежде чем изменять форму элемента знака или его атрибуты, его нужно пометить. Пометка в Менеджере подписей означает то же, что и в работе с картой, то есть выбор элемента.
•Чтобы пометить элемент, наведитесь на него
курсором мыши и нажмите левую кнопку. Если выбран не тот элемент, что вам нужен, повторите пометку. При этом пометка следующего элемента автоматически снимает пометку с предыдущего.
Пометив любой элемент, можно “пролистывать” остальные с помощью кнопки |
Пометить |
следующий. Эта возможность помогает в сложных случаях, когда необходимо пометить перекрываемые друг другом элементы.
•Пометить несколько элементов можно, одновременно удерживая клавишу Ctrl. При этом курсор приобретет форму
стрелки с плюсом.
3 http://www.geosystema.net/forum/viewtopic.php?p=7692#7692
158
Создание и редактирование знака
•Пометить все элементы знака можно, выбрав команду Select All (Пометить все) из контекстного меню рабочего поля.
•Снять пометку со всех элементов можно, щелкнув на пустом месте или выбрав команду Deselect All (Снять пометку) из контекстного меню.
Возможности редактирования элементов знака довольно ограничены. В частности, при редактировании отсутствует возможность отмены операций. Тем не менее, этих возможностей вполне достаточно для несложного редактирования - ведь знаки, как правило, содержат небольшое количество элементов.
Для более сложных случаев, в Digitals существует команда Сервис > Преобразовать > Объект в символ…, которая позволяет преобразовывать в символы предварительно помеченные объекты прямо из рабочего окна карты.
•Чтобы изменить форму помеченного элемента:
1.Наведите курсор на одну из точек полилинии или прямоугольника, любую точку на окружности или на один из концов диаметра полукруга. При этом курсор приобретет
специальную форму.
Для элемента-полилинии существует возможность удалить точку. Для этого нужно навести курсор на точку и нажать клавишу Del.
2.Нажмите левую кнопку мыши и, удерживая ее, передвигайте курсор в нужную позицию. Форма элемента будет изменяться по мере перемещения указателя мыши.
3.Отпустите кнопку мыши, когда достигнете желаемой формы элемента.
•Чтобы удалить помеченный элемент, нажмите кнопку
Удалить элементы.
•У вас есть возможность переместить элемент целиком, не изменяя его форму. Для этого:
1.Пометьте элемент (или элементы) в рабочем поле.
2.Включите кнопку
Режим перемещения.
3.“Захватите” элемент за любую из его точек и тащите в новое место.
4.Отпустите кнопку мыши после завершения перемещения.
•Элементы знака могут частично перекрываться. В этом случае может возникнуть необходимость изменить порядок отрисовки элементов знака.
1.Пометьте элемент (или элементы).
2.Воспользуйтесь контекстным меню рабочего поля, чтобы отправить элемент на передний или задний план командой Bring to front или Send to back соответственно.
К помеченным элементам знака применяются атрибуты отображения, размещенные в группах Атрибуты линии и Атрибуты заливки.
Порядок установки атрибутов отображения полностью повторяет порядок, рассмотренный ранее для слоев и параметров.
•Возможность группировки элементов знака может пригодиться при создании условных знаков типа
Площадной.
159
Глава 6. Классификатор
При заполнении объекта площадным знаком может наблюдаться неравномерность заполнения, возникающая вследствие того, что вблизи контура объекта может не хватать места на изображение всего условного знака. В качестве решения проблемы можно посоветовать объединить элементы знака в группы. Алгоритм заполнения, в случае если ему не хватит места на отображение всего знака, будет пытаться изобразить каждую из его групп отдельно.
Чтобы сгруппировать элементы:
1.Пометьте требуемые элементы.
2.Нажмите кнопку
Сгруппировать элементы.
3.Повторите, при необходимости, для других элементов.
Пример. На рисунке ниже слева группировки нет, поэтому наблюдаются некрасивые одиночные штрихи вблизи контура. Справа элементы знака сгруппированы в пары по два штришка, поэтому символ луговой растительности либо изображается целиком либо нет.
•Группы элементов применяются также при создании знака типа Двулинейный. О том, как и для чего это делается, мы говорили выше при обсуждении данного типа знаков.
Знаки можно объединять в цепочки. В этом случае, назначив слою первый знак из цепочки, мы, фактически, назначим два и больше знаков, в зависимости от длины цепочки.
Чтобы создать цепочку:
1.Выберите первый знак в каталоге и нажмите кнопку
Цепочка символов.
2.В появившемся окне назначения условного знака, аналогичном тому, что мы видели на Рис.6.4, выберите второй знак цепочки.
3.Закройте окно назначения знака кнопкой ОК.
4.При необходимости продолжите цепочку, теперь уже выбрав в каталоге второй знак и назначив ему последователя.
На практике вам вряд ли понадобится объединять в цепочки более двух знаков.
Например, объединив в цепочку одиночно-угловой знак со штриховым линейно-угловым, можно получить отличную комбинацию для отрисовки навесов, как показано ниже на рисунке.
160