AnyLogic bug 行人在旅途中飞越 GIS 地图
AnyLogic bug pedestrians flying across the GIS map mid-journey
最终编辑 - 这原来是 AnyLogic 中路由回归的错误,将在下一次更新中修复。
我正在开发一个城镇模拟,行人特工在其中移动。我使用的 GIS 区域数据是以人流量模式从 .osm 文件加载的,我在该区域周围随机生成建筑代理。
他们开始在城市里走来走去,但是走到目的地的一半时,他们突然高速飞过城镇,直线前往他们要去的地方。他们似乎到达了离建筑物最近的 GIS 节点,然后走了最后几米。我相信我试过的每个行人都会遇到这种情况。
我正在使用 Dijkstra 双向寻路(AnyLogic 内置)。我尝试了 A* 双向,结果相同,并使用了不同的 .osm/.pbf 文件,并在快速和短路径模式下尝试,但没有成功。
我觉得这是双向寻路中的一个错误,但是 AnyLogic 不允许非双向路由,也不允许为 GIS 区域实现您自己的路由...
如有任何想法,我们将不胜感激。
-编辑-
我回到这个错误并确定它 100% 是一个寻路错误。使用 AnyLogic 在线服务器在两点之间创建 GIS 路线时,它按预期工作,我们可以看到一条完整的路线。但是,当使用加载的离线 OSM 或 PBF 文件(我尝试了不同的地图源)时,我观察到它绘制的路线在中途正确,但随后绘制了一条直线到距离目的地最近的节点,然后直线到目的地.我附上了 2 张图片来证明这一点。
请注意,它不是在距离上,而是在节点数上。
根据下图我们可以看到节点存在,但是路由忽略了后半部分。我确定这不是一个断开的网络,因为我测试了很多,有时它会在一段路段上很好地路由,但其他时候它会失败。
所以我想现在我的问题是:我该如何预防或解决这个问题?我尝试使用自定义 GraphHopper 路由器绕过双向路由并仅使用常规 A* 搜索,但没有任何运气,因为我尝试的其他算法只是直线。
这是在底部创建第一个点时发生的情况:
这是在顶部创建第一个点时发生的情况:
这是在线路由:
正如本杰明所说,这可能是因为您有多个网络,当您的网络未按您的意愿定义时,路由有时会以不可预测的方式运行。
在项目部分搜索网络,确保只有 1 个网络..
例如在下图中,您看到有 2 个网络...找到一种连接事物的方法以最终得到 1 个网络...
AnyLogic 刚刚确认这是寻路回归中的错误。将在下次更新中修复。
最终编辑 - 这原来是 AnyLogic 中路由回归的错误,将在下一次更新中修复。
我正在开发一个城镇模拟,行人特工在其中移动。我使用的 GIS 区域数据是以人流量模式从 .osm 文件加载的,我在该区域周围随机生成建筑代理。
他们开始在城市里走来走去,但是走到目的地的一半时,他们突然高速飞过城镇,直线前往他们要去的地方。他们似乎到达了离建筑物最近的 GIS 节点,然后走了最后几米。我相信我试过的每个行人都会遇到这种情况。
我正在使用 Dijkstra 双向寻路(AnyLogic 内置)。我尝试了 A* 双向,结果相同,并使用了不同的 .osm/.pbf 文件,并在快速和短路径模式下尝试,但没有成功。
我觉得这是双向寻路中的一个错误,但是 AnyLogic 不允许非双向路由,也不允许为 GIS 区域实现您自己的路由...
如有任何想法,我们将不胜感激。
-编辑-
我回到这个错误并确定它 100% 是一个寻路错误。使用 AnyLogic 在线服务器在两点之间创建 GIS 路线时,它按预期工作,我们可以看到一条完整的路线。但是,当使用加载的离线 OSM 或 PBF 文件(我尝试了不同的地图源)时,我观察到它绘制的路线在中途正确,但随后绘制了一条直线到距离目的地最近的节点,然后直线到目的地.我附上了 2 张图片来证明这一点。
请注意,它不是在距离上,而是在节点数上。
根据下图我们可以看到节点存在,但是路由忽略了后半部分。我确定这不是一个断开的网络,因为我测试了很多,有时它会在一段路段上很好地路由,但其他时候它会失败。
所以我想现在我的问题是:我该如何预防或解决这个问题?我尝试使用自定义 GraphHopper 路由器绕过双向路由并仅使用常规 A* 搜索,但没有任何运气,因为我尝试的其他算法只是直线。
这是在底部创建第一个点时发生的情况:
这是在顶部创建第一个点时发生的情况:
这是在线路由:
正如本杰明所说,这可能是因为您有多个网络,当您的网络未按您的意愿定义时,路由有时会以不可预测的方式运行。
在项目部分搜索网络,确保只有 1 个网络..
例如在下图中,您看到有 2 个网络...找到一种连接事物的方法以最终得到 1 个网络...
AnyLogic 刚刚确认这是寻路回归中的错误。将在下次更新中修复。