使用GIS扩展补丁变量与全局变量从Netlogo 6.0导出栅格

时间:2017-02-01 23:33:10

标签: netlogo

我正在尝试使用NetLogo 6.0的GIS扩展来导出NetLogo补丁的栅格,其中包含补丁变量的值。我使用GIS原语gis:patch-dataset,因为根据GIS扩展字典,它应该是:

  

"报告一个新的栅格,其栅格直接对应于NetLogo补丁,其单元格值由给定补丁变量的值组成。"

但是,如果我使用补丁变量作为参数,这个原语似乎不起作用。如果我使用全局变量, 可以工作,但当然这会报告该全局变量的单个值。任何人都能看到我失踪的东西吗?也许我完全误解了gis:patch-dataset的工作原理,但据我所知,setup应该需要一个补丁变量来报告栅格。

下面的代码示例。我运行test-gis-output然后尝试运行test-gis-output,但是在观察者上下文中得到了我无法使用turtle/patch的错误,因为它只是extensions [ gis ] globals [ test_file ] to setup ca reset-ticks ask patches with [pxcor mod 2 = 0 ] [ set pcolor red ] end to test-gis-output set test_file gis:patch-dataset pcolor gis:store-dataset test_file "test_export" end 。从错误的角度来看,这对我来说是有意义的,全局,海龟和补丁变量是分开的。但是,如何在不引用仅补丁变量的情况下报告所有补丁的栅格?

from typing import NamedTuple

class Point(NamedTuple):
    x: int
    y: int

p = Point(1, 10)

1 个答案:

答案 0 :(得分:1)

NetLogo告诉我一直需要知道的事情 - 只有补丁可以使用gis:patch-dataset primitive.使用以下代码来导出ASCII栅格:

to test-gis-output
  ask patches [
    set test_file gis:patch-dataset pcolor
  ]
  gis:store-dataset test_file "test_export"
end