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

Автобусная остановка

С помощью элемента разметки пространства Автобусная остановка вы можете нарисовать автобусную остановку на обочине дороги по направлению движения.

Чтобы промоделировать движение автобусов к остановке, используйте блок Библиотеки дорожного движения CarMoveTo. Чтобы промоделировать пребывание автобуса на автобусной остановке в течение определенного времени, поместите после блока CarMoveTo блок Библиотеки Моделирования Процессов Delay.

Моделирование автобусной остановки описано в шестой фазе Учебного пособия по Библиотеке дорожного движения.

Демо-модель: Bus Stop Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Как создать автобусную остановку

  1. Перетащите элемент Автобусная остановка из секции Разметка пространства палитры Библиотека дорожного движения на графическую диаграмму. Остановку можно рисовать только после того, как будет нарисована дорога, к которой она должна примкнуть. Перетаскивая элемент по диаграмме, вы увидите, что все фигуры, кроме дорог, будут временно скрыты.
  2. Поместите курсор у дороги в том месте, куда вы хотите установить элемент. Автобусная остановка прикрепится к дороге. Поместите остановку в нужном вам месте, перетаскивая ее мышью.
  3. Длину остановки можно изменить, перемещая квадратную метку-манипулятор на краю элемента, или указав значение в свойстве элемента Длина. Ширина же определяется свойством Ширина полосы дорожной сети (которое влияет на все элементы этой сети: дороги, перекрестки, и т.д.).
  4. Теперь можно указать этот элемент в качестве места назначения в свойствах блока CarMoveTo, моделирующего движение автобусов к остановке.

Как изменить местоположение автобусной остановки

  1. Щелкните левой кнопкой мыши по автобусной остановке, которую вы хотите переместить.
  2. Перетащите автобусную остановку в нужное вам место на текущей дороге (обратите внимание, что ее нельзя перетащить с одной дороги на другую). Вы также можете переместить остановку, задав в панели свойств ее Смещение от начала дороги.

Свойства

Основные

Имя — Имя этой автобусной остановки. Это имя используется для идентификации элемента и доступа к нему из кода и свойств блоков Библиотеки дорожного движения.

Исключить — Если опция выбрана, элемент будет исключен из модели.

Отображается на верхнем агенте — Если опция выбрана, элемент будет также виден на презентации типа агента, в который вложен данный агент.

Блокировать — Если опция выбрана, автобусная остановка будет считаться заблокированной. Заблокированные фигуры не будут реагировать на щелчки мыши. Вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока вы не снимете с нее блокировку.

Видимость — Здесь вы можете указать, будет ли фигура видна на анимации во время выполнения модели или нет. Используя элемент управления, выберите да или нет.

Длина — Определяет длину автобусной остановки. По умолчанию длина остановки составляет 20 метров.

Местоположение и размер

Смещение от начала дороги — Расстояние от начальной точки дороги до начальной точки автобусной остановки, в пикселях.

Специфические

Отображать в — Здесь вы можете выбрать, хотите ли вы, чтобы элемент отображался В 2D и в 3D анимации или Только 2D или Только 3D.

Отображать имя — Если опция выбрана, имя элемента будет отображаться на графической диаграмме.

Функции

Автомобили
Функция Описание
List<Agent> getCars() Возвращает упорядоченный список автомобилей, расположенных на этой остановке. Первый автомобиль в списке ближе всех находится к выезду из остановки (первым покинет остановку).
int nCars() Возвращает количество автомобилей, находящихся на этой остановке.
Длина
Функция Описание
double getLength() Возвращает длину автобусной остановки в пикселях со стороны прилегающей к ней дороги.
double getLength(LengthUnits units) Возвращает длину автобусной остановки в указанных единицах измерения длины со стороны прилегающей к ней дороги. К примеру, getLength(METER)возвращает длину автобусной остановки в метрах.

units — константа единиц измерения длины
void setLength(double lengthInPixels) Задает длину автобусной остановки равной lengthInPixels.

lengthInPixels — длина автобусной остановки в пикселях
void setLength(double length, LengthUnits units) Задает длину автобусной остановки в указанных единицах измерения длины. К примеру, setLength(15, METER) задает длину остановки равной 15 метрам.

length — длина автобусной остановки в указанных единицах измерения длины
units — константа единиц измерения длины
Видимость
Функция Описание
void setVisible(boolean v) Задает видимость автобусной остановки.

v — видимость автобусной остановки. Если true — автобусная остановка видна, если false — нет
boolean isVisible() Проверяет, видна ли автобусная остановка. Если true — автобусная остановка видна, если false — нет.
Местоположение
Функция Описание
double getOffset() Возвращает расстояние (в пикселях) от начала дороги до начала автобусной остановки.
double getOffset(LengthUnits units) Возвращает расстояние (в указанных единицах измерения длины) от начала дороги до начала автобусной остановки.

units — константа единиц измерения длины
boolean isOnForwardSide() Возвращает true, если автобусная остановка установлена у полосы основного направления, false, если установлена у полосы встречного направления.
Road getRoad() Возвращает дорогу, у которой установлена автобусная остановка.
RoadNetwork getRoadNetwork() Возвращает дорожную сеть, в которой находится автобусная остановка.
Уровень
Функция Описание
Level getLevel() Возвращает уровень, на котором расположена данная автобусная остановка.
Удаление
Функция Описание
void remove() Удаляет автобусную остановку из презентации. Если остановка не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают.
Как мы можем улучшить эту статью?