gis - 要求代理人检查他们的位置
问题描述
我正在尝试为每个代理与其他 7 个代理创建链接 我的研究区域分为“东和西”两侧 我正在使用 GIS 扩展,而城市的一侧是 Shapefile 中的一个属性,我想问我的代理检查它所在的城市一侧并与同一侧的其他 7 个代理创建链接我使用两个 if 语句
这是我的代码:
to Neighbour-network
ask households [
if patch-here [CitySide = "EAST"] [ create-links-with min-n-of 7 other households with [CitySide = "EAST"] [distance myself][
if patch-here [CitySide = "WEST"] [ create-links-with min-n-of 7 other households with [CitySide = "WEST"] [distance myself]]]]]
ask one-of households with [count link-neighbors > 1] [
ask link-neighbors [communicate]]
end
我得到的错误与补丁有关-这里的消息错误是:如果预期此输入为真/假,但得到了一个补丁,但是当将其更改为带有错误的补丁时:如果预期此输入为真/False 但得到了一个代理集
我不知道如何解决它
解决方案
CitySide
似乎是一个households-own
变量。它也是一个patches-own
变量吗?如果是这样,那么你的if
陈述应该是
if [CitySide] of patch-here = 'EAST` [ create-links .....
和
if [CitySide] of patch-here = 'WEST` [ create-links .....
但是,如果家庭有自己的CitySide
变量来告诉它它在哪里,为什么它需要查看它所在的补丁呢?不能只看自己的CitySide
变量吗?