我有一个多边形特征数据库,其中每个多边形都是由相同类型的较小的无缝多边形构成的。这些多边形中的每一个(由较小的多边形组成)有时也与另一个多边形特征相交,这些多边形特征也由它们自己的子多边形组成。

数据库中还有一组多段线。我的目标是将所有的多边形合并成一个,然后提取出所有这些折线,它们完全与大多边形。为此,我只想使用select查询。我已经尝试了下面的脚本,但我可以在这个脚本补丁中实现ST_Union。
> Select * From tbl.A a, tbl.b b where
> ST_Contains(a.geometry,b.geometry) and pol_id in ('1','2','3')上面返回每个多边形内部的折线,但不检索那些一半是深绿色多边形,一半是紫色多边形的折线。我确信ST_Union会在这方面提供帮助,但我不确定如何实现它。谢谢你的帮助。
发布于 2020-05-02 00:01:38
您可以使用CTE来建立“联合的”多边形:
WITH polygon AS (
SELECT ST_Union(polygon_table.geometry) from polygon_table
)
SELECT
*
FROM
linestring_table
JOIN
polygon ON ST_Contains(polygon.geometry, linestring_table.geometry)https://stackoverflow.com/questions/61541785
复制相似问题