35.17 SDO_UTIL.EXTRACT3D
書式
SDO_UTIL.EXTRACT3D( geometry IN SDO_GEOMETRY, label IN VARCHAR2 ) RETURN SDO_GEOMETRY;
説明
3次元の入力ジオメトリの特定のサブセットを表現する3次元のジオメトリを戻します。
パラメータ
- geometry
-
戻されるジオメトリの抽出元のジオメトリを指定します。3次元のジオメトリを指定する必要があります。
- label
-
戻されるサブセット・ジオメトリを示す数字をカンマで区切った文字列で指定します。各数字は、入力ジオメトリ内のジオメトリ項目の相対位置を示します。次に
label
文字列内の項目とその位置を示します。-
pointID
: 点の番号 -
edgeID
: エッジの番号 -
ringID
: 輪の番号 -
polygonID
: ポリゴンの番号 -
csurfID
: 複合表面の番号 -
solidID
: ソリッドの番号 -
multiID
: マルチソリッドの番号
0 (ゼロ)の場合は項目が適用されません。また、適用されない末尾の項目は省略できます。たとえば、
'0,2,1,4,1'
では、点の番号は適用されず、1番目の複合表面の4番目のポリゴンで、1番目の輪の2番目のエッジを指定します。 -
使用上のノート
ノート:
SDO_UTIL.EXTRACT3Dファンクションは、Oracle Autonomous Databaseサーバーレス・デプロイメントでOracle JVMが有効になっている場合にのみサポートされます。Oracle JVMを有効にするには、Oracle Autonomous Databaseサーバーレスの使用のOracle Javaの使用で詳細を参照してください。このファンクションは、3次元のジオメトリにのみ適用されます。2次元のジオメトリについては、SDO_UTIL.EXTRACTファンクションを使用します。
このファンクションは、oracle.spatial.geometry.ElementExtractor
JavaクラスのgetElementByLabel
メソッドを使用します(Oracle Spatial 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))
関連トピック
親トピック: SDO_UTILパッケージ(ユーティリティ)