车辆位置追踪

时间:2018-12-03 21:31:33

标签: anylogic

我一直在尝试跟踪特定道路上的车辆速度,这条道路上有停车场。这是我用来跟踪特定人口中的每辆车的代码,该代码在每15秒运行一次的事件块中运行。

this.$set(this.cats, this.currentCatIndex, value)

// or
this.cats.splice(this.currentCatIndex, 1, value)

问题是,当汽车从道路换成停车场时,它会引发NullPointerException错误,是否有办法解决此问题以跟踪这些车辆的速度?如果有对此错误的解释,那也很好。

预先感谢

1 个答案:

答案 0 :(得分:0)

好的,在您澄清之后,几乎可以肯定会发生错误,因为汽车进入道路的速度太快,并一直在carSource的队列中。

当汽车在此队列中时,即使它们存在于汽车人口中,也无法将其作为汽车来访问...这也许很奇怪,但这就是事实。

现在,如果您想知道特定道路上的速度,则应该让汽车驶入该道路:

for (Car c : road.getCars(true)){//true means forward lane
    vCar=c.getSpeed();
}
for (Car c : road.getCars(false)){//false means backwards lane
    vCar=c.getSpeed();
}

尽管如此,要继续做您正在做的事情,我很久以前就播放了一个有关此主题的视频。不幸的是,该视频有点长(7分钟)并且很无聊(我正在测试自己的youtube功能),但是与您的问题有关...这是避免此carSource队列出现问题的技巧: https://www.youtube.com/watch?v=EgYqraEibD4