2016-09-28 3 views
0

にアクセスすることができ、私はOracle Spatial operatorsを使用しようとすると、それはないOracle Spatialの演算子

ORA-13226をスロー:インタフェース空間インデックスなしでサポートされていません。

SDO_GEOMプロシージャでは正常に動作しますが、 例:

select * 
from test_sdo_geometry 
where SDO_GEOM.WITHIN_DISTANCE(sdo, 25, SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(151.16567373275757, -33.9031022157086, null), null, null), 0.05, 'unit=M')='TRUE' 
order by 1; 

しかし、Oracleオペレータでは、上記のエラーが発生します。

 select * 
from test_sdo_geometry 
where SDO_WITHIN_DISTANCE(SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(151.16567373275757, -33.9031022157086, null), null, null), SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(151.16567373275757, -33.9031022157086, null), null, null), 'distance=10 unit=M')='TRUE' 
order by 1;

答えて

0

Oracle 11g Documentationよるテーブルは空間インデックスを持っていない場合、またはクエリウィンドウの大きさの数はインデックスの作成時に指定された次元の数と一致しない場合は、オペレータが無効になっています。

1 /あなたはUSER_SDO_GEOM_METADATAという名前のメタデータ・ビューを更新する必要があります。

したがって、2つのステップがSDO_GEOM.WITHIN_DISTANCEを使用するために完了する必要があります。これは、空間インデックスを作成する前に必要です。例はSpatial Data Types and Metadataページにあります。

CREATE INDEX TEST_SDO_GEOMETRY_IDX ON TEST_SDO_GEOMETRY (SDO) 
INDEXTYPE IS MDSYS.SPATIAL_INDEX; 

2 /あなたはインデックス空間データのページのためのSQL文に与えられた命令以下「SDO」フィールドの空間インデックスを作成する必要があります

関連する問題