書式
SDO_UTIL.EXTRACT3D( geometry IN SDO_GEOMETRY, label IN VARCHAR2 ) RETURN SDO_GEOMETRY;
説明
3次元の入力ジオメトリの特定のサブセットを表現する3次元のジオメトリを戻します。
パラメータ
戻されるジオメトリの抽出元のジオメトリを指定します。3次元のジオメトリを指定する必要があります。
戻されるサブセット・ジオメトリを示す数字をカンマで区切った文字列で指定します。各数字は、入力ジオメトリ内のジオメトリ項目の相対位置を示します。次にlabel
文字列内の項目とその位置を示します。
pointID
: 点の番号
edgeID
: エッジの番号
ringID
: 輪の番号
polygonID
: ポリゴンの番号
csurfID
: 複合表面の番号
solidID
: ソリッドの番号
multiID
: マルチソリッドの番号
0 (ゼロ)の場合は項目が適用されません。また、適用されない末尾の項目は省略できます。たとえば、'0,2,1,4,1'
では、点の番号は適用されず、1番目の複合表面の4番目のポリゴンで、1番目の輪の2番目のエッジを指定します。
使用上の注意
このファンクションは、3次元のジオメトリにのみ適用されます。2次元のジオメトリについては、SDO_UTIL.EXTRACTファンクションを使用します。
このファンクションは、oracle.spatial.geometry.ElementExtractor
JavaクラスのgetElementByLabel
メソッド(Oracle Spatial and GraphのJava APIリファレンスを参照)を使用します。
例
次の例では、指定した3次元のジオメトリから、入力ジオメトリの複合表面1、ポリゴン4、輪1、エッジ2で構成されたサブセット・ジオメトリを抽出します。
SELECT SDO_UTIL.EXTRACT3D( SDO_GEOMETRY (3008,NULL,NULL , SDO_ELEM_INFO_ARRAY( 1,1007,1, 1,1006,6, 1,1003,1, 16,1003,1, 31,1003,1, 46,1003,1, 61,1003,1, 76,1003,1), SDO_ORDINATE_ARRAY( 1.0,0.0,-1.0, 1.0,1.0,-1.0, 1.0,1.0,1.0, 1.0,0.0,1.0, 1.0,0.0,-1.0, 1.0,0.0,1.0, 0.0,0.0,1.0, 0.0,0.0,-1.0, 1.0,0.0,-1.0, 1.0,0.0,1.0, 0.0,1.0,1.0, 0.0,1.0,-1.0, 0.0,0.0,-1.0, 0.0,0.0,1.0, 0.0,1.0,1.0, 1.0,1.0,-1.0, 0.0,1.0,-1.0, 0.0,1.0,1.0, 1.0,1.0,1.0, 1.0,1.0,-1.0, 1.0,1.0,1.0, 0.0,1.0,1.0, 0.0,0.0,1.0, 1.0,0.0,1.0, 1.0,1.0,1.0, 1.0,1.0,-1.0, 1.0,0.0,-1.0, 0.0,0.0,-1.0, 0.0,1.0,-1.0, 1.0,1.0,-1.0 ) ), '0,2,1,4,1') FROM DUAL; SDO_UTIL.EXTRACT3D(SDO_GEOMETRY(3008,NULL,NULL,SDO_ELEM_INFO_ARRAY(1,1007,1,1,10 -------------------------------------------------------------------------------- SDO_GEOMETRY(3002, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 2, 1), SDO_ORDINATE_ARRAY( 0, 1, -1, 0, 1, 1))
関連項目