Anylogic GIS 环境中代理之间的消息

Messages between agents in Anylogic GIS environment

在Anylogic GIS环境中,我想向发送消息的代理附近的代理发送消息。 是否可以在 GIS 环境中向一定距离内的多个代理发送消息?

谢谢,

我用了 send("msg", this.getNearestAgent(agents));但它只将消息发送给最近的代理而不是最近的代理。

您需要为此创建自己的函数。我使用名为 MyAgent 的代理类型创建了以下代理类型,因此请将 MyAgent 替换为您正在使用的任何代理类型:

for( MyAgent m : myAgents ) {

    if( agent.distanceTo(m) < 1000000 && agent != m ) { 
        send("msg", m);
    }
}

请注意 distanceTo returns 以米为单位的距离。我还在 if 语句中添加了第二个条件,以确保代理不会向自己发送消息。最后,确保向您的函数添加一个参数,如下所示。