2011-01-05 3 views
4

를 사용하여 다각형 내부 시나리오 인 경우 어떻게 찾을 수;지리적 울타리 : 점이나 모양이 난 지점하면 찾거나 다각형 오라클 공간 SQL 쿼리 여기</p> <p>를 사용하여 다른 다각형 내부에 어떻게 공간 오라클

다각형 (상태)의 공간 유형 (sdo_geometry)을 포함하는 테이블 (STATE_TABLE)이 있으며 공간 데이터 (sdo_geometry) (점/다각형)가 포함 된 다른 테이블 (UNIVERSITY_TABLE)이 있습니다. 대학이 포함되어 있습니다.

이제 SQL select 문을 사용하여 선택한 대학 (들)이 주어진 주에 있는지 어떻게 알 수 있습니까?

주로 나는 지오 펜스에 주어진 객체의 존재를 찾고 싶습니다.

감사합니다. 당신의 마스크 SDO_CONTAINS 또는 SDO_RELATE를 사용하도록 필요 해요

답변

6

또는

SDO_RELATE에 대한

SDO_CONTAINS http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11830/sdo_operat.htm#sthref1064에있는 설명서를 참조하십시오 'CONTAINS' http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11830/sdo_operat.htm#i78531

어느 쪽이든 당신은 다음과 같은 것을 할 거라고 이들 중 하나 (가정하여 공간 정보는 공간 인덱스입니다 'GEOM'라는 칼럼에 포함되어 있습니다) :

select 
    ST.NAME, UT.UNIVERSITY_NAME 
from 
    STATE_TABLE ST 
    INNER JOIN UNIVERSITY_TABLE UT 
     ON SDO_CONTAINS(ST.GEOM, UT.GEOM) = 'TRUE' 

당신은 내가 돈으로 용서해야합니다 특별히이 구문을 기억하고 있으며 위의 조인이 제대로 작동하는지 모릅니다. 이것은 올바른 방향으로 당신을 가리키기에 충분해야합니다.

+0

데이브! 귀하의 회신에 감사드립니다. 그것은 분명히 내가 문제를 해결하기 위해 노력해야 방향을 포장했다. 다른 문제를 해결할 때와 마찬가지로 구현 시간이 필요했습니다. 곧 응답 할 것입니다. – Abdul

+0

다행입니다. 어제 밤 늦게 일어나서 이것을 보았습니다. –

+0

이것에 관한 쪽지는이 작업이 실제로 무엇을하는지에 대해 다소 모호했다 (또는 적어도 내 해석이 있음). 그러나 SDO_CONTAINS (A, B)가 B는 A에 포함되어 있습니다. 대학 기하학이 국가 경계에 닿거나 초과 할 때와 같은 국경 사례와 관련된 문제가 발생할 수 있습니다. 이를 위해서는 filter 또는 mask 매개 변수에서 다른 옵션을 사용하여 SDO_RELATE를 사용해야 할 수도 있습니다. –