ST_Dimension

Definition

ST_Dimension gibt die Dimension eines ST_Geometry-Objekts zurück.

Syntax

sde.st_dimension (g1 sde.st_geometry)

Rückgabetyp

Ganzzahl

Beispiel

Die Tabelle "dimension_test" wird mit den Spalten "geotype" und "g1" erstellt. In der Spalte "geotype" wird der Name der Subclass gespeichert, die in der Geometriespalte "g1" gespeichert ist.

Oracle

CREATE TABLE dimension_test (geotype varchar(20), g1 sde.st_geometry);

INSERT INTO DIMENSION_TEST VALUES (
'Point',
sde.st_pointfromtext ('point (10.02 20.01)', 0)
);

INSERT INTO DIMENSION_TEST VALUES (
'Linestring',
sde.st_linefromtext ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);

INSERT INTO DIMENSION_TEST VALUES (
'Polygon',
sde.st_polyfromtext ('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01))', 0)
);

INSERT INTO DIMENSION_TEST VALUES (
'Multipoint',
sde.st_mpointfromtext ('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);

INSERT INTO DIMENSION_TEST VALUES (
'Multilinestring',
sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0)
);

INSERT INTO DIMENSION_TEST VALUES (
'Multipolygon',
sde.st_mpolyfromtext ('multipolygon (((10.02 20.01, 11.92 35.64, 25.02 34.15,
19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04, 71.52 32.87,
52.43 31.90, 51.71 21.73)))', 0)
);

PostgreSQL

CREATE TABLE dimension_test (geotype varchar(20), g1 sde.st_geometry);

INSERT INTO dimension_test VALUES (
'Point',
sde.st_point ('point (10.02 20.01)', 0)
);

INSERT INTO dimension_test VALUES (
'Linestring',
sde.st_linestring ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);

INSERT INTO dimension_test VALUES (
'Polygon',
sde.st_polygon ('polygon ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01))', 0)
);

INSERT INTO dimension_test VALUES (
'Multipoint',
sde.st_multipoint ('multipoint (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0)
);

INSERT INTO dimension_test VALUES (
'Multilinestring',
sde.st_multilinestring ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0)
);

INSERT INTO dimension_test VALUES (
'Multipolygon',
sde.st_multipolygon ('multipolygon (((10.02 20.01, 11.92 35.64, 25.02 34.15,
19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04, 71.52 32.87,
52.43 31.90, 51.71 21.73)))', 0)
);

Mit der SELECT-Anweisung wird der Subclass-Name, der in der Spalte "geotype" gespeichert ist, und die Dimension dieses Geometrietyps aufgelistet.

Oracle

SELECT geotype, sde.st_dimension (g1) Dimension
FROM DIMENSION_TEST;

GEOTYPE                    Dimension

Point                       0
Linestring                  1
Polygon                     2
Multipoint                  0
Multilinestring             1
Multipolygon                2

PostgreSQL

SELECT geotype, sde.st_dimension (g1) 
AS Dimension
FROM dimension_test;

geotype                  dimension

Point                       0
Linestring                  1
Polygon                     2
Multipoint                  0
Multilinestring             1
Multipolygon                2

3/6/2012