我从NetLogo导出了一个风景。我在Netlogo中导入了相同的格局。从这个角度来看,我添加了另一个特定于补丁的全局变量" residency-time":
globals [
list-of-polygons ]
patches-own [
area-ha
residency-time
]
我创建了一个函数,为我的风景中的每个多边形指定一个驻留时间值
to assign-residency-times
set list-of-polygons ([ID-polygon] of patches)
set list-of-polygons remove-duplicates list-of-polygons
set list-of-polygons remove 0 list-of-polygons
print sort list-of-polygons
foreach list-of-polygons [
ask patches with [ ID-polygon = ? ] [
if all? patches [pcolor = green] [
set residency-time exp(1.02 * area-ha) ]
.... ] ]
我不明白为什么会收到此错误消息:Nothing named area-ha has been defined
。但是,我定义了area-ha
dans patches-own
。
另外,当我检查补丁时,补丁特有的所有全局变量都消失了(见下图)!
提前感谢您的帮助。
答案 0 :(得分:5)
我只有45个声望,所以我不能发表评论。但是:看起来你没有将ID-polygon定义为补丁变量。这可能会在您的代码中更早出现问题,并且可能导致代码永远不会编译,这意味着补丁变量永远不会实际添加到“接口”视图中的补丁。
这假设你没有定义一个名为ID-polygon的补丁记者,当然。没有完整的代码就很难说清楚。