【问题标题】:How I can send command to the person agents living in one specific GIS region? Consider there are several GIS regions如何向居住在一个特定 GIS 区域的人员代理发送命令?考虑有几个 GIS 区域
【发布时间】:2020-04-24 12:40:43
【问题描述】:

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

【问题讨论】:

    标签: gis simulation anylogic agent-based-modeling statechart


    【解决方案1】:

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

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

    main.gisRegion1.contains(this.getLatitude(), this.getLongitude())

    这是假设您在代理中执行了此操作(因此是 main.this.)并且您要查找的区域名为 gisRegion1

    【讨论】:

    • 很好的答案@Florian
    • 非常感谢弗洛里安,这真的很有帮助:)
    猜你喜欢
    • 2020-03-14
    • 2015-03-09
    • 2012-09-22
    • 2014-02-18
    • 2021-06-20
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    相关资源
    最近更新 更多