如何在anylogic中对特定区域内的行人进行计数或其他计算

问题描述 投票:0回答:2

现在我设置了三个服务,让行人在anylogic中的targetline1和targetline2之间运行。部分行人会进入服务区,然后前往目标线1或2。我只想计算节点(蓝色矩形)内的行人总数。

如何只计算节点区域内的行人?

(我还想计算这个节点的总平均速度和每秒密度等其他东西,不想计算服务中的行人。有没有什么代码可以作为条件,让只有行人进入节点被计数了吗?)

谢谢!

enter image description here

java anylogic
2个回答
1
投票

如果应用“访问限制”,区域节点具有可以使用的代码框。只需将其设置为

infinity
如下(编辑:您需要将其设置为
Integer.MAX_VALUE
!)。现在您可以计算 ped 何时进入/退出,并进行研究: enter image description here

对于平均速度等,您可以使用循环事件定期对节点中的所有 ped 进行计算。只需将 ped(使用下面的输入/退出代码字段)添加/删除到本地集合中,然后循环该集合中的所有 ped 即可对它们进行计算。


0
投票

我对步行区有疑问。我创建了矩形。节点,仅限于行人,与交通灯功能相关。-我为此选择调用 close() 函数 [CrossingArea.setOpen(currentPhaseIndex == 2);表示汽车为红色。

行人走过。没关系。但当交通灯变绿时,他们中的一些人仍留在该区域内。我添加了一些虚拟光来防止这种情况。我在输入部分使用并写道 if (self.contains(agent)) stopLine11.setSignal(SIGNAL_RED);

但我无法退出。我的虚拟灯始终是红色的,并且退出部分没有,除了以下代码 if (self.contains(agent) == 0) stopLine11.setSignal(SIGNAL_GREEN);

© www.soinside.com 2019 - 2024. All rights reserved.