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 语句中添加了第二个条件,以确保代理不会向自己发送消息。最后,确保向您的函数添加一个参数,如下所示。
在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 语句中添加了第二个条件,以确保代理不会向自己发送消息。最后,确保向您的函数添加一个参数,如下所示。