2016-07-06 58 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