PostGIS--在溶解的多边形上寻找总计数。

问题描述 投票:0回答:1

我设置了这个WITH查询来获取多边形重叠的地方的溶解多边形。 CREATE TABLE public.dissolve_intrsct AS ( WITH dissolved AS( SELECT ST_Union(pt.geom) as geom, count(geom) as buff_ct, count(pt.count) as intrsct_ct FROM public.intrsct_buff as pt ) SELECT (ST_DUMP(geom)).geom::geometry(POLYGON, 2263), intrsct_ct, buff_ct FROM dissolved);

我的输出结果是返回几何体(good),但同时也返回查询(59144)之前所有几何体的总计数,这两个几何体 intrsct_buffbuff_ct

enter image description here

我想查询返回为创建新的多边形而解散的多边形的数量。(例如,如果三个多边形重叠,在这个查询之后,我想得到 buff_ct 返回 3以及 intrsct_ct 只是返回我在 public.intrsct_buff)

count union postgis with-statement
1个回答
0
投票

我找到了需要做的事情。

在创建了这个表并添加了一个PRIMARY KEY后 ID,然后我用 ST_Intersects 找出我溶解的多边形与原始缓冲区的交点,并计算交点多边形的数量。

CREATE TABLE dissolve_ct AS(
SELECT ds.id, ds.geom, count(pt.geom) AS
buff_ct
FROM public.dissolve_intrsct as ds 
LEFT JOIN public.intrsct_buff as pt
ON ST_Intersects(ds.geom, pt.geom)
GROUP BY ds.id
    );

`

© www.soinside.com 2019 - 2024. All rights reserved.