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

Exporting a raster from Netlogo 6.0 using the GIS extension- patch variables vs global variables

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

"report a new raster whose cells correspond directly to NetLogo patches, and whose cell values consist of the values of the given patch variable."

但是,如果我使用补丁变量作为它的参数,这个原语似乎不起作用。如果我使用全局变量,它 确实 起作用,但当然这会报告该全局变量的单个值。谁能看到我错过了什么?也许我完全误解了 gis:patch-dataset 的工作原理,但据我了解 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

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