【问题标题】:Drawing agents on top of GIS points in a more scalable way以更具可扩展性的方式在 GIS 点上绘制代理
【发布时间】:2022-02-24 07:42:36
【问题描述】:

我面临的问题如下:

我有一个名为“中心”的代理类型(第一张图像中的蓝点),我想在 GIS 点(密尔沃基、麦迪逊和芝加哥)上绘制 3 个代理成员。我所做的是将 3 个实例拖入 Main 并手动将它们分配给每个 GIS 点。查看下面的图片:

所以“center”被分配到“Milwaukee”,“center1”被分配到“Madison”,“center2”被分配到“Chicago”。在下面查看我在第一个案例中是如何做到的:

在运行模型时,它运行良好,每个代理实例都放置在 GIS 点的顶部。

但是,如果我要处理例如,这个解决方案显然是不可扩展的。 10 000 个 GIS 点。有没有一种优雅的方式来扩大规模,而不必为每个 GIS 点拖入实例?

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    首先创建要放置形状的 GIS 点的集合。最快的方法是进入项目浏览器,找到 GIS 点,选择它们并右键单击创建集合。所以无论有多少点,这将是一个按钮的点击。

    这将是结果:

    然后,拖放一个代理群体(使其成为一个群体,而不是单个代理)。

    在初始代理数中写入以下内容:

    collection.size()
    

    初始位置为:

    collection.get(index)
    

    最后,确保您已在代理窗口中添加了所需的形状,然后单击主窗口中的显示演示:

    见下图:

    【讨论】:

    • 感谢您的精彩解释,效果非常好。
    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多