35.17 SDO_UTIL.EXTRACT3D
Format
SDO_UTIL.EXTRACT3D( geometry IN SDO_GEOMETRY, label IN VARCHAR2 ) RETURN SDO_GEOMETRY;
Description
Returns the three-dimensional geometry that represents a specified subset of the input three-dimensional geometry.
Parameters
- geometry
-
Geometry from which to extract the geometry to be returned. Must be a three-dimensional geometry
- label
-
A comma-delimited string of numbers that identify the subset geometry to be returned. Each number identifies the relative position of a geometry item within the input geometry. The items and their positions within the
label
string are:-
pointID
: Point number -
edgeID
: Edge number -
ringID
: Ring number -
polygonID
: Polygon number -
csurfID
: Composite surface number -
solidID
: Solid number -
multiID
: Multisolid number
A value of 0 (zero) means that the item does not apply, and you can omit trailing items that do not apply. For example,
'0,2,1,4,1'
means that point number does not apply, and it specifies the second edge of the first ring of the fourth polygon of the first composite surface. -
Usage Notes
Note:
The SDO_UTIL.EXTRACT3D function is supported only if Oracle JVM is enabled on your Oracle Autonomous Database Serverless deployments. To enable Oracle JVM, see Use Oracle Java in Using Oracle Autonomous Database Serverless for more information.This function applies to three-dimensional geometries only. For two-dimensional geometries, use the SDO_UTIL.EXTRACT function.
This function uses the getElementByLabel
method of the oracle.spatial.geometry.ElementExtractor
Java class, which is described in Oracle Spatial Java API
Reference.
Examples
The following example extracts, from a specified three-dimensional geometry, the subset geometry consisting of the following: edge 2 of ring 1 of polygon 4 of composite surface 1 of the input geometry.
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))
Related Topics
Parent topic: SDO_UTIL Package (Utility)