【问题标题】:Ask agents to check their position要求代理人检查他们的位置
【发布时间】:2020-05-19 13:46:02
【问题描述】:

我正在尝试为每个代理与其他 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

我得到的错误与补丁有关-这里的消息错误是:如果预期此输入为真/假但得到了补丁 但是,当将其更改为带有错误的补丁时:如果预期此输入为真/假,但得到了一个代理集

我不知道如何解决它

【问题讨论】:

    标签: gis netlogo


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 由于海龟可以直接访问其所在位置的补丁变量,如果是patches-own,那就更简单了if CitySide = "EAST" [ ...
    猜你喜欢
    • 2021-04-10
    • 2010-12-26
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多