А.В. Скворцов
РЕАЛИЗАЦИЯ ПАКЕТА ТРАНСПОРТНЫХ ЗАДАЧ В ГЕОИНФОРМАЦИОННОЙ СИСТЕМЕ ГрафИн
Описывается пакет транспортных задач, реализованный автором в рамках геоинформационной системы ГрафИн. Рассматриваются базовые задачи поиска кратчайших маршрутов, оптимального маршрута обхода, поиска ближайших пунктов обслуживания и построения зон сервисного обслуживания. Описываются реализация алгоритма расчета пассажиропотоков на основе модели корреспонденций и распределение пассажиропотоков на дороги. Кратко описываются используемые структуры данных и алгоритмы.
Задачи поиска кратчайших маршрутов, ближайших пунктов сервисного обслуживания, расчета зон обслуживания часто возникают на практике в различных сферах деятельности. Соответствующими модулями для решения таких задач в той или иной постановке обладают многие современные геоин-формационные системы (ГИС) [1]. Автором выполнена реализация пакета решения таких задач для ГИС ГрафИн [2].
Отличительными чертами описываемого пакета от других являются:
- специализированные структуры данных, позволяющие значительно упростить ввод и редактирование транспортной сети, и специальные инструменты контроля её качества;
- поддержка транспортных маршрутов для расчета кратчайших маршрутов передвижения на общественном транспорте и расчета транспортной загрузки дорог;
- расчет межрайонных транспортных связей на основе модели корреспонденций и распределение пассажиропотоков на дороги по методике Л. А. Яковлева [3].
В настоящей работе описывается реализация данного пакета, выполненная в рамках геоинформационной системы ГрафИн 4.0, а также используемые структуры данных.
Структуры данных
Для решения транспортных задач с ГИС ГрафИн был разработан формат данных, доступный в системе как «слой транспортной сети» (рис. 1). Для его создания нужно выбрать в меню ГИС ГрафИн пункт Слой | Создать новый слой I Слой транспортной сети. После этого, если уже существуют данные с транспортной сетью в формате линий шейп-файлов, их можно импортировать по команде Фигуры | Добавить из файла. При этом линии загрузятся и автоматически соединятся в топологическую сеть. После этого можно использовать обычные штатные средства ГИС ГрафИн для редактирования данных.
Рис. 1. Внешний вид слоя транспортной сети в ГИС ГрафИн
Транспортная сеть в ГИС ГрафИн состоит из следующих элементов.
1. Узлы. Обычно это перекрестки автодорог. Узлы могут выступать в качестве остановок маршрутного транспорта. Узел может характеризоваться названием и временем проезда. По умолчанию время проезда не задается, и оно считается равным нулю.
2. Дуги. Перегоны между отдельными перекрестками автодорог. Для каждой дуги может быть задано название (имя улицы или шоссе), допустимое направление движения, время проезда по дуге, класс автодороги (это определяет максимальную скорость движения).
3. Повороты. Эти элементы хранятся как специ-
альные атрибуты узлов. Они позволяют указывать время выполнения поворотов или запрещать их вообще. На рис. 2 приведен пример редактирования поворотов на некотором перекрестке.
4. Маршруты. Маршруты в транспортной сети определяются как последовательность смежных узлов транспортной сети. Некоторые из узлов при этом могут быть помечены как остановки. На отдельных перегонах между остановками можно запретить движение с пассажирами (обычно на конечных остановках). Для каждого маршрута можно задать его тип (автобус, троллейбус, трамвай, маршрутное такси, метро или электричка), номер маршрута, известный объем перевозок за день.
Рис. 2. Редактирование поворотов
При изображении маршрутов на карте ГИС ГрафИн автоматически размещает линии маршрутов вдоль улиц, исключая их взаимное наложение. До-
полнительно при отображении транспортной сети на карте можно представить остановки общественного транспорта. При этом автоматически отображаются списки маршрутов, останавливающихся на данной остановке.
Базовые задачи
Одной из наиболее часто возникающих транспортных задач является поиск кратчайших маршрутов. В ГИС ГрафИн для этого надо выбрать команду Транспорт | Кратчайший обход пунктов, после чего задать список точек на карте, между которыми нужно найти маршрут. Также можно указать необходимость поиска оптимального порядка обхода точек (задача коммивояжера).
После ввода данных система ГрафИн находит кратчайший маршрут, отображает его на карте в виде толстых красных линий (рис. 3) и выдает текстовое описание маршрута (рис. 4).
[ії%. V1111|: V 'К-:|
Рис. 3. Поиск кратчайшего маршрута Я
Рис. 4. Текстовое описание найденного маршрута
Алгоритмически при поиске маршрутов по автодорогам вначале выполняется преобразование транспортной сети в ориентированный граф. Каждому перекрестку п улиц сопоставляется 2п узлов графа, одной половине которых соответствуют въезды на перекресток, а другой - выезды. Кроме того, каждый въезд соединяется ориентированным ребром со всеми выездами.
Каждой дуге транспортной сети ставятся в соответствие два ориентированных ребра графа, соединяющих выезды с одних перекрестков с въездами на других. В соответствии с указанными временами проездов по дугам и ребрам сети, а также временами выполнения соответствующих поворотов назначаются веса ребер графа.
При выполнении поиска по сети маршрутного транспорта каждой остановке маршрутного транспорта в графе сопоставляется вершина. Каждый маршрут в графе представляется в виде цепочки ребер и узлов, соответствующих остановкам. Причем каждый маршрут имеет свою частную вершину около каждой остановки, и имеется одна общая вершина для остановки. Эти частные и общие вершины соединяются ребрами, которым в качестве весов назначаются средние времена посадки и высадки из общественного транспорта. Для каждого ребра внутри маршрута вычисляется стоимость как время проезда между остановками, определяемое из средней скорости движения данного вида транспорта.
После построения графа в него добавляются специальные ребра и узлы с исходными пунктами посещения, и затем вызывается алгоритм Форда поиска кратчайших маршрутов.
Следующей задачей является поиск ближайших пунктов сервисного обслуживания. Для этого необходимо задать слой с пунктами сервисного обслуживания и указать список точечных событий. После этого для каждого события будут найдены п ближайших пунктов и отображены на карте (рис. 5).
Рис. 5. Ближайшие пункты обслуживания
Решение данной задачи выполняется аналогично алгоритмам поиска кратчайших маршрутов. Алгоритм Форда применяется отдельно для каждого точечного события. При этом вычисляются расстояния от события до всех узлов транспортной сети, в том числе и до всех заданных пунктов обслуживания.
Следующей является задача расчета зон сервисного обслуживания, когда для каждого пункта нужно найти территорию, в пределах которой этот пункт будет ближайшим (рис. 6). Решение данной задачи также выполняется аналогичными алгоритмами, что и предыдущие задачи.
1) в каждом транспортном районе в среднем должны проживать не более 10 тыс. жителей;
2) площадь района, как правило, не должна превышать 1 кв. км;
3) диаметр района не должен превышать 2 км;
4) центр района обычно выбирается вокруг местного делового центра, крупного магазина или перекрестка больших дорог.
Все транспортные районы должны быть представлены в системе ГрафИн в виде слоя полигонов.
Базовыми понятиями при вычислении связей между районами являются возможности (например, число жителей) и притягательности (например, количество рабочих мест) транспортных районов.
В качестве транспортной доступности берутся среднее время проезда на личном, маршрутном транспорте или время ходьбы пешком из одного района в другой. Для этого в системе ГрафИн для каждой пары районов делается расчет времени выполнения всех трех видов передвижений и на основании специальных настраиваемых экспертных алгоритмов вычисляется уровень приемлемости передвижения.
Межрайонные связи
Тяготение J Приемлемость I Передвижения I Транспортная сеть | Районы------------------------------------------------------
*]
Слой с районами: Названия районов: Код группировки:
I Е Микрорайоны ~3\ ^ 2 (super J
3
•Рассчитываемые виды передвижений (вид тяготения районов)-С Произвольные
Возможности районов: Притягательность районов:
!.........................zi\~
(* ;Т рцдовые передвижения [категория А1 С Кчльтчрно-быговые передвижения из дома [категория Б1 С Кчльтчрно-быговые передвижения не из дома (категория В1 С Все виды передвижений [трчдовые + кчльтчрно-быговые!
Население районов: Рабочих мест: Объем услуг:
PJPDPUL 3 I 3
Подвижность населения по категориям, передвижений/чел7год: Трудовые: |25Ü ~г| Издома: |400 Неиздома. |200 “Н
Ф Выдать отчет о результатах расчетов
0К
Отмена
Рис. 6. Карта зоны сервисного обслуживания
Расчет транспортных районов и пассажиропотоков
Задача расчета пассажиропотоков в городской среде постоянно возникает в городских службах управления движением общественного транспорта и при проектировании городских путей сообщения.
В системе ГрафИн в основе алгоритмов расчетов пассажиропотоков лежит так называемая модель корреспонденций, позволяющая косвенным образом вычислить степень притяжения различных транспортных районов города на основании их населения, количества рабочих мест, объема предоставляемых услуг и взаимной транспортной доступности между ними.
Прежде чем приступить к расчетам, необходимо разделить город на транспортные районы, которые выбираются исходя из следующих принципов:
Рис.7. Зоны сервисного обслуживания
После расчета приемлемости передвижений между конкретными парами районов выполняется расчет конкретных пассажиропотоков между районами. В системе ГрафИн можно указать три основных наиболее употребительных вида передвижений между районами (рис. 7).
1. Трудовые передвижения (из дома на работу). Возможности районов: число жителей, притягательности районов: число рабочих мест.
2. Культурно-бытовые передвижения из дома. Возможности районов: число жителей, притягательности районов: объем предоставляемых услуг.
3. Культурно-бытовые передвижения не из дома. Возможности районов: число рабочих мест, притягательности районов: объем предоставляемых услуг.
Кроме того, можно рассчитать все эти 3 вида передвижений и усреднить результат, исходя из подвижности населения по категориям.
Иногда возникает необходимость расчета специфических видов передвижений (студентов из студенческих городков до места учебы, дачников на дачи).
В этом случае можно задать произвольные возможности и притягательности транспортных районов.
Результат расчета потоков между районами можно отобразить на карте в виде картограмм, где большая толщина линий показывает больший поток. Для удобства восприятия информации межрайонные потоки могут быть сгруппированы по некоторому признаку (рис. 8).
Следующим этапом после расчета пассажиропотоков между транспортными районами является распределение этих потоков на дороги для определения реальной загрузки улиц. В литературе существует значительный разнобой в выборе способа такого распределения, поэтому автором используется несколько модифицированный вариант Л. А. Яковлева [3]. Все существующие потоки распределяются долями по 10 %. Каждая доля распределяется на один кратчайший путь между центрами транспортных районов.
Рассчитанные потоки на дорогах отображаются на карте в виде картограмм пассажирских потоков по улицам (рис. 9).
Рис. 8. Сгруппированные связи между районами
Расчет характеристик транспортных районов
*1
'Районы и результат расчетов-Слой транспортных районов:
| 13 Микрорайоны
Население поместить в атрибут районов:
3\ Рори! [РОРЦЦ
'Вид расчета— (• Расчнгать і
іаселение районов, исхсдя из площади и этажности
слои здании.
словие жилого здания.
Площадной слой зданий. Этажность.
| В Здания 3 | ' •: 3[
С Расчитать население районов как г.чммч числа жильцов жилых зданий Слой со зданиями: Число жильцов: Условие жилого здания:
| Н Здания 3 I 3 I 3
С Расчигать число рабочих мест в районах как счммч рабочих мест предприятий Слой с предприятиями: Число рабочих мест: Усповие предприятия:
I 31 31
С Расчитать число пчнктов обслчживания в регионе
Точечный слой с пунтами обслуживания
Г~ классифицировать районь по принадлежности счпеоэайонам Площадной слой с суперрайонами:
Общее население города: 500 тыс.жиг.
Рис. 10. Косвенный расчет характеристик района
Рис. 9. Рассчитанные пассажиропотоки на дорогах г. Томска
В заключение остановимся на подготовке данных по транспортным районам. В геоинформационную систему ГрафИн входит специальная команда, позволяющая косвенно рассчитать некоторые параметры районов (рис. 10):
1) население районов, исходя из этажности жилых зданий;
2) население районов как сумма числа жильцов всех жилых зданий в районе;
3) число рабочих мест как рабочих мест на предприятиях.
4) количество пунктов обслуживания в районе по количеству точек с пунктами, попадающими в район.
Эта же команда может классифицировать транспортные районы по принадлежности городским районам для выдачи сгруппированных потоков между городскими районами.
тзг
Усповие учета-
1
ЛИТЕРАТУРА
1. Кошкарёв А.В., Тикунов В.С. Геоинформатика. М.: Картгеоцентр-Геодезиздат, 1993. 213 с.
2. Скворцов А.В. Геоинформационная система ГрафИн 4.0 и ее применения // Наст. журн.
3. Рекомендации по комплексному применению пакетов прикладных программ в разработке генеральных планов городов / ЦНИИП градостроительства. М.: Стройиздат, 1989. 176 с.
Статья представлена кафедрой теоретических основ информатики факультета информатики Томского государственного университета, поступила в научную редакцию номера 3 декабря 2001 г.