AnyLogic
Развернуть
Размер шрифта

Road Network Descriptor

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

Кроме того, с помощью этого блока вы можете включить отображение пробок на дорогах.

Параметры

Дорожная сеть
Дорожная сеть , свойства которой задает этот блок.
Синтаксис: RoadNetwork roadNetwork
Изменить значение: set_roadNetwork(новое значение)
Длина участка дороги
Длина дорожной секции (не может быть меньше 1 метра). Все дороги сети делятся на секции одинаковой длины (секция в конце дороги может быть короче). Эти секции используются в карте пробок на дорогах и отчетах о средней скорости.
Синтаксис: double roadSectionLength
Изменить значение: set_roadSectionLength(новое значение)

Карта пробок на дорогах

Показывать пробки
Если опция выбрана, карта пробок будет видна, в противном случае — не видна. Карта пробок представляет собой полупрозрачное окрашивание дороги в цвет, который зависит от средней скорости автомобиля на каждой секции дороги. Анимация карты пробок доступна как в 2D, так и в 3D.
Синтаксис: boolean enableDensityMap
Изменить значение: set_enableDensityMap(новое значение)
Зеленый цвет, если скорость выше
[Параметр виден, если выбрана опция Показывать пробки]
Если средняя скорость автомобилей на секции дороги равна либо больше значения этого параметра, карта пробок для этой секции будет окрашена в зеленый цвет. Значение параметра Зеленый цвет, если скорость выше всегда должны быть больше значения параметра Красный цвет, если скорость выше.
Синтаксис: double greenSpeedLevel
Изменить значение: set_greenSpeedLevel(новое значение)
Красный цвет, если скорость ниже
[Параметр виден, если выбрана опция Показывать пробки]
Если средняя скорость автомобилей на секции дороги равна либо меньше значения этого параметра, карта пробок для этой секции будет окрашена в красный цвет.
Синтаксис: double redSpeedLevel
Изменить значение: set_redSpeedLevel(новое значение)
Прозрачность (0 = прозрачный)
[Параметр виден, если выбрана опция Показывать пробки]
Прозрачность карты пробок на дорогах. Значение этого параметра может варьироваться в пределах [0...1], где 0 — непрозрачная карта, 1 — прозрачная карта.
Синтаксис: double densityMapTransparency
Изменить значение: set_densityMapTransparency(новое значение)

Действия

При входе в сеть
Код выполняется каждый раз, когда автомобиль поступает в дорожную сеть.
Локальная переменная: car — автомобиль, поступающий в дорожную сеть
При выходе из сети
Код выполняется каждый раз, когда автомобиль покидает дорожную сеть.
Локальная переменная: car — автомобиль, покидающий дорожную сеть
При въезде на дорогу
Код выполняется каждый раз, когда автомобиль въезжает на дорогу.
Локальные переменные:
car — автомобиль, въезжающий на дорогу
Road road — дорога, на которую въезжает автомобиль
boolean isRoadForward — true, если автомобиль въезжает на полосу основного движения, false в противном случае
При съезде с дороги
Код выполняется каждый раз, когда автомобиль съезжает с дороги.
Локальные переменные:
car — автомобиль, который съезжает с дороги
Road road — дорога, с которой съезжает автомобиль
boolean isRoadForward — true, если автомобиль двигался по полосе основного движения, false в противном случае
При въезде на перекрёсток
Код выполняется каждый раз, когда автомобиль въезжает на перекресток.
Локальные переменные:
car — автомобиль, который въезжает на перекресток
Intersection intersection — перекресток, на который въезжает автомобиль
При съезде с перекрёстка
Код выполняется каждый раз, когда автомобиль съезжает с перекрестка.
Локальные переменные:
car — автомобиль, который съезжает с перекрестка
Intersection intersection — перекресток, с которого съезжает автомобиль
При смене полосы
Код выполняется каждый раз, когда автомобиль завершает вираж смены полосы.
Локальные переменные:
car — автомобиль, который завершает вираж смены полосы
Road road — дорога, на которой находится автомобиль во время смены полосы
boolean isRoadForward — true, если автомобиль движется по дороге в основном направлении, false — в противном случае
int previousLaneIndex — индекс полосы (нумерация начинается с нуля), которую покинул автомобиль
int currentLaneIndex  — индекс полосы (нумерация начинается с нуля), на которую переместился автомобиль
При остановке
Код выполняется каждый раз, когда автомобиль останавливается. Для остановки автомобиля может быть несколько причин:
  • впереди есть автомобиль, который не движется
  • автомобилю задана нулевая предпочитаемая скорость
  • автомобиль остановился перед стоп-линией
  • автомобиль достиг пункта назначения (автобусная остановка или парковочное место)
Локальные переменные:
car — автомобиль, который остановился
Road road — дорога, на которой находится автомобиль после остановки или null, если автомобиль остановился за пределами дороги (к примеру, на перекрестке)
boolean isRoadForward — true, если автомобиль двигался по дороге в основном направлении движения, false — в противном случае
При возобновлении движения
Код выполняется каждый раз, когда автомобиль возобновляет движение после остановки.
Локальные переменные:
car — автомобиль, который возобновил движение
Road road — дорога, на которой находится автомобиль, во время возобновления движения или null, если автомобиль находится за пределами дорог (к примеру, на перекрестке)
boolean isRoadForward — true, если автомобиль двигается по дороге в основном направлении движения, false — в противном случае
При щелчке по автомобилю
Код выполняется каждый раз, когда вы щелкаете по автомобилю мышкой.
Локальная переменная: car — автомобиль, по которому щелкают мышкой

Дополнительные настройки

Авторазрешение заторов
Включает / отключает авторазрешение заторов. Затор — это ситуация, в которой автомобили создают друг другу помеху и не могут продолжить движение. Если эта опция выбрана, библиотека определит наличие затора и временно позволит автомобилям проезжать сквозь друг друга, чтобы избежать полной блокировки модели.
Синтаксис: boolean automaticallyResolveDeadlocks
Изменить значение: set_automaticallyResolveDeadlocks(новое значение)
Точность геом. вычислений
Точность геометрических вычислений (в пикселях). Параметр можно изменить, если модель не запускается с текущими настройками.
Синтаксис: double geometricCalculationsPrecision Изменить значение: set_geometricCalculationsPrecision(новое значение)
Точность вычислений времен
Точность вычислений времен (в секундах). Параметр можно изменить, если модель не запускается с текущими настройками.
Синтаксис: double temporalCalculationsPrecision
Изменить значение: set_temporalCalculationsPrecision(новое значение)

Функции

Функция Описание
int size() Возвращает количество автомобилей в дорожной сети.
Agent getCar(int index) Возвращает автомобиль с заданным индексом в этой дорожной сети или null, если нет такого автомобиля.
Как мы можем улучшить эту статью?