2017-04-22 1 views
0

주요 원과 교차하지 않고 중심 원을 그 원과 교차하는 가운데에있는 모든 원을 찾는 명확한 방법이 있습니까?중앙 원을 중심으로하는 모든 원을 찾는 방법

enter image description here

+0

기하학적 유형 원 또는 Postgis 유형 CircularString 또는 CurvePolygon을 의미합니까? 이것은 아마도 [dba.se]와 더 잘 어울립니다. 깃발을 달아 중재자에게 이동하도록 요청할 수 있습니다. –

답변

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); 

- 또는

SELECT 
    x AS r_value, 
    circle('0,0', x) @> center(circle('2,3', 1)) AS contains 
FROM generate_series(1,5) AS gs(x); 

들이 circle('2,3',1)의 중심 유무 [1,5] 반경의 원점에 중심이 함께 무차별 테스트 원

.

자세한 내용은 geometry functions의 문서를 참조하십시오.

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'; 
관련 문제