在 Qgis 或 Postgres 中合并不相邻的多边形

Merge non-adjacent polygons in Qgis or Postgres

我正在使用 Qgis 和 PostgreSQL。但是我不知道如何将屏幕截图中不相邻的多边形合并到一条记录中?谁能帮我解决这个问题?

我希望将具有同一只猫的所有多边形合并到一条记录中。

请在此处查看屏幕截图:

谢谢

如果你想使用 Postgres,你需要使用 ST_Union

创建一个 SELECT
geometry ST_Union(geometry set g1field);

geometry ST_Union(geometry g1, geometry g2);

geometry ST_Union(geometry[] g1_array);

你可以尝试创建一个数组

Concatenate multiple rows in an array with SQL on PostgreSQL

我在我的状态表中尝试了这个并且工作正常

SELECT ST_Union(a_geom)
FROM  (SELECT  array_agg(e.geom) as a_geom 
       FROM mapas.estadosven_region e
      ) t

我又做了一次测试,看起来这个也可以工作

SELECT ID, ST_Union(geom) 
FROM test_dissolve_function t 
WHERE ST_isValid(geom)='t' 
GROUP BY ID;