如何向居住在一个特定 GIS 区域的人员代理发送命令?考虑有几个 GIS 区域
Posted
技术标签:
【中文标题】如何向居住在一个特定 GIS 区域的人员代理发送命令?考虑有几个 GIS 区域【英文标题】:How I can send command to the person agents living in one specific GIS region? Consider there are several GIS regions 【发布时间】:2020-04-24 12:40:43 【问题描述】:假设在 4 (a,b,c,d) GIS 区域上有 1000 个人代理。在某个事件中,我想与居住在 GIS 区域 "a" 内的所有代理进行通信。在“a”区域中,我们有 200 个人员代理。如果我向人员状态图发送消息或命令,我如何确保只有居住在该特定 GIS 区域“a”的 200 个人员代理收到我的命令?有什么方法可以建模吗?
【问题讨论】:
【参考方案1】:您可以在代理的状态图转换中过滤消息,以便仅在某个表达式为真时执行转换(在您的情况下:代理位于正确的区域)。
当然,您也可以在许多其他地方进行此过滤,例如在发送消息时或在接收消息时。但是,您始终可以使用此代码来检查代理是否位于 GISRegion 内部:
main.gisRegion1.contains(this.getLatitude(), this.getLongitude())
这是假设您在代理中执行了此操作(因此是 main.
和 this.
)并且您要查找的区域名为 gisRegion1。
【讨论】:
很好的答案@Florian 非常感谢弗洛里安,这真的很有帮助:)以上是关于如何向居住在一个特定 GIS 区域的人员代理发送命令?考虑有几个 GIS 区域的主要内容,如果未能解决你的问题,请参考以下文章