QGIS创建模型

QGIS创建模型

QGIS模型构建功能可以通过可视化的方法将多个工具组合在一起,从而通过定义工作流的方式创建地理处理模型。

模型可以被轻松复用,这样简化了重复且复杂的地理处理工作,节约人力、物力和时间成本。

业务分析

我这次的业务主要是几个图层之间的叠加空间分析并计算结果

这里以供地图层与业务图层叠加分析为例

打开模型构建器,添加矢量图层

(供地图层、业务图层)

image-20211205115632443

计算业务图层的图斑面积

使用字段计算器(单位亩)

($area*0.0015)

image-20211205121555059

计算供地和业务图层相交结果

image-20211205122246853

计算重叠图斑的融合面积

image-20211205122412182

  1. 计算业务图斑与供地图斑相交的各个部分面积

image-20211205123727907

  1. 按业务图斑的唯一id分类统计相交面积
sum("分割相交面积",group_by:="JCBH")

image-20211205123824212

  1. 按汇总统计后的面积进行融合

image-20211205123952350

  1. 按字段值连接属性(业务图层和融合后的数据)

image-20211205124108473

计算征地批文

image-20211205130606206

  1. 使用字段计算器计算征地批文
concatenate("PCWH",group_by:="JCBH",concatenator:=',')

image-20211205130654745

  1. 按唯一id融合供地批文

image-20211205130826332

  1. 按字段值连接属性(业务图层和融合后的数据)

image-20211205130929408

计算差异数据

image-20211205131129099

  1. 计算征地与业务数据差异数据

image-20211205131210430

  1. 按业务图层唯一id融合差异数据

image-20211205131251553

  1. 计算业务图层与供地差异面积

image-20211205131334083

  1. 按字段值连接属性(业务图层和融合后的数据)

image-20211205131350725

  1. 根据差异面积计算批文数据,如果存在差异则在后面添加null
CASE WHEN  not("供地批文1" is NULL) and not("供地差异面积" is NULL)  THEN concat( "供地批文1",',null') else "供地批文1" END

image-20211205131655110

计算供地的套合比

 ("融合分割相交面积" / "图斑面积") * 100

image-20211205131755524

使用字段计算器将套合比为null的值设置为0

CASE WHEN  "供地套合比1"  is  NULL  THEN 0 else "供地套合比1" END

image-20211205131911106

删除中间过程的字段,并导出结果

image-20211205131959200

image-20211205132009481

完整的模型

image-20211205132057260

猜你喜欢

转载自blog.csdn.net/qq_36213352/article/details/121728563
今日推荐