1 FUNCTION OGC_Area(
2 s ST_Geometry)
3 RETURN NUMBER DETERMINISTIC IS
4 BEGIN
5 IF(nls_upper(OGC_GeometryType(s)) IN ('POLYGON', 'ST_POLYGON')) THEN
6 RETURN TREAT(s AS ST_Surface).ST_Area();
7 END IF;
8 IF(nls_upper(OGC_GeometryType(s)) IN ('MULTIPOLYGON', 'ST_MULTIPOLYGON')) THEN
9 RETURN TREAT(s AS ST_MultiSurface).ST_Area();
10 END IF;
11 RETURN NULL;
12 END OGC_Area;