25.17 SDO_GEOM.SDO_LENGTH
Format
SDO_GEOM.SDO_LENGTH( geom IN SDO_GEOMETRY, dim IN SDO_DIM_ARRAY [, unit IN VARCHAR2] [, count_shared_edges IN NUMBER] ) RETURN NUMBER;
or
SDO_GEOM.SDO_LENGTH( geom IN SDO_GEOMETRY, tol IN NUMBER [, unit IN VARCHAR2] [, count_shared_edges IN NUMBER] ) RETURN NUMBER;
Description
Returns the length or perimeter of a geometry object.
Parameters
- geom
-
Geometry object.
- dim
-
Dimensional information array corresponding to
geom
, usually selected from one of the xxx_SDO_GEOM_METADATA views (described in Geometry Metadata Views). - tol
-
Tolerance value (see Tolerance).
- unit
-
Unit of measurement: a quoted string with
unit=
and an SDO_UNIT value from the MDSYS.SDO_DIST_UNITS table (for example, 'unit=KM'). See Unit of Measurement Support for more information about unit of measurement specification.If this parameter is not specified, the unit of measurement associated with the data is assumed. For geodetic data, the default unit of measurement is meters.
- count_shared_edges
-
For three-dimensional geometries only: the number of times to count the length of shared parts of edges if the input geometry contains any edges that are fully or partially shared. If specified, must be 1 (count each once) or 2 (count each twice). The default is 1.
This parameter is ignored for two-dimensional input geometries.
Usage Notes
If the input polygon contains one or more holes, this function calculates the perimeters of the exterior boundary and all holes. It returns the sum of all perimeters.
Examples
The following example returns the perimeters of geometry objects stored in the COLA_MARKETS table. The first statement returns the perimeters of all objects; the second returns just the perimeter of cola_a
. (The example uses the definitions and data from Simple Example: Inserting_ Indexing_ and Querying Spatial Data.)
-- Return the perimeters of all cola markets. SELECT c.name, SDO_GEOM.SDO_LENGTH(c.shape, m.diminfo) FROM cola_markets c, user_sdo_geom_metadata m WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'; NAME SDO_GEOM.SDO_LENGTH(C.SHAPE,M.DIMINFO) -------------------------------- -------------------------------------- cola_a 20 cola_b 17.1622777 cola_c 9.23606798 cola_d 12.5663706 -- Return the perimeter of just cola_a. SELECT c.name, SDO_GEOM.SDO_LENGTH(c.shape, m.diminfo) FROM cola_markets c, user_sdo_geom_metadata m WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE' AND c.name = 'cola_a'; NAME SDO_GEOM.SDO_LENGTH(C.SHAPE,M.DIMINFO) -------------------------------- -------------------------------------- cola_a 20
Related Topics
None.
Parent topic: SDO_GEOM Package (Geometry)