ST_GeometryN

Definition

ST_GeometryN takes a collection and an integer index and returns the nth ST_Geometry object in the collection.

Syntax

sde.st_geometryn (mpt1 sde.st_multipoint, index integer)
sde.st_geometryn (mln1 sde.st_multilinestring, index integer)
sde.st_geometryn (mpl1 sde.st_multipolygon, index integer)

Return type

ST_Geometry

Example

In this example, a multipolygon is created. Then ST_GeometryN is used to list the second element of the multipolygon.

Oracle

CREATE TABLE districts (dist_id integer, shape sde.st_multipolygon);

INSERT INTO DISTRICTS (dist_id, shape) VALUES (
1,
sde.st_multipolygon ('multipolygon (((-1 -1, -1 11, 11 11, 11 -1, -1 -1),
(19 -1, 19 11, 29 9, 31 -1, 19 -1), (39 -1, 39 11, 51 11, 51 -1, 39 -1)))', 0)
);

SELECT sde.st_astext (sde.st_geometryn (shape, 2)) Second_Element
FROM DISTRICTS;

Second_Element

POLYGON  ((-1.00000000 -1.00000000, 11.00000000 -1.00000000, 11.0000000 0 11.000

PostgreSQL

CREATE TABLE districts (dist_id integer, shape sde.st_geometry);

INSERT INTO districts (dist_id, shape) VALUES (
1,
sde.st_multipolygon ('multipolygon (((-1 -1, -1 11, 11 11, 11 -1, -1 -1),
(19 -1, 19 11, 29 9, 31 -1, 19 -1), (39 -1, 39 11, 51 11, 51 -1, 39 -1)))', 0)
);

SELECT st_astext (sde.st_geometryn (shape, 2)) AS Second_Element
FROM districts;

Second_Element

POLYGON  ((39 -1, 51 -1, 51 11, 39 11, 39 -1))

11/18/2013