以更具可扩展性的方式在 GIS 点之上绘制代理

Drawing agents on top of GIS points in a more scalable way

我面临的问题如下:

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

所以 'center' 分配给了 'Milwaukee','center1' 分配给了 'Madison','center2' 分配给了 'Chicago'。在下面查看我是如何处理第一个案例的:

当 运行 模型时,它运行良好,每个代理实例都放置在 GIS 点之上。

但是,如果我要处理例如,这个解决方案显然不可扩展。 10 000 个地理信息系统点。有没有一种无需为每个 GIS 点拖入实例即可扩大规模的优雅方法?

首先创建一个要放置形状的 GIS 点集合。最快的方法是转到项目浏览器,找到 GIS 点,select 它们和 right-click 创建集合。所以不管点多少都是点一下。

这将是结果:

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

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

collection.size()

初始位置为:

collection.get(index)

最后,确保您已经在代理中添加了您想要的形状 window 并单击 show presentation in main:

见下图: