プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

28.5 SDO_SAM.COLOCATED_REFERENCE_FEATURES

書式

SDO_SAM.COLOCATED_REFERENCE_FEATURES(
     theme_tablename  IN VARCHAR2, 
     theme_colname    IN VARCHAR2, 
     theme_predicate  IN VARCHAR2, 
     tablename        IN VARCHAR2, 
     colname          IN VARCHAR2, 
     ref_predicate    IN VARCHAR2, 
     dst_spec         IN VARCHAR2, 
     result_tablename IN VARCHAR2, 
     commit_interval  IN NUMBER DEFAULT 100);

説明

部分的な条件ベースの表の結合を実行し、結合の結果を表にマテリアライズします。

パラメータ

theme_tablename

tablenameを結合する表名を指定します。

theme_colname

theme_tablenameのジオメトリ列の名前を指定します。

theme_predicate

theme_tablenameに適用されるWHERE句の条件を指定します。

tablename

データ・マイニング表の名前を指定します。

colname

位置の座標を格納するtablenameの列名を指定します。

ref_predicate

tablenameに適用されるWHERE句の条件を指定します。ヌルまたは非ヌルの値である必要があります。ヌルの場合は条件が適用されません。非ヌルの場合、単一の表述語である必要があります。例: 'country_code=10'

dst_spec

ジオメトリの周りのバッファを、距離値および単位値(オプション)を含む文字列を引用符で囲んで指定します。書式および意味については、「使用上の注意」を参照してください。

result_tablename

マテリアライズした結合の結果を格納する表を指定します。この表が存在し、(tid NUMBER, rid1 VARCHAR2(24), rid2 VARCHAR2(24))と定義されている必要があります。

commit_interval

Spatial and Graphによって内部コミット操作が実行される前に行う内部結合操作の回数を指定します。commit_intervalを指定しない場合、コミットは内部結合操作を100回行うたびに実行されます。

使用上の注意

このプロシージャは、条件ベースの結合操作によって戻されるROWIDの各組合せをマテリアライズして、result_tablenamerid1、rid2列に格納します。tidは、各rid1値に対応して生成される一意の相互作用番号です。

dst_specパラメータは、distanceキーワードおよびオプションでunitキーワード(距離値に関連付けられた測定単位)を含み、引用符で囲んで指定します。これにより、ジオメトリの周りにバッファを指定します。たとえば、'distance=2 unit=km'は、入力ジオメトリの周りに2kmのバッファを指定します。dst_specを指定しない場合、バッファは使用されません。

unitキーワードを指定する場合、値はMDSYS.SDO_DIST_UNITS表のSDO_UNIT値('unit=KM'など)である必要があります。unitキーワードを指定しない場合、ジオメトリに関連付けられた測定単位が使用されます。測定単位の指定の詳細は、「測定単位のサポート」を参照してください。

次の例では、1990年の人口(POP90列の値)が120,000人を超え、州間高速道路からの距離(GEOD_INTERSTATES表のGEOM列)が20km以内である都市を識別します。結果はCOLOCATION_TABLEという表に格納され、内部操作を20回行うたびに内部コミット操作が実行されます。

EXECUTE SDO_SAM.COLOCATED_REFERENCE_FEATURES(
  'geod_cities', 'location', 'pop90 > 120000',
  'geod_interstates', 'geom', null,
  'distance=20 unit=km', 'colocation_table', 20);