2.6 Point Cloud-Related Object Types

This topic describes the following object types related to support for point clouds.

Note:

Point cloud object types are not supported in Oracle Autonomous Database Serverless deployments.

2.6.1 SDO_PC Object Type

The description of a point cloud is stored in a single row, in a single column of object type SDO_PC in a user-defined table. The object type SDO_PC is defined as:

CREATE TYPE sdo_pc AS OBJECT
  (base_table         VARCHAR2(70),
   base_table_col     VARCHAR2(1024),
   pc_id              NUMBER.
   blk_table          VARCHAR2(70),
   ptn_params         VARCHAR2(1024),
   pc_extent          SDO_GEOMETRY,
   pc_tol             NUMBER,
   pc_tot_dimensions  NUMBER,
   pc_domain          SDO_ORGSCL_TYPE,
   pc_val_attr_tables SDO_STRING_ARRAY,
   pc_other_attrs     XMLTYPE);

The SDO_PC type has the attributes shown in Table 2-8.

Table 2-8 SDO_PC Type Attributes

Attribute Explanation

BASE_TABLE

Name of the base table containing a column of type SDO_PC

BASE_TABLE_COL

Name of the column of type SDO_PC in the base table

PC_ID

ID number for the point cloud. (This unique ID number is generated by Spatial. It is unique within the schema for base tables containing a column of type SDO_PC.)

BLK_TABLE

Name of the table that contains information about each block in the point cloud. This table contains the columns shown in Table 2-9.

PTN_PARAMS

Parameters for partitioning the point cloud

PC_EXTENT

SDO_GEOMETRY object representing the spatial extent of the point cloud (the minimum bounding object enclosing all objects in the point cloud)

PC_TOL

Tolerance value for points in the point cloud. (For information about spatial tolerance, see Tolerance.)

PC_TOT_DIMENSIONS

Total number of dimensions in the point cloud. Includes spatial dimensions and any nonspatial dimensions, up to a maximum total of 9.

PC_DOMAINS

(Not currently used.)

PC_VAL_ATTR_TABLES

SDO_STRING_ARRAY object specifying the names of any value attribute tables for the point cloud. Type SDO_STRING_ARRAY is defined as VARRAY(1048576) OF VARCHAR2(32).

PC_OTHER_ATTRS

XMLTYPE object specifying any other attributes of the point cloud. (For more information, see the Usage Notes for the SDO_PC_PKG.INIT function.)

The point cloud block table (specified in the BLK_TABLE attribute of the SDO_PC type) contains the columns shown in Table 2-9.

Table 2-9 Columns in the Point Cloud Block Table

Column Name Data Type Purpose

OBJ_ID

NUMBER

ID number of the point cloud object.

BLK_ID

NUMBER

ID number of the block.

BLK_EXTENT

SDO_GEOMETRY

Spatial extent of the block.

BLK_DOMAIN

SDO_ORGSCL_TYPE

(Not currently used.)

PCBLK_MIN_RES

NUMBER

For point cloud data, the minimum resolution level at which the block is visible in a query. The block is retrieved only if the query window intersects the spatial extent of the block and if the minimum - maximum resolution interval of the block intersects the minimum - maximum resolution interval of the query. Usually, lower values mean farther from the view point, and higher values mean closer to the view point.

PCBLK_MAX_RES

NUMBER

For point cloud data, the maximum resolution level at which the block is visible in a query. The block is retrieved only if the query window intersects the spatial extent of the block and if the minimum - maximum resolution interval of the block intersects the minimum - maximum resolution interval of the query. Usually, lower values mean farther from the view point, and higher values mean closer to the view point.

NUM_POINTS

NUMBER

For point cloud data, the total number of points in the POINTS BLOB

NUM_UNSORTED_POINTS

NUMBER

For point cloud data, the number of unsorted points in the POINTS BLOB

PT_SORT_DIM

NUMBER

Number of the dimension (1 for the first dimension, 2 for the second dimension, and so on) on which the points are sorted.

POINTS

BLOB

BLOB containing the points. Consists of an array of points, with the following information for each point:

  • d 8-byte IEEE doubles, where d is the PC_TOT_DIMENSIONS value

  • 4-byte big-endian integer for the BLK_ID value

  • 4-byte big-endian integer for the PT_ID value

You can use an attribute name in a query on an object of SDO_PC. Example 2-7 shows part of a SELECT statement that queries the PC_EXTENT attribute of the OCEAN_FLOOR column of a hypothetical OCEAN_FLOOR_MODEL table.

Example 2-7 SDO_PC Attribute in a Query

SELECT o.ocean_floor.pc_extent FROM ocean_floor_model o WHERE ...;

2.6.2 SDO_PC_BLK_TYPE and SDO_PC_BLK Object Type

When you perform a clip operation using the SDO_PC_PKG.CLIP_PC function, an object of SDO_PC_BLK_TYPE is returned, which is defined as TABLE OF SDO_PC_BLK.

The attributes of the SDO_PC_BLK object type are the same as the columns in the point cloud block table, which is described in Table 2-9 in SDO_PC Object Type.