ST_IsClosed

Definición

ST_IsClosed toma un ST_LineString o ST_MultiLineString y devuelve 1 (Oracle) o t (PostgreSQL) si está cerrado; de lo contrario, devuelve 0 (Oracle) o f (PostgreSQL).

Sintaxis

sde.st_isclosed (ln1 sde.st_geometry) sde.st_isclosed (mln1 sde.st_geometry)

Tipo de devolución

Booleano

Ejemplos

Pruebas de una cadena de texto de líneas

La tabla closed_linestring se crea con una columna de cadena de texto de línea única.

CREATE TABLE closed_linestring (ln1 sde.st_geometry);

Las declaraciones INSERT insertan dos registros en la tabla closed_linestring. El primer registro no es una cadena de texto de líneas cerradas, mientras que la segunda lo es.

Oracle

INSERT INTO CLOSED_LINESTRING VALUES ( sde.st_linefromtext ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0) );  INSERT INTO CLOSED_LINESTRING VALUES ( sde.st_linefromtext ('linestring (10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01)', 0) );

PostgreSQL

INSERT INTO closed_linestring VALUES ( sde.st_linestring ('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)', 0) );  INSERT INTO closed_linestring VALUES ( sde.st_linestring ('linestring (10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01)', 0) );

La consulta devuelve los resultados de la función ST_IsClosed. La primera fila devuelve un 0 porque la cadena de texto de línea no está cerrado, mientras que la segunda fila devuelve un 1 porque la cadena de texto de línea es cerrada.

Oracle

SELECT sde.st_isclosed (ln1) Is_it_closed FROM CLOSED_LINESTRING;  Is_it_closed  0 1

PostgreSQL

SELECT sde.st_isclosed (ln1) AS Is_it_closed FROM closed_linestring;  is_it_closed  f t

Pruebas de una cadena de texto multilínea

La tabla closed_mlinestring se crea con una columna ST_MultiLineString única.

CREATE TABLE closed_mlinestring (mln1 sde.st_geometry);

Las declaraciones INSERT insertan un registro ST_MultiLineString que no está cerrado y otro que si.

INSERT INTO closed_mlinestring VALUES ( sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 10.32 23.98, 11.92 25.64), (9.55 23.75, 15.36 30.11))', 0) );  INSERT INTO closed_mlinestring VALUES ( sde.st_mlinefromtext ('multilinestring ((10.02 20.01, 11.92 35.64, 25.02 34.15, 19.15 33.94, 10.02 20.01), (51.71 21.73, 73.36 27.04, 71.52 32.87, 52.43 31.90, 51.71 21.73))', 0) );

La consulta enumera los resultados de la función ST_IsClosed. La primera fila devuelve 0 porque la cadena de texto multilínea no está cerrada. La segunda fila devuelve 1 porque la cadena de texto multilínea almacenada en la columna ln1 está cerrada. Una cadena de texto multilínea está cerrada si todos sus elementos de cadena de texto de línea están cerrados.

Oracle

SELECT sde.st_isclosed (mln1) Is_it_closed FROM CLOSED_MLINESTRING;  Is_it_closed  0 1

PostgreSQL

SELECT st_isclosed (mln1) AS Is_it_closed FROM closed_mlinestring;  is_it_closed  f t

7/11/2012