This chapter contains descriptions of the geometry-related PL/SQL subprograms in the SDO_GEOM package, which can be grouped into the following categories:
Relationship (True/False) between two objects: RELATE, WITHIN_DISTANCE
Validation: VALIDATE_GEOMETRY_WITH_CONTEXT, VALIDATE_LAYER_WITH_CONTEXT, SDO_SELF_UNION
Single-object operations: SDO_ALPHA_SHAPE, SDO_ARC_DENSIFY, SDO_AREA, SDO_BUFFER, SDO_CENTROID, SDO_CONVEXHULL, SDO_CONCAVEHULL, SDO_CONCAVEHULL_BOUNDARY, SDO_DIAMETER, SDO_DIAMETER_LINE, SDO_LENGTH, SDO_MBC, SDO_MBC_CENTER, SDO_MBC_RADIUS, SDO_MAX_MBR_ORDINATE, SDO_MIN_MBR_ORDINATE, SDO_MBR, SDO_POINTONSURFACE, SDO_TRIANGULATE, SDO_VOLUME, SDO_WIDTH, SDO_WIDTH_LINE
Two-object operations: SDO_CLOSEST_POINTS, SDO_DISTANCE, SDO_DIFFERENCE, SDO_INTERSECTION, SDO_MAXDISTANCE, SDO_MAXDISTANCE_LINE, SDO_UNION, SDO_XOR
The geometry subprograms are listed Table 23-1, and some usage information follows the table.
Table 23-1 Geometry Subprograms
Subprogram | Description |
---|---|
Determines how two objects interact. |
|
Returns the alpha shape geometry of the input geometry, based on a specified radius value. |
|
Changes each circular arc into an approximation consisting of straight lines, and each circle into a polygon consisting of a series of straight lines that approximate the circle. |
|
Computes the area of a two-dimensional polygon. |
|
Generates a buffer polygon around or inside a geometry. |
|
Returns the centroid of a polygon. |
|
Computes the minimum distance between two geometries and the points (one on each geometry) that are the minimum distance apart. |
|
Returns a polygon-type object that represents the concave hull of a geometry object. |
|
Returns a polygon-type object that represents the concave hull of a geometry object, based on boundary points rather than the alpha shape. |
|
Returns a polygon-type object that represents the convex hull of a geometry object. |
|
Returns the length of the diameter of a geometry object. |
|
Returns a geometry object that is the topological difference (MINUS operation) of two geometry objects. |
|
Computes the minimum distance between two geometry objects. |
|
Returns a geometry object that is the topological intersection (AND operation) of two geometry objects. |
|
Computes the length or perimeter of a geometry. |
|
Returns the maximum value for the specified ordinate (dimension) of the minimum bounding rectangle of a geometry object. |
|
Computes the maximum distance between two geometry objects. |
|
Returns the minimum bounding circle of a geometry. |
|
Returns the center of the minimum bounding rectangle of a geometry. |
|
Returns the length of the radius of the minimum bounding rectangle of a geometry. |
|
Returns the minimum bounding rectangle of a geometry. |
|
Returns the minimum value for the specified ordinate (dimension) of the minimum bounding rectangle of a geometry object. |
|
Returns a point that is guaranteed to be on the surface of a polygon. |
|
Returns a valid geometry object that is the topological self union of one geometry object, which can be invalid. |
|
Returns a collection of triangles resulting from Delaunay triangulation of the input geometry. |
|
Returns a geometry object that is the topological union (OR operation) of two geometry objects. |
|
Computes the volume of a three-dimensional solid geometry. |
|
Returns a geometry object that is the topological symmetric difference (XOR operation) of two geometry objects. |
|
Determines if a geometry is valid, and returns context information if the geometry is invalid. |
|
Determines if all geometries stored in a column are valid, and returns context information about any invalid geometries. |
|
Determines if two geometries are within a specified distance from one another. |
The following usage information applies to the geometry subprograms. (See also the Usage Notes under the reference information for each subprogram.)
Certain combinations of input parameters and operations can return a null value, that is, an empty geometry. For example, requesting the intersection of two disjoint geometry objects returns a null value.
A null value (empty geometry) as an input parameter to a geometry function (for example, SDO_GEOM.RELATE) produces an error.
Certain operations can return a geometry of a different type than one or both input geometries. For example, the intersection of a line and an overlapping polygon returns a line; the intersection of two lines returns a point; and the intersection of two tangent polygons returns a line.
SDO_GEOM subprograms are supported for two-dimensional geometries only, except for the following, which are supported for both two-dimensional and three-dimensional geometries:
SDO_GEOM.RELATE with (A) the ANYINTERACT mask, or (B) the INSIDE mask (3D support for solid geometries only)