更改 gis 数据的滑块

保罗·塞尔吉奥

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

谢谢。

珍宝

好的,所以在您的setup代码中,您可以读取 GIS 数据并为每个补丁分配四个属性。假设这些变量被称为最小温度、最大温度、平均温度和降水。所以你在顶部有一些这样的代码:

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% 会怎样”或“如果最高温度高 10 度怎么办?滑块上的默认值对于“加法”因子为 0,对于“乘数”因子为 1。

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章