PostGIS - 合并缓冲不同组中的几何体(交叉时)

时间:2016-02-10 00:20:39

标签: sql postgresql geometry postgis qgis

我在此表中存储了一些几何图形(140k)

  

CREATE TABLE缓冲区(pk整数NOT NULL,geom geometry(MultiPolygon,4326),)

- buffers geometries from table "buffers" -

我想创建(如果可能的话)一个新表(buffersmerged),它将包含预览分组的结果几何,只要它们相交之间彼此。

我的预期输出,就像在QGIS中使用Buffer(s)工具检查"溶解缓冲结果",但我想,而不仅仅是一个很大的独特几何作为输出,更小组(每组交叉几何一组)

- this is the expected result -

你能帮我理解如何构建一个允许我这样做的查询? (Postgres + PostGIS启用) 谢谢

斯特凡诺

1 个答案:

答案 0 :(得分:1)

您是否也需要这些属性?

如果没有,这个查询应该完成这项工作:

CREATE TABLE buffersmerged AS 
SELECT (ST_dump(ST_union(a.geom))).geom 
FROM buffers a, buffers b 
WHERE ST_intersects(a.geom,b.geom) AND a.id != b.id;