首页 > 解决方案 > 如何在anylogic中将数据库位置设置为GISPoints

问题描述

我有一个 Anylogic 模型,其中车辆在 GIS 地图上从一个点移动到另一个点。目标点从数据库中加载(见图)。通过使用源块,订单详细信息被映射到代理群体(类型订单)。这组命令用于在 GISmap 上引导车辆。现在,我想知道车辆经过的距离。但是,我遇到了一些麻烦。数据库中的位置只能映射到参数类型字符串。这很烦人,因为这意味着我不能使用例如“distanceTo”函数。是否可以将数据库中的字符串映射到位置类型的代理(即 GISPoint)?

数据库快照

标签: anylogic

解决方案


您需要一个将位置名称(字符串)映射到实际代理(您的位置)的对象。您可以为此使用 LinkedHashMap

在此处输入图像描述

然后在On startup:您的位置代理的代码中,您只需将其添加到地图中。

在此处输入图像描述

现在您可以使用位置名称访问实际代理,这样您就可以

getDistanceTo(mapOfNameAndAgents.get("Boxtel"))


推荐阅读