如何向居住在一个特定 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 区域的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 discord.js 从 discord bot 向特定用户发送消息

向工作人员发送具有特定大小的数组

如何在 Spring MVC 中代理 HTTP 请求?

AWS - 我们如何向特定服务器发送请求

如何在 Apache 中阻止特定的用户代理

如何在 Anylogic 中创建与特定代理的连接并为代理显示动画连接