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

前
次

28.2 SDO_SAM.AGGREGATES_FOR_LAYER

書式

SDO_SAM.AGGREGATES_FOR_LAYER(
     theme_name       IN VARCHAR2, 
     theme_colname    IN VARCHAR2, 
     aggr_type_string IN VARCHAR2, 
     aggr_col_string  IN VARCHAR2, 
     tablename        IN VARCHAR2, 
     colname          IN VARCHAR2, 
     dst_spec         IN VARCHAR2 DEFAULT NULL 
     ) RETURN SDO_REGAGGRSET;

説明

ジオメトリのレイヤーのテーマ集計を行います。

パラメータ

theme_name

テーマ表の名前を指定します。

theme_colname

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

aggr_type_string

1つ以上の数値を受け入れ、1つの数値を算出するOracle SQLの集計ファンクションを指定します(SUMMINMAXAVGなど)。

aggr_col_string

集計値の計算を行うtheme_nameの列名を指定します(「使用上の注意」を参照)。たとえば、POPULATION列を指定します。

tablename

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

colname

ジオメトリを格納するtablenameの列名を指定します。

dst_spec

距離バッファまたは考慮すべき最も近いジオメトリの数を指定する文字列を引用符で囲んで指定します。書式および意味については、この章に示すSDO_SAM.AGGREGATES_FOR_GEOMETRYファンクションの「使用上の注意」を参照してください。

使用上の注意

tablenameの各ジオメトリについて、このファンクションはtheme_name表のジオメトリを識別して、共通部分の比率を検出し、指定された集計にその比率を掛けて、tablenameの各ジオメトリの集計を行います。具体的には、theme_name表のすべての行について、次のファンクションの値を戻します。

aggr_type_string(aggr_col_string * proportional_area_of_intersection(geometry, theme_name.theme_colname))

このファンクションは、SDO_REGAGGRSET型のオブジェクトを戻します。SDO_REGAGGRSETオブジェクト型は、次のとおり定義されます。

TABLE OF SDO_REGAGGR

SDO_REGAGGRオブジェクト型は、次のとおり定義されます。

 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 REGION_ID                                          VARCHAR2(24)
 GEOMETRY                                           MDSYS.SDO_GEOMETRY
 AGGREGATE_VALUE                                    NUMBER

theme_colname列には、空間索引が定義されている必要があります。最適なパフォーマンスを得るには、この列に簡略化されたジオメトリを挿入します。

次の例では、TEST_TABという表のすべてのジオメトリについて、指定した点ジオメトリを中心に、半径3マイルの領域でテーマ集計を行います。この例では、国内の人口分布が均一であると仮定して、様々な国の円の面積の割合に基づき、各領域内の総人口を計算します。

SELECT a.aggregate_value FROM TABLE(sdo_sam.aggregates_for_layer(
  'GEOD_COUNTIES', 'GEOM', 'SUM', TOTPOP', TEST_TAB', 'GEOM'
    'distance=3 unit=mile')) a;