29.9 SDO_PC_PKG.GENERATE_CROSS_SECTION_AS_GEOMS

書式

SDO_PC_PKG.GENERATE_CROSS_SECTION_AS_GEOMS(
    pc_table             IN VARCHAR2,
    pc_column            IN VARCHAR2,
    id_column            IN VARCHAR2,
    id                   IN VARCHAR2,
    cross_section_line2d IN MDSYS.SDO_GEOMETRY,
    buffer               IN NUMBER,
    false_x              IN NUMBER,
    result_table_2d      IN VARCHAR2,
    result_table_2d_mp   IN VARCHAR2,
    result_table_3d      IN VARCHAR2
);

説明

3Dおよび垂直2D平面上の点群の断面を計算します。

パラメータ

pc_table

SDO_POINT_CLOUD列およびID列が定義されている表の名前。

pc_column

pc_tableパラメータに指定された表のSDO_POINT_CLOUDオブジェクトの列名。

id_column

pc_tableパラメータに指定された表のID列の列名。

id

ID値。

cross_section_line2d

垂直断面を表す2D線ストリング(2つの頂点のみ)。

buffer

SRIDの長さの単位でのバッファの幅。

false_x

2D表現の断面のSRIDにおける2D断面の開始点に割り当てられた値。

result_table_2d

2D表現の点セットの出力表名。

result_table_2d_mp

2D複数点表現の点セットの出力表名。

result_table_3d

3D表現の点セットの出力表名。

使用上のノート

SDO_PC_PKG.GENERATE_CROSS_SECTION_AS_GEOMSプロシージャは、cross_section_line2dパラメータ文字列を使用して入力点群をクリップし、結果の点セットを垂直面に投影します。断面に対して次の出力が生成されます。

  • xyの列がVAL_Diの垂直平面に設定されている2D点セット。座標参照システムは垂直面であると認識されるため、2D点セットには明示的なSRIDがありません。
  • また、断面は、点数が制限されている傾向があるため、平面に同じ2Dセットを持つ複数点として表すことができます。
  • 入力点群と同じ座標参照システムの3D点セット。3D点セットは、xyzの列VAL_Diを持つ単純な表に格納されます。

次の例では、点群の断面を次のように計算します。

CALL SDO_PC_PKG.generate_cross_section_as_geoms(
    pc_table             => 'PCS',
    pc_column            => 'PC',
    id_column            => 'ID',
    id                   => '12345',
    cross_section_line2d => mdsys.sdo_geometry(
                              2003,
                              27700,
                              null,
                              mdsys.sdo_elem_info_array(1, 2, 1),
                              mdsys.sdo_ordinate_array(
                                 1,  1,
                                10, 10)),
    buffer               => 0.5,
    false_x              => 100,
    result_table_2d      => 'CROSS_SECTION_2D',
    result_table_2d_mp   => 'CROSS_SECTION_2D_MP',
    result_table_3d      => 'CROSS_SECTION_3D');