将代理与变量的变量值放在相同的补丁上

时间:2019-05-15 14:01:41

标签: attributes location netlogo patch agent

我正在将代理从.csv文件加载到具有csv扩展名的NetLogo中。这些代理将其居住地的邮政编码作为其属性之一。 这些修补程序也将获得ZIP编码作为属性,并通过GIS扩展从shapefile加载。 我要实现的是,将具有相应邮政编码的代理直接放入其中一个补丁中。

此刻正在起作用的是,特工正在行走,直到他们处在正确的位置为止。

这里,是一个简化版本:

turtles-own [ turtle-location ]
patches-own [ location ]

to setup
 ca
 crt 10 [
  set turtle-location random 10
 ]  
ask patches [
 set location random 10 
]
end

to go
 ask turtles [
  location-turtles 
 ]
end

to location-turtles
 if (location != turtle-location)
  [ fd 2 ]
end

但是,这实际上并不可行,我希望找到一种解决方案,将代理商直接放在正确的位置。也许有萌芽/孵化?

我想到了这样的事情(不起作用的示例):

ask turtles [
 move-to one-of patches with [ location = turtle-location ]  
]

但是这段代码给了我错误消息:

  

您不能在补丁程序上下文中使用TURTLE-LOCATION,因为   TURTLE-LOCATION仅限乌龟。

1 个答案:

答案 0 :(得分:1)

尝试一下:

ask turtles [
 move-to one-of patches with [ location = [turtle-location] of myself ]  
]

您需要让NetLogo知道从哪个乌龟那里获取乌龟的位置。