与GIS扩展和NetLogo算术运算符使用相关的问题

与GIS扩展和NetLogo算术运算符使用相关的问题,netlogo,Netlogo,我有以下疑问。我在.asc中有两个文件。我使用GIS扩展将光栅导入NetLogo版本6.2。我问他们的价值观是什么​​veg 0.2值的计算​​出现(见图)。我在代码中做错了什么?有人能帮我吗 下面是我的代码: extensions [ gis ] globals [ edge-size veg veg-2 ] patches-own [ veg-values veg-2-values ] to setup clear-all set edge-size 300

我有以下疑问。我在.asc中有两个文件。我使用GIS扩展将光栅导入NetLogo版本6.2。我问他们的价值观是什么​​veg 0.2值的计算​​出现(见图)。我在代码中做错了什么?有人能帮我吗

下面是我的代码:

extensions [ gis ]

globals
[
  edge-size
  veg
  veg-2
]
patches-own
[
  veg-values
  veg-2-values
]

to setup
  clear-all
  set edge-size 300
  resize-world 0 edge-size 0 edge-size
  setup-layers
  create-turtles 15
  reset-ticks
 end

to setup-layers ;; load in the GIS data
  set veg gis:load-dataset "./layers/veg.asc"
  set veg-2 gis:load-dataset "./layers/veg2.asc"
  gis:set-world-envelope gis:envelope-of veg
  gis:apply-raster veg veg-values
  gis:set-world-envelope gis:envelope-of veg-2
  gis:apply-raster veg-2 veg-2-values
  color-veg
  color-veg-2
end

to color-veg
  ask patches [
    if veg-values <= 0.2 [ set pcolor gray + 4 ] ;; low values
    if veg-values > 0.2 [ set pcolor green - 4 ] ;; high values
  ]
 end

 to color-veg-2
   ask patches [
    if veg-2-values <= 0.2 [ set pcolor gray + 4 ] ;; low values
    if veg-2-values > 0.2 [ set pcolor green - 4 ] ;; high values
   ]
end
扩展[gis]
全局变量
[
边缘尺寸
蔬菜
veg-2
]
补丁自己
[
蔬菜价值观
veg-2-值
]
设置
清除所有
设置边缘大小300
调整世界大小0边缘大小0边缘大小
设置层
创造海龟15
重置滴答声
结束
设置图层;;在GIS数据中加载
设置veg gis:加载数据集“/layers/veg.asc”
设置veg-2 gis:加载数据集“/layers/veg2.asc”
gis:设置世界包络gis:蔬菜包络
gis:应用光栅植被值
gis:设置世界范围gis:veg-2的范围
gis:应用光栅veg-2 veg-2值
彩色蔬菜
彩色素-2
结束
给蔬菜着色
询问补丁[
如果veg值为0.2[将pcolor green设置为-4];则为高值
]
结束
到color-veg-2
询问补丁[
如果veg-2-值为0.2[将pcolor绿色设置为-4];则为高值
]
结束

谢谢大家

设置修补程序的过程如下所示:

to setup-layers ;; load in the GIS data
  ; ... multiple lines to assign values to patches from GIS data
  color-veg 
  color-veg-2
end
因此,它使用GIS数据为每个面片提供两个值,一个用于变量“veg values”,另一个用于变量“veg-2-values”。然后它调用程序“color veg”,该程序根据“veg values”的值为面片着色。然后,它会立即调用程序,根据“veg-2-values”的值为贴片着色


这意味着在程序结束时,贴片将由“veg-2-values”值着色。修补程序有两个变量,但“veg-2-values”是用于为其着色的变量。

首先使用veg-values的值设置修补程序的颜色,然后立即使用基于变量veg-2-values的颜色覆盖它。您想使用哪个变量设置面片颜色?对不起,我不太理解您的建议。请你解释清楚好吗?我想用.ascii(即veg和veg-2)为这两个文件着色,为此我创建了两个变量一个veg值​​用于veg,另一个变量(veg-2-values)用于veg-2。你明白吗?非常感谢您的帮助:)我可以使用veg值来设置面片颜色。如果我使用veg值,我是否需要编写ask补丁[设置pcolor veg值]?@JenB抱歉,我不太理解你的建议。请你解释清楚好吗?非常感谢你。已解决!:)