ST_NumGeometries

Definition

ST_NumGeometries akzeptiert eine Geometriesammlung und gibt die Anzahl der in der Sammlung enthaltenen Geometrien zurück.

Syntax

Oracle

sde.st_numgeometries (multipoint1 sde.st_geometry)
sde.st_numgeometries (multiline1 sde.st_geometry)
sde.st_numgeometries (multipolygon1 sde.st_geometry)

PostgreSQL

sde.st_numgeometries (geometry1 sde.st_geomcollection)

SQLite

st_numgeometries (geometry1 geometryblob)

Rückgabetyp

Ganzzahl

Beispiel

Im folgenden Beispiel wird eine Tabelle mit dem Namen "sample_numgeom" erstellt. In diese Tabelle werden ein Multipolygon und ein Multipoint eingefügt. In der SELECT-Anweisung dient die Funktion "ST_NumGeometries" zur Bestimmung der Anzahl der Geometrien (oder Features) in jeder Geometrie.

Oracle

CREATE TABLE sample_numgeom (
 id integer,
 geometry sde.st_geometry
);

INSERT INTO SAMPLE_NUMGEOM VALUES (
 1,
 sde.st_multipolygon ('multipolygon (((3 3, 4 6, 5 3, 3 3), (8 24, 9 25, 1 28, 8 24), (13 33, 7 36, 1 40, 10 43, 13 33)))', 4326)
);

INSERT INTO SAMPLE_NUMGEOM VALUES (
 2,
 sde.st_multipoint ('multipoint (1 2, 4 3, 5 6, 7 6, 8 8)', 4326)
);

SELECT id, sde.st_numgeometries (geometry) NUM_GEOMS_IN_COLL
 FROM SAMPLE_NUMGEOM;

ID          NUM_GEOMS_IN_COLL

  1                 3
  2                 5

PostgreSQL

CREATE TABLE sample_numgeom (
 id integer,
 geometry sde.st_geometry
);

INSERT INTO sample_numgeom VALUES (
 1,
 sde.st_multipolygon ('multipolygon (((3 3, 4 6, 5 3, 3 3), (8 24, 9 25, 1 28, 8 24), (13 33, 7 36, 1 40, 10 43, 13 33)))', 4326)
);

INSERT INTO sample_numgeom VALUES (
 2,
 sde.st_multipoint ('multipoint (1 2, 4 3, 5 6, 7 6, 8 8)', 4326)
);

SELECT id, sde.st_numgeometries (geometry) 
 AS "number of geometries"
 FROM sample_numgeom;

id          number of geometries

  1                 3
  2                 5

SQLite

CREATE TABLE sample_numgeom (
 id integer
);

SELECT AddGeometryColumn(
 NULL,
 'sample_numgeom',
 'geometry',
 4326,
 'geometry',
 'xy',
 'null'
);

INSERT INTO sample_numgeom VALUES (
 1,
 st_multipolygon ('multipolygon (((3 3, 4 6, 5 3, 3 3), (8 24, 9 25, 1 28, 8 24), (13 33, 7 36, 1 40, 10 43, 13 33)))', 4326)
);

INSERT INTO sample_numgeom VALUES (
 2,
 st_multipoint ('multipoint (1 2, 4 3, 5 6, 7 6, 8 8)', 4326)
);

SELECT id, st_numgeometries (geometry) 
 AS "number of geometries"
 FROM sample_numgeom;

id          number of geometries

  1                 3
  2                 5

Verwandte Themen

5/10/2014