如何用Python在当前图层按相同ID合并多边形且不创建新图层
解决多边形合并后覆盖原图层的问题
核心方法:把
OUTPUT参数直接设为原图层的文件路径,替换掉TEMPORARY_OUTPUT,合并结果就会直接覆盖原图层。重要提醒:操作前一定要备份原数据,覆盖后无法恢复!修改后的代码示例:
processing.run("native:dissolve", { 'INPUT': 'D:\\shp.shp', # 原图层路径,注意反斜杠要转义 'FIELD': ['目标属性字段'], # 按该属性合并,多字段用列表格式如['字段A','字段B'] 'SEPARATE_DISJOINT': False, 'OUTPUT': 'D:\\shp.shp' # 指定原路径实现直接覆盖 })
- 补充说明:
- 如果不需要按属性合并,保持
FIELD为[]即可,会合并所有多边形 - 若原图层是QGIS已加载的图层,也可以用图层对象作为
INPUT,比如INPUT: iface.activeLayer(),OUTPUT依旧指向原文件路径
- 如果不需要按属性合并,保持
内容的提问来源于stack exchange,提问作者Veronica Ovakanyan
相关产品推荐
相关产品推荐

