Карта плотности пешеходов

AnyLogic поддерживает сбор статистики по плотности пешеходов в моделируемом пространстве и отображение этой информации на презентации в виде карты плотности. 

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

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

Сам элемент выглядит как цветовая шкала карты плотности пешеходов. Шкала показывает соответствие цветов на карте плотности и численных значений плотности пешеходов (см. рисунок ниже). 

Красный цвет обычно используется для отображения критической плотности. Значение критической плотности по умолчанию равно 1,5 пешехода/м2. При нулевой плотности на определенном участке этажа этот участок не закрашивается. 

Приведенная на рисунке шкала информирует нас о том, что, например, желтый цвет на карте плотности будет соответствовать плотности 0,75 пешеходов/м 2.  

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

Чтобы добавить карту плотности

  1. Перетащите элемент PedDensityMap из секции Пешеходы палитры Разметка пространства в графический редактор. 
  1. Теперь вы можете настроить свойства карты плотности, как вам требуется. Перейдите в панель Свойства. Карта плотности может либо запоминать и отображать цвета, соответствующие максимальным историческим значениям, либо же вы можете включить затухание - и тогда по прошествии определенного времени исторические значения будут забываться, и карта будет соответствовать картине, полученной только за недавнее время. Такое поведение можно включить, установив флажок Включить затухание.
  2. В том случае, если вас не устраивает, что карта плотности закрашивает анимацию и план моделируемого пространства, делая их трудно различимыми, вы можете сделать карту более прозрачной, уменьшив коэффициент прозрачности карты с помощью бегунка Прозрачность.
  3. Карта плотности чаще всего используется для обнаружения участков пространства, на которых значение плотности достигает критических значений. Такие области отображаются на карте плотности красным цветом. По умолчанию значение критической плотности задано равным 1,5 пешехода на квадратный метр. Вы можете изменить это значение в свойстве Критическая плотность.
  4. По умолчанию AnyLogic использует логарифмическую цветовую схему. При логарифмической схеме цвет стремительно приближается к "критическому" (красному) только при приближении к зоне критических значений плотности, а при малых значениях остается нейтральным. Вы можете сменить логарифмическую схему на линейную, выбрав Линейная в свойстве Цветовая схема. В этом случае цвета  будут меняться от синего к красному линейно согласно градиенту спектра цветов. При желании вы можете задать и свою собственную цветовую схему. 

Демо модель: Pedestrian Density Map

Свойства

Основные свойства

Имя – Имя фигуры.

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

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

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

Видимость – Если опция выбрана, то фигура будет отображаться на презентации во время выполнения модели.

Этаж – Этаж, для которого данный элемент будет отображать карту плотности. 

Включить затухание – Если опция выбрана, то карта плотности будет затухать, т.е. при падении значения плотности на определенном участке по прошествии определенного времени будет меняться и цвет этого участка на карте плотности: цвет не будет соответствовать максимальному измеренному значению плотности на данном участке за все время, а будет постепенно стремиться к текущему значению плотности.

Прозрачность – Здесь вы можете выбрать степень прозрачности отображаемой на анимации карты плотности. С помощью бегунка выберите значение, лежащее в интервале [0..100%]. Значение 100% соответствует абсолютной прозрачности (карта плотности не видна), значение 0% - абсолютной непрозрачности (карта плотности полностью закрашивает анимацию).  

Критическая плотность – Значение критической плотности. На карте плотности это значение (и все значения, превосходящие данное) будут соответствовать "максимально критическому" - красному цвету (если не выбрана Другая Цветовая схема, и цвета не переопределены пользователем).

Цветовая схема –  Здесь вы можете задать цветовую схему карты плотности. 
Возможны три варианта:
            Логарифмическая  Цвет будет логарифмически меняться от "минимального" (синего) к "максимальному" (красному). Такая цветовая схема часто используется для того, чтобы обращать внимание только на близкие к критическим значения плотности.
            Линейная  Простейшая цветовая схема: цвет будет линейно меняться от "минимального" (синего) к "максимальному" (красному).
            Другая  Вы можете сами задать, какой цвет будет использоваться для какого значения плотности, задав соответствующее выражение в расположенном ниже свойстве Цвет. 

Цвет – [Виден, если выбрана Другая Цветовая схема] Если вы хотите сами задать цветовую схему для карты плотности, то здесь вы можете сами определить, какой цвет будет использоваться для какого значения плотности, задав выражение, возвращающее тот или иной цвет в зависимости от текущего значения плотности (это значение доступно как density), или же написав аналогичную функцию, и поместив здесь ее вызов. В качестве значения по умолчанию задано выражение, при котором на карте будут отображаться красным цветом области, на которых значения плотности достигли 70% от заданного критического значения плотности, остальные же участки закрашиваться не будут вовсе: density > self.criticalDensity * 0.7 ? red: transparent

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

X – X-координата легенды карты плотности (ее начальная точка).

Y – Y-координата легенды карты плотности (ее начальная точка). 

Ширина – Ширина легенды карты плотности (в пикселах).

Высота – Высота легенды карты плотности (в пикселах).

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

Отображать в – Здесь вы можете выбрать, будет ли фигура отображаться В 2D и в 3D, Только в 2D или Только в 3D.

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

Функции 

double currentDensity(double x, double y)-  Возвращает текущее значение плотности пешеходов в области, граничащей с заданной точкой, в пешеходах/м2
Параметры:  x - X-координата точки
                     y - Y-координата точки

double maximumDensity(double x, double y) -  Возвращает максимальное измеренное значение плотности пешеходов в заданной точке, в пешеходах/м2, за все время работы модели.
Параметры:  x - X-координата точки
                     y - Y-координата точки

void show()Показывает карту плотности.

void hide()Прячет карту плотности.