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

Стоп-линия

Элемент Стоп-линия является графическим элементом разметки пространства, задающим точку на дороге, у которой транспорт должен останавливаться, если это указано в блоке CarMoveTo (блок может направлять автомобили к стоп-линии).

Стоп-линия может добавлять следующие дорожные знаки в местах собственного расположения на дорогах: Ограничение скорости, Конец ограничения скорости и Уступить дорогу. Дорожные знаки повлияют на дорожное движение у стоп-линии, у которой они установлены. Описание дорожных знаков доступно ниже, в секции Дорожные знаки свойств элемента Стоп-линия.

Стоп-линия может быть использована блоком Traffic Light для регулирования движения на сложно контролируемых участках дорожного движения.

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

Как создать стоп-линию

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

Как изменить местоположение стоп-линии

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

Свойства

Основные

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

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

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

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

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

Тип автомобиля — Здесь вы можете выбрать нестандартный тип автомобиля.

Дорожные знаки

Ограничение скорости — Дорожный знак позволяет задать начало дорожного отрезка с ограничением максимальной скорости в точке, где находится текущая стоп-линия (установите флажок напротив этой опции, чтобы появилось поле для ввода значения ограничения максимальной скорости и раскрывающийся список, позволяющий выбрать единицы измерения скорости).

Конец ограничения скорости — Дорожный знак задает конец ограничения максимальной скорости в точке, где находится текущая стоп-линия.

Уступить дорогу — Автомобиль, приближающийся к текущей стоп-линии, должен остановиться и уступить дорогу транспортным средствам, движущимся по пересекаемой дороге.

Действия

При проезде машины — Здесь вы можете задать код, который будет выполняться, когда автомобиль будет проезжать через стоп-линию. К автомобилю можно обратиться посредством локальной переменной car. Полоса дороги, на которой находится автомобиль, задается через локальную переменную laneIndex. Нумерация полос начинается с внешней полосы (ей присвоен номер 0).

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

Смещение от начала дороги — Расстояние от начала дороги до стоп-линии.

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

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

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

Функции

Знаки
Функция Описание
void addSpeedLimitSign(double speedLimit, SpeedUnits units) Добавляет знак "Ограничение скорости" к стоп-линии. К примеру, addSpeedLimitSign(90, KPH) добавляет знак "ограничение максимальной скорости 90 километров в час".

speedLimit — значение скорости в заданных единицах измерения скорости
units — константа единиц измерения скорости
double getSpeedLimit(SpeedUnits units) Возвращает действительное значение ограничения скорости в заданных единицах измерения скорости, если у стоп-линии установлен знак "Ограничение максимальной скорости". К примеру, getSpeedLimit(KPH) возвращает ограничение скорости в километрах в час.

units —  константа единиц измерения скорости
void addEndOfSpeedLimitSign() Добавляет знак "Конец ограничения скорости" к указанной стоп-линии.
boolean isOfSpeedLimitSign() Возвращает true, если у стоп-линии есть знак "Конец ограничения скорости", false в противном случае.
void addYieldSign() Добавляет знак "Уступи дорогу" к указанной стоп-линии.
boolean isYieldSign() Возвращает true, если у этой стоп-линии установлен знак "Уступи дорогу", false в противном случае.
Светофор
Функция Описание
TrafficLightSignal getSignal() Возвращает текущий сигнал светофора на дороге. Допустимые значения:
SIGNAL_RED — красный сигнал
SIGNAL_YELLOW — желтый сигнал
SIGNAL_GREEN — зеленый сигнал
SIGNAL_NONE — сигнал не задан
void setSignal(TrafficLightSignal signal) Изменяет текущий сигнал светофора на newSignal. Применяется, если эта точка дороги не контролируется светофором.

signal — Новый сигнал, который задается позиции на дороге. Допустимые значения:
SIGNAL_RED — красный сигнал
SIGNAL_YELLOW — желтый сигнал
SIGNAL_GREEN — зеленый сигнал
SIGNAL_NONE — сигнал не задан
Скорость
Функция Описание
double averageSpeed() Возвращает среднюю скорость движения (в метрах в секунду) в точке, заданной стоп-линией.
double averageSpeed(SpeedUnits units) Возвращает среднюю скорость движения (в указанных единицах измерения скорости) в точке, заданной стоп-линией.

units — константа единиц измерения скорости
Местоположение
Функция Описание
int getLaneIndexFrom() Возвращает индекс дорожной полосы, на которой начинается стоп-линия. Полоса с индексом 0 находится у обочины дороги.
int getLaneIndexTo() Возвращает индекс дорожной полосы, на которой заканчивается стоп-линия. Полоса с индексом 0 находится у обочины дороги.
setLaneIndexFrom(int laneIndexFrom) Задает дорожную полосу, на которой начинается стоп-линия.

laneIndexFrom — номер полосы, где 0 — номер полосы у обочины дороги
setLaneIndexTo(int laneIndexTo) Задает дорожную полосу, на которой заканчивается стоп-линия.

laneIndexTo — номер полосы, где 0 — номер полосы у обочины дороги
double getOffset() Возвращает расстояние (в пикселях) от начала дороги до стоп-линии.
double getOffset(LengthUnits units) Возвращает расстояние (в указанных единицах измерения длины) от начала дороги до стоп-линии.

units — константа единиц измерения длины
boolean isOnForwardSide() Возвращает true, если стоп-линия находится на полосе основного направления, false, если установлена у полосы встречного направления.
Road getRoad() Возвращает дорогу, на которой установлена стоп-линия.
RoadNetwork getRoadNetwork() Возвращает дорожную сеть, в которой находится стоп-линия.
Видимость
Функция Описание
void setVisible(boolean v) Задает видимость стоп-линии.

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