使用NetLogo的GIS扩展,如何根据乌龟所在多边形的值来给乌龟属性赋值?

问题描述 投票:0回答:1

我需要创建位于多边形上的品种“house”的代理

每个多边形都有一个属性:

CODE,

这是一个唯一的值,并且该值必须分配给每个

house
代理的房屋属性

breed [ houses house ]

...

houses-own [ ...
             c_commune
             ...
             ]

我正在使用此程序:

to draw-houses

  foreach gis:feature-list-of comuna-dataset [

    this-comuna ->
    let prop_houses gis:property-value this-comuna "Prop_v"
    let code        gis:property-value this-comuna "CODIGO"

    let houses-in-comuna round ( prop_houses * number_houses )

    gis:create-turtles-inside-polygon this-comuna houses houses-in-comuna [
      set shape   "square 2"
      set size     0.5
      set color    blue
      set c_comuna code  ; it is displaying the last value
      set label    c_comuna
    ]
  ]

end

问题是由

foreach

造成的双循环
gis:feature-list-of 

gis:create-turtles-inside-polygon 

块,它们会覆盖所有

house
代理的最后一个值,并且它们最终具有相同的值。

gis netlogo
1个回答
0
投票

程序应该阅读:

to draw-houses

  foreach gis:feature-list-of
                           comuna-dataset [
                      this-comuna ->

    let prop_houses gis:property-value this-comuna "Prop_v"
    let code        gis:property-value this-comuna "CODIGO"

    let houses-in-comuna round ( prop_houses * number_houses )

    gis:create-turtles-inside-polygon           ;; proc
                              this-comuna       ;; where
                              houses            ;; what
                              houses-in-comuna  ;; how many
                              [                 ;; to-do [ cmd ... ]
      set shape    "square 2"
      set size      0.5
      set color     blue
  ;;  set c_comuna  code  ; it is displaying the last value
      set c_commune code 
  ;;  set label     c_comuna
      set label     code
      ]
  ]

end
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.