【发布时间】:2022-07-19 21:09:14
【问题描述】:
Anylogic 地图有一个 GIS 区域,由多个相互分隔的区域组成。 例如:
如果我尝试使用下一个方法在此 GIS 区域中生成随机 GIS 点:
gisPoint = gisRegion.randomPointInside();
Anylogic 仅在 GIS Region 的一个区域生成它们(我不明白它是如何选择特定区域的)! 我该如何解决这个问题?
感谢您的帮助!
【问题讨论】:
Anylogic 地图有一个 GIS 区域,由多个相互分隔的区域组成。 例如:
如果我尝试使用下一个方法在此 GIS 区域中生成随机 GIS 点:
gisPoint = gisRegion.randomPointInside();
Anylogic 仅在 GIS Region 的一个区域生成它们(我不明白它是如何选择特定区域的)! 我该如何解决这个问题?
感谢您的帮助!
【问题讨论】:
您仍然需要将代理设置为随机点。
我创建了一个 gisRegion 并使用一个按钮在 gisRegion 中随机放置 10 个代理。每次点击时,代理都会被放置在该区域的其他位置。
如果您想随机放置代理集合,可以使用以下代码:
for(MyAgent agent: myAgents){
Point gisPoint = gisRegion.randomPointInside();
agent.setLocation(gisPoint);
}
如果您想移动 1 个特定代理,您可以这样做:
Point gisPoint = gisRegion.randomPointInside();
myAgents(0).setLocation(gisPoint);
祝你好运!
【讨论】: