ST_NumPoints
Definition
ST_NumPoints gibt die Anzahl von Punkten (Stützpunkten) in einem ST_Geometry-Objekt zurück.
Bei Polygonen werden sowohl die Anfangs- und Endstützpunkte gezählt, obwohl sie sich an derselben Position befinden.
Beachten Sie, dass sich diese Anzahl vom Attribut NUMPTS des Typs ST_Geometry unterscheidet. Das Attribut NUMPTS enthält die Anzahl der Stützpunkte in allen Teilen der Geometrie, einschließlich der Trennzeichen zwischen Teilen. Es gibt einen Trennzeichen zwischen jedem Teil. Beispielsweise verfügt ein mehrteiliger Linestring mit drei Teilen über zwei Trennzeichen. Im Attribut NUMPTS wird jedes Trennzeichen als Stützpunkt gezählt. Die Funktion ST_NumPoints berücksichtigt dagegen die Trennzeichen nicht in der Anzahl der Stützpunkte.
Syntax
sde.st_numpoints (g1 sde.st_geometry)
Rückgabetyp
Ganzzahl
Beispiel
Die Tabelle "numpoints_test" wird mit der Spalte "geotype" erstellt, in der der ST_Geometry-Typ gespeichert ist, die in der Spalte "g1" enthalten ist.
Mit der INSERT-Anweisung werden ein Punkt, ein Linestrings und ein Polygon in die Tabelle eingefügt.
Oracle
CREATE TABLE numpoints_test (geotype varchar(12), g1 sde.st_geometry); INSERT INTO NUMPOINTS_TEST VALUES ( 'point', sde.st_pointfromtext ('point (10.02 20.01)', 0) ); INSERT INTO NUMPOINTS_TEST VALUES ( 'linestring', sde.st_linefromtext ('linestring (10.02 20.01, 23.73 21.92)', 0) ); INSERT INTO NUMPOINTS_TEST VALUES ( 'polygon', sde.st_polyfromtext ('polygon ((10.02 20.01, 23.73 21.92, 24.51 12.98, 11.64 13.42, 10.02 20.01))', 0) );
PostgreSQL
CREATE TABLE numpoints_test (geotype varchar(12), g1 sde.st_geometry); INSERT INTO numpoints_test VALUES ( 'point', sde.st_point ('point (10.02 20.01)', 0) ); INSERT INTO numpoints_test VALUES ( 'linestring', sde.st_linestring ('linestring (10.02 20.01, 23.73 21.92)', 0) ); INSERT INTO numpoints_test VALUES ( 'polygon', sde.st_polygon ('polygon ((10.02 20.01, 23.73 21.92, 24.51 12.98, 11.64 13.42, 10.02 20.01))', 0) );
Mit der Abfrage werden der Geometrietyp und die Anzahl der Punkte jedes Features aufgelistet.
Oracle
SELECT geotype, sde.st_numpoints (g1) Number_of_points FROM NUMPOINTS_TEST; GEOTYPE Number_of_points point 1 linestring 2 polygon 5
PostgreSQL
SELECT geotype, sde.st_numpoints (g1) AS Number_of_points FROM numpoints_test; geotype number_of_points point 1 linestring 2 polygon 5