滑块来更改gis数据

时间:2018-04-19 09:16:14

标签: gis netlogo

我目前有一个由四个shp文件组成的数据集 - 最低温度,最高温度,平均温度和降水量 - 用于文件的每个坐标。我试图解决的问题要求我应该能够在运行模型时动态更改这些变量。我正在考虑使用滑块,但我不确定是否可以使用滑块来更改shapefile值,我也在网上进行了一些研究,并且没有发现任何人试图解决这个问题。 是否有可能做我想做的事情?

感谢。

1 个答案:

答案 0 :(得分:1)

好的,在您的setup代码中,您可以读取GIS数据并为每个补丁分配四个属性。假设这些变量称为min-temp,max-temp,mean-temp和precipitation。所以你在顶部有一些像这样的代码:

patches-own
[ min-temp
  max-temp
  mean-temp
  precipitation
]

您可以创建额外的变量 - 因此请用以下内容替换:

patches-own
[ min-temp-GIS
  max-temp-GIS
  mean-temp-GIS
  precipitation-GIS
  min-temp
  max-temp
  mean-temp
  precipitation
]

将GIS数据集中的值分配给前四个变量。创建滑块(例如max-temp-factor)并将以下内容添加到设置代码中。

to setup
  ... <all the code to import the values>
  ask patches
  [ set max-temp max-temp-GIS * max-temp-factor
    ... <same for other three variables>
  ]
  ...
end

现在补丁有两个值,你的滑块只是一个乘数(或者可以从-10到+10并加上温度等),这样你就可以有类似的场景,如果有20个怎么办? %降低%&#39;或者&#39;如果最高温度高出10度怎么办?对于&#39;添加&#39;,滑块上的默认值为0。因素和1乘以&#39;乘数&#39;因素。

如果您想在模拟过程中更改值(因此第一年的温度正常但随后会升高),那么您需要在{{1}的开头执行ask patches [set max-temp max-temp-GIS * max-temp-factor]代码} step,以便每个go计算这些变量。