我正在用csv扩展名将代理从.csv文件加载到NetLogo中。这些代理的属性之一是他们居住的地方的邮政编码。补丁也作为属性获得ZIP代码,并在GIS扩展的帮助下从shapefile加载。我想要实现的是,代理将直接放入具有匹配的ZIP代码的补丁中。
目前起作用的是,特工们一直走到正确的补丁中。
在这里,一个简化的版本:
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 ]
]
但是这段代码给了我错误信息:
您不能在补丁上下文中使用海龟位置,因为海龟位置仅限于海龟。
发布于 2019-05-15 11:29:57
试试这个:
ask turtles [
move-to one-of patches with [ location = [turtle-location] of myself ]
]
你需要让NetLogo知道从哪只乌龟那里得到海龟的位置。
https://stackoverflow.com/questions/56151222
复制相似问题