目前我有一个包含土壤数据的数据库。该土壤数据由其中有孔的多边形组成。例如,
我需要为点周围区域的数据选择最外环和所有内环。到目前为止,这是我的
select
。它选择点周围区域中的所有多边形(示例是纽约周围)。
WITH point AS (
SELECT ST_SetSRID(ST_MakePoint(-74.0060, 40.7128), 4326) AS geom
),
buffered_point AS (
SELECT ST_Buffer(geom, 1.0) AS geom
FROM point
)
SELECT s.geom AS geom
FROM soil s
JOIN buffered_point bp ON ST_Intersects(s.geom, bp.geom);
如何获得多边形中的所有内孔?
我尝试在
ST_Dump
的 ST_DumpRings
上使用 ST_InteriorRingN
、geom
、select
,但没有成功。
您可以 1) 使用
ST_DumpRings
(https://postgis.net/docs/ST_DumpRings.html) 并获取一组所有环,或者 2) 使用 ST_NumInteriorRings
() 查找内部环的数量https://postgis.net/docs/ST_NumInteriorRings.html)并迭代代码中的每一个。它应该非常简单 - 如果您需要更多帮助,请告诉我。