Разработать структуру слоя для решения транспортных задач

Рассмотрим создание типовых объектов на примере решения транспортных задач. Вне зависимости от предполагаемого применения ZuluGIS изучение этого примера будет полезно для обучения созданию любых видов типовых объектов.

Первым этапом будет создаваться простой векторный слой с названием Дороги. К слою надо создать базу данных, которая в дальнейшем будет подключаться к одному из типов объектов.

Для создания слоя:

  1. Выберите пункт меню Слой|Создать.

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

  3. Нажмите кнопку Система координат и выберите систему координат слою. В примере используется система координат Сферический Меркатор WGS84. Если система координат для слоя указана не будет, то слой будет создан в системе координат карты.

  4. Для создания базы данных установите флажок Создать таблицу.

  5. В качестве примера добавим одно поле с наименованием дорог. Внесите в столбец Имя поля - Название, из столбца Тип выберите - Строковое, длину измените на 100. При необходимости в дальнейшем базу данных можно будет отредактировать, например добавить поля.

  6. Проверьте чтобы была установлена галочка Добавить в карту.

  7. Нажмите кнопку ОК.

    Создание типа объекта

    Рисунок 232. Создание типа объекта


Слой будет создан и добавлен в открытую карту.

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

Для создания типовых объектов слоя:

  1. Откройте структуру слоя Дороги. Для этого щелкните правой кнопкой мыши по слою Дороги в окне Рабочее место и выберите в открывшемся контекстном меню пункт Структура. Откроется диалог Структура слоя.

  2. Добавьте новый тип объектов - Дорога. Для этого, в диалоге структуры слоя нажмите кнопку Новый и в открывшемся списке выберите пункт Новый тип.

  3. В поле Название области настроек типа напишите: Дорога.

  4. В группе настроек Графический тип: включите переключатель Линейный, и установите флажки участок и отсекающий.

  5. Подключите к типу базу данных. Для этого из списка База данных выберите базу Дороги.

    Создание типа объекта

    Рисунок 233. Создание типа объекта


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

    Создание типа объекта

    Рисунок 234. Создание типа объекта


  6. Добавьте в созданный тип режим Двустороннее движение. Для этого выделите тип Дорога, сделайте щелчок правой кнопкой мыши и в открывшемся контекстном меню выберите Новый режим.

  7. В поле Название области настроек режима напишите: Двустороннее движение.

  8. Установите цвет отображаемой линии, стиль, толщину линии при печати и толщину линии на экране. В поле со списком Состояние установите значение Включен.

    Создание режима объекта

    Рисунок 235. Создание режима объекта


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

  10. Аналогичным образом добавьте режим с названием Проезд закрыт. Установите для него цвет отображаемой линии, стиль и толщину. В поле Состояние выберите значение Отключен.

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

  12. В поле Название настроек типа напишите: Перекресток, В группе настроек Графический тип включите переключатель Символьный, установите флажок объект инженерных сетей и включите переключатель узел. Подключите к нему ту же базу данных, для этого из списка База данных выберите базу Дороги.

  13. Создайте для типа Перекресток новый режим с таким же названием.

  14. Создайте символ режима. Для этого нажмите кнопку Новый в области настроек режима и в открывшемся окне графического редактора на панели редактора выберите инструмент для рисования символа (например – ввод эллиптического контура).

  15. На панели форматирования задайте параметры создаваемого объекта. Диалог настроек стиля контура открывается кнопкой , задаются цвет узора, узор (по умолчанию узором является сплошная заливка цветом), толщина, цвет и стиль линии.

  16. В рабочем поле окна редактора в центре нарисуйте символ (например, окружность).

    Редактирование символа узла

    Рисунок 236. Редактирование символа узла


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

  18. Сохраните всю структуру слоя нажав кнопку Сохранить.

  19. После проделанных действий в окне Структура слоя, в дереве типов и режимов будут отображены все созданные типы и режимы.

Диалог «Структура слоя»

Рисунок 237. Диалог «Структура слоя»


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

На рисунке, представленном ниже, изображена карта с нанесенной дорожной сетью, на которой найден самый короткий путь от одной заданной точки до другой с учетом направлений (подробней про поиск пути).

Изображение карты с нанесенной дорожной сетью

Рисунок 238. Изображение карты с нанесенной дорожной сетью