繁体   English   中英

Anylogic地图上的随机GIS点

[英]Random GIS Point on the Anylogic map

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);

祝你好运!

在此处输入图像描述

那么你自动拥有一个多区域,对吗? 如果您创建由多个区域组成的区域,您还应该在项目树中看到一个多区域。

然后您仍然可以使用与上述相同的逻辑,代码将是:

GISRegion region = Nederland.randomRegionInside();
Point gisPoint = region.randomPointInside();

myAgents(0).setLocation(gisPoint);

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM