我正在尝试生成一个直方图来绘制行人代理行驶的距离。
根据 AnyLogic 的本教程,在模型中绘制时间相当容易。但我找不到一种方法来绘制行驶的距离。 我知道您可以在数据库日志中看到距离,但是有没有办法在模拟过程中绘制它?
奇怪的是,即使你在日志上看到它,你也没有任何函数来计算行人,只能计算运输者。
为了做到这一点,您需要手动工作...这意味着您需要检查例如每秒捕获当前位置,然后将其与之前的位置以及到达该位置所需的时间进行比较。
Point currentPosition=new Point(getX(),getY());
然后是这样的:
Point previousPosition=currentPosition;//
Point currentPosition=new Point(getX(),getY());
double distancePx=sqrt((previousPosition.getX()^2-currentPosition.getX()^2)+(previousPosition.getY()^2-currentPosition.getY()^2));
double distanceMeters=scale.toLengthUnits(distancePx);
double totalDistance+=distanceMeters;