【问题标题】:How to create certain number of turtles on the road shapefile and specific area?如何在道路形状文件和特定区域创建一定数量的海龟?
【发布时间】:2019-07-18 02:05:35
【问题描述】:

我已经导入了道路 shapefile 和多边形 shapefile,并且已经与补丁相交。我想在特定的多边形中创建一定数量的海龟,海龟只允许在道路 shapefile 上移动。 例如,在多边形 A 中有 20 个海龟,多边形 B 有 30 个海龟,我想让它们的数量显示在它自己的多边形上。

我所做的是通过使用(我的意思是 2 foreach 用于道路和多边形)将道路和多边形相交

foreach gis:feature-list-of x
  [ vector-feature ->
    ask patches gis:intersecting vector-feature
      [blah blah blah...]
  ]

然后,我使用这段代码创建了海龟

to setup
  create-walkers Population
  ask walkers
  [
    set wlocation one-of patches with [pcolor = red]
    ;I have assigned the road shapefile to red color.
    move-to wlocation
end

只有补丁是红色的,它的工作, 但是当我尝试set wlocation one-of patches with [pcolor = red and pcolor = ;another color which is the color of polygon] Netlogo 得到一个错误,

move-to 期望输入是代理,但没有人代替

我该如何解决这个问题?

提前谢谢你。

【问题讨论】:

    标签: gis netlogo


    【解决方案1】:

    您似乎对patches 有一个基本的误解。在 NetLogo 中,补丁是世界的一个区域,是一个单一的单元。这意味着patch 只能有一种颜色。尝试运行此代码(作为新模型)

    to testme
      ask patches
      [ set pcolor random 256
      ]
    end
    

    您可以看到补丁,每个补丁都有随机分配的颜色。现在在命令中心输入inspect one-of patches,一个inspect 窗口将打开一个随机选择的补丁。您将看到列出的变量之一是pcolor

    简短的回答 - 补丁只能有一种颜色,因此您对颜色 A 和颜色 B 的补丁的要求是没有意义的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      相关资源
      最近更新 更多