如何测量NetLogo中补丁的覆盖距离

时间:2016-07-06 09:52:20

标签: netlogo

我在NetLogo中有一个模型设置,其中模拟空间是我构建的半径为20 km的GIS地图。

max xcor和ycor设置为20,min xcor和ycor -20。这给出了41 x 41的圆环。

我将我的代理人放在地图中心0 0 0处,并希望它们可以覆盖的最大距离为20 km,即GIS地图的范围。

ask turtles [
set heading 360
fd 1 ]

我是否正确地说,如果我将这段代码重复20次,它们将位于最后一个补丁(xcor 0 ycor 20)的中心,这不是20公里?

如果这是正确的,我该如何编码,以便代理移动适当的距离。我觉得我想在这里摆一个圆圈。

我应该说我可以添加以下行来获得大约975.6的补丁范围

set patch-scale (item 1 gis:world-envelope - item 0 gis:world-envelope ) / world-width

如果我将贴片比例乘以世界宽度,我得到40000看起来正确,因为圆的半径是20公里。

谢谢

1 个答案:

答案 0 :(得分:1)

globals [km]

to test
  ca
  let extent 40 ;desired world-width, in kilometers
  set km (world-width / extent)
  crt 1 [set heading 360]
  ask turtle 0 [fd (20 * km)]
end