Далее будет рассмотрено создание типовых объектов на примере решения транспортных задач. Вне зависимости от предполагаемого применения ZuluGIS изучение этого примера будет полезно для обучения созданию любых видов типовых объектов.
До создания типовых объектов предварительно должен быть создан слой (меню Дороги.
) с пользовательским названиемДля создания типовых объектов слоя:
Откройте диалог структуры слоя Дороги. Для этого выберите пункт меню (или нажмите на панели инструментов кнопку ), в появившемся стандартном окне выбора выберите слой Дороги и нажмите кнопку . Либо щелкните правой кнопкой мыши по слою Дороги в панели Рабочее место и выберите в открывшемся контекстном меню пункт . Откроется диалог Структура слоя.
Добавьте тип Дорога. Для этого, в диалоге структуры слоя нажмите кнопку панели инструментов и в открывшемся списке выберите пункт , либо выберите пункт меню диалога .
В поле Название области настроек типа напишите: Дорога.
В группе настроек Графический тип: включите переключатель Линейный, и установите флажки участок и отсекающий.
Рисунок 254. Создание типа объекта
Добавьте в созданный тип режим Двустороннее движение. Для этого, нажмите кнопку панели инструментов и в открывшемся меню выберите пункт , либо выберите пункт меню диалога – .
В поле Название области настроек режима напишите: Двустороннее движение.
Установите цвет отображаемой линии, стиль, толщину линии при печати и толщину линии на экране. В поле со списком Состояние установите значение Включен.
Рисунок 255. Создание режима объекта
Добавьте к типу Дорога режим Одностороннее движение. Для этого добавьте к типу еще один режим (как описано в пункте 5), в поле название параметров режима введите: Одностороннее движение, задайте цвет отображаемой линии, стиль и толщину. В поле Состояние выберите значение Прямая проводимость. Данный режим проводит по направлению ввода (по стрелке).
Аналогичным образом добавьте режим с названием Проезд закрыт. Установите для него цвет отображаемой линии, стиль и толщину.
В поле Состояние выберите значение Отключен.
Так как в основе математической модели сети лежит граф, а он, как известно, состоит из узлов соединенных дугами, то возникает необходимость создать типовой объект, который будет играть роль узлов в графе. Для создания типа нажмите кнопку
панели инструментов и в открывшемся меню выберите пункт , либо выберите пункт меню диалога .В поле Название настроек типа напишите: Перекресток, В группе настроек Графический тип включите переключатель Символьный, установите флажок объект инженерных сетей и включите переключатель узел.
Создайте для типа Перекресток новый режим с таким же названием.
Создайте символ режима. Для этого нажмите кнопку
в области настроек режима и в открывшемся окне графического редактора на панели редактора выберите инструмент для рисования символа (например – ввод эллиптического контура).На панели форматирования задайте параметры создаваемого объекта. Диалог настроек стиля контура открывается кнопкой , задаются цвет узора, узор (по умолчанию узором является сплошная заливка цветом), толщина, цвет и стиль линии.
В рабочем поле окна редактора нарисуйте символ (например, окружность).
В поле Название введите пользовательское название символа.
При необходимости задайте (измените) точку привязки символа.
Рисунок 256. Редактирование символа узла
Нажмите кнопку чтобы сохранить символ и закройте окно редактора.
Сохраните всю структуру слоя нажав кнопку
или выбрав пункт меню диалога – .После проделанных действий в окне Структура слоя, в дереве типов и режимов будут отображены все созданные типы режимы.
Рисунок 257. Диалог «Структура слоя»
После создания структуры слоя типовые объекты можно наносить на карту. Процесс нанесения дорожной сети аналогичен нанесению инженерной сети (см. справку ZuluThermo, ZuluHydro, ZuluSteam, ZuluGaz).
На рисунке, представленном ниже, изображена карта с нанесенной дорожной сетью, на которой найден самый короткий путь от одной заданной точки до другой с учетом направлений (подробно про поиск пути см. «Поиск пути по графу»).
Рисунок 258. Изображение карты с нанесенной дорожной сетью