我是靠谱客的博主 年轻朋友,最近开发中收集的这篇文章主要介绍FUTURES模型 | 6. pga 图斑生长算法模块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

此模块利用随机图斑生长算法(Patch-Growing Algorithm,PGA),以及基于场和对象的表示来模拟土地利用变化情况。PGA算法通过迭代选址和环境感知的区域生长机制,模拟从未发展到发展的变化。模拟每一步的变化将开发压力反馈给潜力子模型,从而影响下一步的地点适应性。

  • 图斑生长机制

  • 由以下三个步骤组成:
    • 首先,从可用的细胞中随机选择一个可能的种子,当seed_search参数为2时,使用蒙特卡罗方法对种子的概率值(基于潜力值)进行检验,如果种子不能生存,则选择新的潜力种子进行检验
    • 其次,使用4/8邻居法(由num_neighbors参数决定),搜索规则的PGA生长图斑,PGA根据细胞潜在的发展潜力和与种子点的距离来决定相邻细胞的发展可能性,其中距离可以由表征紧实性的参数compactness_mean和compactness_range决定。图斑的大小是通过从patch size文件中随机选择一个图斑大小并乘以discount_factor参数来确定的。为了确定图斑大小的最佳值,可以使用r.futures.calib模块来实现
    • 一旦细胞转化成已发展状态,就会一直保持该状态,PGA算法继续生成图斑直到人均土地需求参数(demand模块计算得出)被满足为止
  • 发展压力

发展压力是PGA图斑构建过程中衍生出来的动态空间变量,与潜力子模型相关。在PGA生长的每一次迭代中,POTENTIAL面将会随土地类型变化而被更新,新的潜力面会影响未来的土地发展。初始开发压力使用模块r.futures.devpressure计算,该模块的相同输入参数(gamma、scaling factor和n_dev_neighborhood)随后也被用作r.futures.pga的输入参数

  • 发展情况模拟

可以使用 incentive_power 参数,来探索涉及到鼓励填充(infill)和扩展(sprawl)的政策的场景,该参数使用一个幂函数来转换原有的潜力面的值,如下图所示

430bd358243c6700053b6aeb3f1bc329938.jpg

下图显示的是利用incentive 表格结合不同的幂函数转换得到的发展潜力面

f7778a833e004590dcd110f4e137372961d.jpg

从左到右依次是infill,status quo,sprawl的情形

此外,参数 constrain_weight (从0到1的栅格数据)允许包含 限制 某些区域开发的策略(例如新法规或费用)。将概率面简单地乘以constrain_weight值,这会导致在constrain_weight值小于1的区域的站点适宜性降低。

同样的,参数stimulus可以包含 鼓励 某个地区增长的政策,使用此参数可增加刺激值大于0的区域的站点适宜性,概率曲面由具有刺激s的初始概率p变换为p + s - p * s

  • 输出数据

模型模拟结束后,写入参数 output 指定的栅格数据文件中,如果指定了可选参数output_series,则额外的输出是每个步骤的一系列栅格地图。值为0的单元格表示初始为开发状态,值>= 1表示开发,并且值的大小表示该细胞是在哪一步被开发的,未发展的细胞值为-1。下图是模拟的部分结果:

3947cbf6e1a842295e5c7acd7ecd0051f77.jpg

对应的像元值图:

d46a20e43c222a5041789ccf32198ee7356.jpg

最后

以上就是年轻朋友为你收集整理的FUTURES模型 | 6. pga 图斑生长算法模块的全部内容,希望文章能够帮你解决FUTURES模型 | 6. pga 图斑生长算法模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部