答案 0 :(得分:0)
当然很简单。您需要使用@@
或center
来获取中心点,然后使用@>
来使用包含。
SELECT
x AS r_value,
circle('0,0', x) @> @@ circle('2,3', 1) AS contains
FROM generate_series(1,5) AS gs(x);
-OR -
SELECT
x AS r_value,
circle('0,0', x) @> center(circle('2,3', 1)) AS contains
FROM generate_series(1,5) AS gs(x);
此蛮力测试圆的中心位于原点,半径为[1,5]
,无论它们是否包含circle('2,3',1)
的中心。
有关详细信息,请参阅geometry functions上的文档。
答案 1 :(得分:0)
select * from circles a , circles b
where st_intersects(a.geom,st_centroid(b.geom))
此外,您可以通过在where子句中添加条件来过滤结果。我假设主圈名称。
select * from circles a , circles b
where st_intersects(a.geom,st_centroid(b.geom)) and a.circle_name = 'Main Circle';