ST_NumPoints

Definición

ST_NumPoints devuelve la cantidad de puntos (vértices) en una ST_Geometry.

Para los polígonos, los vértices de inicio y de fin se cuentan, aunque ocupan la misma ubicación.

Tenga en cuenta que este número es diferente que el atributo NUMPTS del tipo ST_Geometry. El atributo NUMPTS contiene un conteo de vértices en todas las partes de la geometría incluso los separadores que tienen lugar entre las partes. Hay un separador entre cada parte. Por ejemplo, una cadena de texto de líneas multiparte con tres partes tiene dos separadores. En el atributo NUMPTS, cada separador se cuenta como un vértice. Por el contrario, la función ST_NumPoints no incluye los separadores en el conteo de vértices.

Sintaxis

sde.st_numpoints (g1 sde.st_geometry)

Tipo de devolución

Entero

Ejemplo

La tabla numpoints_test se crea con la columna geotipo, que contiene el tipo ST_Geometry almacenado en la columna de geometría g1.

Las declaraciones INSERT para insertar un punto, una cadena de texto y un polígono.

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)
);

La consulta enumera el tipo de geometría y el número de puntos de cada entidad.

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

7/11/2012