首页 > 解决方案 > 要求代理人检查他们的位置

问题描述

我正在尝试为每个代理与其他 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 但得到了一个代理集

我不知道如何解决它

标签: gisnetlogo

解决方案


CitySide似乎是一个households-own变量。它也是一个patches-own变量吗?如果是这样,那么你的if陈述应该是

if [CitySide] of patch-here = 'EAST` [ create-links .....

if [CitySide] of patch-here = 'WEST` [ create-links .....

但是,如果家庭有自己的CitySide变量来告诉它它在哪里,为什么它需要查看它所在的补丁呢?不能只看自己的CitySide变量吗?


推荐阅读