如何向居住在特定GIS区域的人员代理发送命令?考虑到几个GIS区域

如何向居住在特定GIS区域的人员代理发送命令?考虑到几个GIS区域,gis,simulation,anylogic,agent-based-modeling,statechart,Gis,Simulation,Anylogic,Agent Based Modeling,Statechart,假设在4个a、b、c、d GIS区域有1000人的代理。在某个特定事件中,我想与居住在GIS区域a内的所有代理进行通信。在一个区域中,我们有200人的代理。如果我向人员状态图发送消息或命令,我如何确保只有居住在特定GIS区域a上的200人代理才能获得我的命令?有什么方法可以建模吗?您可以在代理的状态图转换中过滤消息,以便仅当某个表达式在您的情况下为true时才执行转换:代理位于正确的区域 当然,您也可以在许多其他地方进行过滤,例如在发送消息或接收消息时。但是,您始终可以使用此代码检查代理是否位于

假设在4个a、b、c、d GIS区域有1000人的代理。在某个特定事件中,我想与居住在GIS区域a内的所有代理进行通信。在一个区域中,我们有200人的代理。如果我向人员状态图发送消息或命令,我如何确保只有居住在特定GIS区域a上的200人代理才能获得我的命令?有什么方法可以建模吗?

您可以在代理的状态图转换中过滤消息,以便仅当某个表达式在您的情况下为true时才执行转换:代理位于正确的区域

当然,您也可以在许多其他地方进行过滤,例如在发送消息或接收消息时。但是,您始终可以使用此代码检查代理是否位于GIS区域内:

main.gisRegion1.containsthis.getLatitude,this.getLatitude


这是假设您在代理内执行此操作。还有这个。您正在寻找的地区名为gisRegion1。

great answer@Floriant感谢Florian,这真的很有帮助: