2.5 TIN-Related Object Types

This topic describes the object types related to support for triangulated irregular networks (TINs),

Note:

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

2.5.1 SDO_TIN Object Type

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

CREATE TYPE sdo_tin AS OBJECT
  (base_table          VARCHAR2(70),
   base_table_col      VARCHAR2(1024),
   tin_id              NUMBER.
   blk_table           VARCHAR2(70),
   ptn_params          VARCHAR2(1024),
   tin_extent          SDO_GEOMETRY,
   tin_tol             NUMBER,
   tin_tot_dimensions  NUMBER,
   tin_domain          SDO_ORGSCL_TYPE,
   tin_break_lines     SDO_GEOMETRY,
   tin_stop_lines      SDO_GEOMETRY,
   tin_void_rgns       SDO_GEOMETRY,
   tin_val_attr_tables SDO_STRING_ARRAY,
   tin_other_attrs     XMLTYPE);

The SDO_TIN type has the attributes shown in Table 2-6.

Table 2-6 SDO_TIN Type Attributes

Attribute Explanation

BASE_TABLE

Name of the base table containing a column of type SDO_TIN

BASE_TABLE_COL

Name of the column of type SDO_TIN in the base table

TIN_ID

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

BLK_TABLE

Name of the table that contains information about each block in the TIN. This table contains the columns shown in Table 2-7.

PTN_PARAMS

Parameters for partitioning the TIN

TIN_EXTENT

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

TIN_TOL

Tolerance value for objects in the TIN. (For information about spatial tolerance, see Tolerance.)

TIN_TOT_DIMENSIONS

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

TIN_DOMAIN

(Not currently used.)

TIN_BREAK_LINES

(Not currently used.)

TIN_STOP_LINES

(Not currently used.)

TIN_VOID_RGNS

(Not currently used.).

TIN_VAL_ATTR_TABLES

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

TIN_OTHER_ATTRS

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

Figure 2-2 shows the storage model for TIN data, in which the TIN block table (specified in the BLK_TABLE attribute of the SDO_TIN type) stores the blocks associated with the SDO_TIN object.

The TIN block table contains the columns shown in Table 2-7.

Table 2-7 Columns in the TIN Block Table

Column Name Data Type Purpose

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

For point cloud data, the number of spatial dimensions for the points (2 or 3)

POINTS

BLOB

For point cloud data, 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 point cloud total number of dimensions

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

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

TR_LVL

NUMBER

(Not currently used.)

TR_RES

NUMBER

(Not currently used.)

NUM_TRIANGLES

NUMBER

Number of triangles in the TRIANGLES BLOB.

TR_SORT_DIM

NUMBER

(Not currently used.)

TRIANGLES

BLOB

BLOB containing the triangles. Consists of an array of triangles for the block:

  • Each triangle is specified by three vertices.

  • Each vertex is specified by the pair (BLK_ID, PT_ID), with each value being a 4-byte big-endian integer.

For each BLOB in the POINTS column of the TIN block table:

  • The total size is (tdim+1)*8, where tdim is the total dimensionality of each block.

  • The total size should be less than 5 MB for Oracle Database Release 11.1.0.6 or earlier; it should be less than 12 MB for Oracle Database Release 11.1.0.7 or later.

You can use an attribute name in a query on an object of SDO_TIN. Example 2-6 shows part of a SELECT statement that queries the TIN_EXTENT attribute of the TERRAIN column of a hypothetical LANDSCAPES table.

Example 2-6 SDO_TIN Attribute in a Query

SELECT l.terrain.tin_extent FROM landscapes l WHERE ...;

2.5.2 SDO_TIN_BLK_TYPE and SDO_TIN_BLK Object Types

When you perform a clip operation using the SDO_TIN_PKG.CLIP_TIN function, an object of SDO_TIN_BLK_TYPE is returned, which is defined as TABLE OF SDO_TIN_BLK.

The attributes of the SDO_TIN_BLK object type are the same as the columns in the TIN block table, which is described in Table 2-7 in SDO_TIN_BLK_TYPE and SDO_TIN_BLK Object Types.