2016-07-06 55 views
0

我在NetLogo中有一个模型设置,其中模拟空间是我制作的具有20公里半径的GIS地图。如何在NetLogo中测量跨越修补程序的距离

最大xcor和ycor设置为20,最小xcor和ycor -20。这给出了一个41 x 41的圆环。

我有我的代理在贴图0 0的地图中心,并希望他们可以覆盖的最大距离为20公里,即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公里。

感谢

+0

注意'集标题360'不完全一样的东西'集标题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