DBA Data[Home] [Help]

FUNCTION: MDSYS.OGC_LENGTH

Source


1 FUNCTION OGC_Length(
2   g ST_Geometry) RETURN NUMBER DETERMINISTIC IS
3 BEGIN
4   IF(nls_upper(OGC_GeometryType(g)) IN ('LINESTRING', 'ST_CIRCULARSTRING', 'ST_COMPOUNDCURVE', 'ST_LINESTRING')) THEN
5     RETURN TREAT(g AS ST_Curve).ST_Length();
6   END IF;
7   IF(nls_upper(OGC_GeometryType(g)) IN ('MULTILINESTRING', 'ST_MULTILINESTRING')) THEN
8     RETURN TREAT(g AS ST_MultiCurve).ST_Length();
9   END IF;
10   RETURN NULL;
11 END OGC_Length;