复制下面补丁中的 link breed 变量

Copy the link breed variable in the patch below

我有一个节点网络和 links。这个数字

是对世界的捕捉。该图表示城市的街道。我导入了一个扩展名为 gis 的 shapefile。灰线是 links,黑点是节点,红点代表人。人们移动到下一个节点。在街角,红点通过检查 link.

拥有的变量 popularity 来选择下一条街道

links 品种有一个变量,popularity,我想在下面的补丁中复制它的值。

例如,如果我尝试访问 links 下的补丁,将产生错误

ask links [show [(list pxcor pycor)] of patch-here]

另一种方法是从补丁中访问 link 变量流行度,但我不知道该怎么做。

我想要这个的原因是因为我想在文件中写入一个流行度值矩阵,它在矩阵中的位置应该与 link 在世界中的位置相对应。因此,links 下面的补丁会给我矩阵形式。我有一个程序,可以为每个补丁将补丁的值写入一个文件。但是,我不知道如何将 popularity 值从 link 传递到它下面的补丁。

有什么方法可以将 link 拥有的变量复制到它的补丁中吗?

此致

如果有人有更好的方法(或可以简化我的代码),请随意。这是一个完整的工作示例。将它复制到一个空的 NetLogo 模型中,然后 运行 看看它是否有效。

setup 过程只是创建一些节点和具有适当测试值的 links,然后调用 transfer-link-values 过程,这就是我认为您想要的。 setup 过程然后将值放入补丁标签中以显示它们并查看结果。

transfer-link-values 过程的工作方式是在 link 的一端创建一只海龟,然后该海龟向 link 的另一端移动,将值传递为它去。当它到达另一端时,乌龟死了。

patches-own [patch-popularity]
links-own [link-popularity]

to setup
  clear-all
  create-turtles 10 [ setxy random-xcor random-ycor]
  while [ any? turtles with [not any? my-links] ]
  [ let to-pair turtles with [not any? my-links]
    let thisNode one-of to-pair
    ask thisNode
    [ create-link-with one-of other to-pair
      [ set link-popularity 5 + random 5 ]
    ]
  ]

  transfer-link-values
  ask patches [ if patch-popularity != 0 [set plabel patch-popularity ] ]
end

to transfer-link-values
  ask links
  [ let start-node one-of both-ends
    let this-link self
    let end-node nobody
    ask start-node [ set end-node [other-end] of this-link ]
    let transfer-value link-popularity
    ask start-node
    [ hatch 1
      [ face end-node
        if transfer-value > patch-popularity
          [ ask patch-here [ set patch-popularity transfer-value ] ]
        while [ not member? end-node turtles-here ]
        [ forward 1
          if transfer-value > patch-popularity
            [ ask patch-here [ set patch-popularity transfer-value ] ]
        ]
        if transfer-value > patch-popularity
            [ ask patch-here [ set patch-popularity transfer-value ] ]
        die
      ]
    ]
  ]
end