- Kategorien:
ST_NPOINTS , ST_NUMPOINTS¶
Returns the number of points in a GEOGRAPHY or GEOGRAPHY object.
Syntax¶
ST_NPOINTS( <geography_or_geometry_expression> )
Argumente¶
geography_or_geometry_expression
The argument must be an expression of type GEOGRAPHY or GEOMETRY.
Rückgabewerte¶
Gibt einen Wert vom Typ INTEGER zurück.
Nutzungshinweise¶
Jede Polygonschleife listet den Startpunkt zweimal auf (einmal als Start, einmal als Ende). ST_NPOINTS zählt beide Vorkommen. Bei einem dreieckigen Polygon gibt ST_NPOINTS beispielsweise 4 zurück, nicht 3.
ST_NUMPOINTS ist ein Alias für ST_NPOINTS.
Bemerkung
In einigen anderen Systemen verhält sich ST_NUMPOINTS anders als ST_NPOINTS und gibt nur die Anzahl der Punkte für LineString/MultiLineString-Objekte zurück.
Beispiele¶
GEOGRAPHY Examples¶
Dieses Beispiel zeigt die Anzahl der Punkte in einem einfachen Polygon an.
create table geospatial_table_01 (g1 GEOGRAPHY, g2 GEOGRAPHY); insert into geospatial_table_01 (g1, g2) values ('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0))', 'POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))');SELECT ST_NPOINTS(g1) FROM geospatial_table_01; +----------------+ | ST_NPOINTS(G1) | |----------------| | 5 | +----------------+
GEOMETRY Examples¶
The following example demonstrates how to use the ST_NPOINTS function.
CREATE OR REPLACE TABLE geometry_shapes (g GEOMETRY); INSERT INTO geometry_shapes VALUES ('POINT(66 12)'), ('MULTIPOINT((45 21), (12 54))'), ('LINESTRING(40 60, 50 50, 60 40)'), ('MULTILINESTRING((1 1, 32 17), (33 12, 73 49, 87.1 6.1))'), ('POLYGON((17 17, 17 30, 30 30, 30 17, 17 17))'), ('MULTIPOLYGON(((-10 0,0 10,10 0,-10 0)),((-10 40,10 40,0 20,-10 40)))'), ('GEOMETRYCOLLECTION(POLYGON((-10 0,0 10,10 0,-10 0)),LINESTRING(40 60, 50 50, 60 40), POINT(99 11))') ; SELECT ST_NPOINTS(g), ST_ASWKT(g) FROM geometry_shapes;+---------------+-------------------------------------------------------------------------------------------------+ | ST_NPOINTS(G) | ST_ASWKT(G) | |---------------+-------------------------------------------------------------------------------------------------| | 1 | POINT(66 12) | | 2 | MULTIPOINT((45 21),(12 54)) | | 3 | LINESTRING(40 60,50 50,60 40) | | 5 | MULTILINESTRING((1 1,32 17),(33 12,73 49,87.1 6.1)) | | 5 | POLYGON((17 17,17 30,30 30,30 17,17 17)) | | 8 | MULTIPOLYGON(((-10 0,0 10,10 0,-10 0)),((-10 40,10 40,0 20,-10 40))) | | 8 | GEOMETRYCOLLECTION(POLYGON((-10 0,0 10,10 0,-10 0)),LINESTRING(40 60,50 50,60 40),POINT(99 11)) | +---------------+-------------------------------------------------------------------------------------------------+