ジオフェンス:ポイントや形状は、Oracleの空間を使って多角形の内部にある場合はどのように見つけますか
-
25-09-2019 - |
質問
ポイントまたはポリゴンが他のポリゴンの内部にある場合は、
どのように私は、空間的な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'
私は特にこのための正しい構文を覚えていないと、上記のすべてで正常に動作する加入ならば、私は知らないとしてあなたは私を許しする必要があります。これはしかし正しい方向にあなたを指すように十分なはずです。
所属していません StackOverflow