我正在尝试使用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)
答案 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