You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QGIS线图层追加相交多边形属性及模型设计器实现(非SQL方案)

解决线图层关联相交多边形属性的模型设计器实现方案

以下是完全基于QGIS图形化工具、无需SQL的实现步骤,可直接在模型设计器中串联配置:

步骤1:空间关联线与相交多边形

使用Join attributes by location工具:

  • 输入图层:选择你的线图层
  • 连接图层:选择你的多边形图层
  • 几何谓词:勾选「相交」
  • 连接类型:选择「保留所有记录(一对一或一对多)」——每条线会和所有相交的多边形生成对应记录
  • 输出:临时图层或指定路径的图层(模型中可设为临时输出)

步骤2:按线要素汇总多边形属性

使用Statistics by category工具,输入步骤1生成的图层:

  • 分类字段:选择线图层的唯一标识字段(如id_line,确保每条线有唯一值)
  • 要计算的字段:
    • 选择多边形的id_polygon字段,统计类型选「Concatenate(字符串连接)」,分隔符设为;
    • 选择多边形的name_polygon字段,统计类型同样选「Concatenate」,分隔符设为;
  • 输出:生成汇总表,每条线对应一行,包含拼接后的多边形id和name字符串

步骤3:将汇总属性关联回原线图层

使用Join attributes by field value工具:

  • 输入图层:原线图层
  • 连接图层:步骤2生成的汇总表
  • 输入图层字段:选择线的唯一标识字段(和步骤2的分类字段一致)
  • 连接图层字段:选择对应的分类字段(汇总表中会保留该字段)
  • 连接类型:选择「保留所有记录」

步骤4:合并属性为指定格式(可选)

如果需要将拼接后的id和name合并为id_polygon_1; name_polygon_1; id_polygon_2; name_polygon_2;……格式的单个字段,添加Field calculator工具:

  • 输入图层:步骤3关联后的线图层
  • 新建字段名:如polygon_attrs,字段类型选「字符串」,长度设足够大(如2000)
  • 表达式:
    array_to_string(
      array_zip(
        string_to_array("concatenated_id_polygon", '; '),
        string_to_array("concatenated_name_polygon", '; ')
      ),
      '; '
    )
    
    (注:concatenated_id_polygon和concatenated_name_polygon是步骤2汇总后生成的字段名,需根据实际工具输出调整)

模型设计器串联注意事项

  • 所有工具的输出可设为临时图层,模型运行后再按需保存最终结果
  • 确保线图层的唯一标识字段无重复值,否则汇总结果会出错
  • 若多边形属性较多,可在步骤2中添加更多字段的Concatenate统计,步骤4中对应扩展array_zip的参数

内容的提问来源于stack exchange,提问作者l0mbardit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:12:40