- Catégories :
ST_NPOINTS , ST_NUMPOINTS¶
Renvoie le nombre de points dans un objet GEOGRAPHY ou GEOGRAPHY.
Syntaxe¶
ST_NPOINTS( <geography_or_geometry_expression> )
Arguments¶
geography_or_geometry_expression
L’argument doit être une expression de type GEOGRAPHY ou GEOMETRY.
Renvoie¶
Renvoie une valeur de type INTEGER.
Notes sur l’utilisation¶
Chaque boucle Polygone répertorie le point de départ deux fois (une fois comme début, une fois comme fin). ST_NPOINTS compte les deux occurrences. Par exemple, étant donné un polygone triangulaire, ST_NPOINTS renvoie 4, pas 3.
ST_NUMPOINTS est un alias pour ST_NPOINTS.
Note
Dans certains autres systèmes, ST_NUMPOINTS se comporte différemment de ST_NPOINTS et renvoie le nombre de points pour les objets LineString / MultiLineString uniquement.
Exemples¶
Exemples GEOGRAPHY¶
Cela montre le nombre de points dans un polygone simple.
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 | +----------------+
Exemples GEOMETRY¶
Les exemples suivants montrent comment utiliser la fonction ST_NPOINTS.
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)) | +---------------+-------------------------------------------------------------------------------------------------+