在 anylogic 中跟踪代理移动

问题描述

我正在 Anylogic 中运行行人模拟,并希望在模型结束时获得的代理位置信息具有更大的粒度。目前,我已将其设置为显示交通密度的热图,但我想通过每个代理在模型中的时间来跟踪其实际位置,例如一条线或一条小路。

模拟结束时的模型可视化 [1]:https://i.stack.imgur.com/RwCVo.png

解决方法

在您的行人代理类型中添加一个循环事件(您不能使用默认的行人,但必须创建您自己的代理类型)。

然后,每隔一秒(或您需要的任何分辨率),将行人坐标($load_elements = "cn00,cn01,cn03,cn12,cn22,cn23,cn29,cn30,cn46,cn49"; $search_keys_p = $_REQUEST['keyword']; $search_keys = $search_keys_p; $search_keys = escape($search_keys); $columns = " concat_ws(' ',cn00,cn02,cn12)"; $sql = "SELECT ".$load_elements." FROM cont_tab WHERE(".$columns."LIKE :keyword) order by cn46 asc"; $statement = $connection->prepare($sql); $search_keys = "%".$search_keys."%"; $statement->bindValue(':keyword',$search_keys,PDO::PARAM_STR); $statement->execute(); getX)与其索引一起写入 dbase 表。

然后,您可以进行任何您需要的后期处理。

PS:通常,这不是必需的,所以请确保您真的需要这个 ;)