ジオフェンス:ポイントや形状は、Oracleの空間を使って多角形の内部にある場合はどのように見つけますか

StackOverflow https://stackoverflow.com/questions/4601202

質問

ポイントまたはポリゴンが他のポリゴンの内部にある場合は、

どのように私は、空間的なSQLクエリ

オラクルを使用して見つけるのですか

ここではシナリオがあります。

私は(と言う状態の)多角形である空間タイプ(SDO_GEOMETRY)を含むテーブル(STATE_TABLE)を有し、私が含まれ、空間データ(SDO_GEOMETRY)(ポイント/ポリゴン)を含む別のテーブル(UNIVERSITY_TABLE)を有します大学;

もし選択された大学(さん)今どのように私は見つけるかは、SQLのSELECT文を使用して、指定された状態になっている。

主に私は、ジオフェンスに指定されたオブジェクト(複数可)の存在を探したい。

感謝します。

役に立ちましたか?

解決

あなたはのマスクでSDO_CONTAINSまたはSDO_RELATEのいずれかを使用する必要性を「含む」つもりだ。

にあるドキュメントを参照してください。

SDO_CONTAINS http://download.oracle.com/docs /cd/E11882_01/appdev.112/e11830/sdo_operat.htm#sthref1064 のための

または

SDO_RELATE 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'
私は特にこのための正しい構文を覚えていないと、上記のすべてで正常に動作する加入ならば、私は知らないとして

あなたは私を許しする必要があります。これはしかし正しい方向にあなたを指すように十分なはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top